Maintain conversation context
To keep multi-turn conversations consistent, always include previous messages.
const conversation = [];
// First exchange
conversation.push({ role: 'user', content: 'What do you do for fun?' });
let response = await api.generate(personaId, conversation);
conversation.push({ role: 'assistant', content: response.result.finalReply });
// Second exchange - includes full history
conversation.push({ role: 'user', content: 'That sounds cool!' });
response = await api.generate(personaId, conversation);
Trim long conversations
For very long conversations, consider truncating older messages to reduce latency.
function trimConversation(messages, maxMessages = 20) {
if (messages.length <= maxMessages) return messages;
return messages.slice(-maxMessages);
}
Never expose API keys
Do not put API keys in client-side or public code.
Do not hardcode keys:
const response = await fetch(url, {
headers: {
'x-api-key': 'abc123...',
},
});
Use managed environment variables or secrets:
const response = await fetch(url, {
headers: {
'x-api-key': process.env.THINKFEEL_API_KEY,
},
});