Skip to main content

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,
  },
});