As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Práticas recomendadas
Gerenciamento do ciclo de vida da memória
Use TTL para memória de curto prazo — Defina valores de TTL apropriados nas entradas de memória para expirar automaticamente as informações transitórias. Para o contexto da sessão, use TTLs de 30 minutos a 24 horas. Para preferências de usuário de longo prazo, use TTLs mais longos ou persista indefinidamente.
Implemente a deterioração da memória — O Mem0 fornece mecanismos de decaimento integrados que removem informações irrelevantes ao longo do tempo. Configure-os para evitar o excesso de memória à medida que o agente acumula mais interações.
Desduplicar memórias — Antes de armazenar uma nova memória, verifique se já existe uma memória semelhante usando a pesquisa de similaridade vetorial. Atualize as memórias existentes em vez de criar duplicatas.
Configuração do índice vetorial
Escolha o tipo de índice certo — Use
FLATpara armazenamentos de memória menores (menos de 100.000 entradas) onde a pesquisa exata é viável. UseHNSWpara lojas maiores, onde a pesquisa aproximada do vizinho mais próximo oferece melhor desempenho em grande escala.Selecione as dimensões apropriadas — Combine as dimensões de incorporação ao seu modelo. O Amazon Titan Text Embeddings V2 produz vetores de 1024 dimensões. O text-embedding-3-small da OpenAI produz vetores de 1536 dimensões.
Use a métrica de distância COSINE — Para incorporações de texto de modelos como Amazon Titan e OpenAI, a distância COSINE geralmente é a métrica mais apropriada para medir a similaridade semântica.
Multi-user isolamento
Memórias de escopo por ID de usuário — Sempre inclua um
user_idparâmetro ao armazenar e pesquisar memórias para evitar o vazamento de informações entre os usuários.Use filtros TAG para isolamento eficiente — Ao consultar o índice vetorial, use filtros TAG (por exemplo,
@user_id:{user_123}) para pré-filtrar os resultados por usuário antes de realizar a pesquisa KNN. Isso é executado como uma única operação atômica, fornecendo isolamento e desempenho.# Example: TAG-filtered vector search for user isolation results = client.execute_command( "FT.SEARCH", "agent_memory", f"@user_id:{{{user_id}}}=>[KNN 5 @embedding $query_vec]", "PARAMS", "2", "query_vec", query_vec, "DIALECT", "2", )
Gerenciamento de memória em grande escala
Defina a política de memória máxima — configure
maxmemory-policy allkeys-lruem seu ElastiCache cluster para remover automaticamente as entradas de memória menos usadas recentemente quando o cluster atingir seu limite de memória.Monitore o uso da memória — Use CloudWatch as métricas da Amazon para rastrear a utilização da memória, as taxas de acerto do cache e a latência da pesquisa vetorial. Defina alarmes para alto uso de memória para gerenciar proativamente a capacidade.
Planeje a capacidade — cada entrada de memória normalmente requer aproximadamente 4 a 6 KB (dimensões de incorporação × 4 bytes + metadados). Uma ElastiCache instância de 1 GB pode armazenar aproximadamente 170.000 a 250.000 entradas de memória, dependendo do tamanho da incorporação e dos metadados.