Conceitos
Chat Memory
Sistema que armazena e gerencia o histórico de conversas para dar contexto às interações com modelos de linguagem.
Chat Memory
Chat Memory é um sistema que armazena e gerencia o histórico de conversas para dar contexto às interações com modelos de linguagem.
O que é Chat Memory?
Chat Memory é um mecanismo para manter o contexto conversacional, permitindo que sistemas de IA lembrem o que foi discutido anteriormente e mantenham coerência ao longo da conversa.
Como funciona
O diagrama abaixo ilustra o fluxo básico de uma conversa com memória:
Benefícios
- Contexto Contínuo: Mantém o fluxo natural da conversa
- Respostas Coerentes: Evita repetições e mantém consistência
- Experiência Natural: Simula melhor uma conversa humana real
Tipos de Memória
- Memória de Curto Prazo: Mantém contexto da conversa atual
- Memória de Longo Prazo: Armazena informações entre sessões
- Memória Seletiva: Filtra e prioriza informações relevantes
Importância
- Coerência: Mantém a IA ciente do fluxo da conversa
- Referências Indiretas: Permite resolver referências como "lá", "isso", "ele/ela"
- Personalização: Adapta respostas com base em informações prévias
- Experiência Natural: Cria conversas mais fluidas e humanas
Implementação Básica
A implementação mais simples de chat memory é uma lista de mensagens:
interface ChatMessage {
role: 'user' | 'assistant' | 'system';
content: string;
timestamp?: Date;
}
class SimpleChatMemory {
private messages: ChatMessage[] = [];
addMessage(message: ChatMessage): void {
this.messages.push({
...message,
timestamp: new Date()
});
}
getMessages(limit?: number): ChatMessage[] {
if (limit) {
return this.messages.slice(-limit);
}
return this.messages;
}
clear(): void {
this.messages = [];
}
}Armazenamento
As mensagens de chat podem ser armazenadas em:
- Redis: Para acesso rápido e TTL nativo
- MongoDB: Para histórico persistente
- Memória de Aplicação: Para sessões curtas
- Híbrido: Redis para acesso rápido + MongoDB para backup