Configuração de Memória
Visão geral
O objeto memory permite que você configure a memória de conversação e os recursos de personalização para a aplicação. Esta configuração controla como o sistema lembra e personaliza as conversas, incluindo limites de tokens, janelas de contexto de mensagens e processamento de memória baseado em agentes.
Exemplo
memory:
disabled: false
validKeys: ['user_preferences', 'conversation_context', 'personal_info']
tokenLimit: 2000
charLimit: 10000
maxInputTokens: 12000
personalize: true
messageWindowSize: 5
agent:
provider: 'openAI'
model: 'gpt-4'
instructions: 'You are a helpful assistant that remembers user preferences and context.'
model_parameters:
temperature: 0.7
max_tokens: 1000disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Desativa a funcionalidade de memória quando definido como true. Quando desativado, o sistema não armazenará nem usará o histórico de conversas. | disabled: false |
Padrão: false
memory:
disabled: truevalidKeys
| Key | Type | Description | Example |
|---|---|---|---|
| validKeys | Array of Strings | Especifica quais chaves são válidas para o armazenamento na memória. Isso ajuda a controlar quais tipos de informações podem ser armazenados na memória. | validKeys: ["user_name", "preferences", "contexto"] |
Padrão: Sem restrição (todas as chaves são válidas)
memory:
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'personal_information'
- 'learned_facts'tokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| tokenLimit | Number | Define o número máximo de tokens que podem ser usados para armazenamento e processamento de memória. | tokenLimit: 2000 |
Padrão: Sem limite
memory:
tokenLimit: 2000charLimit
| Key | Type | Description | Example |
|---|---|---|---|
| charLimit | Number | Define o número máximo de caracteres permitido para entradas individuais de memória. Isso evita payloads de memória excessivamente grandes que poderiam impactar o desempenho ou exceder os limites da API. | charLimit: 10000 |
Padrão: 10000
memory:
charLimit: 10000maxInputTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxInputTokens | Number | Define o número máximo de tokens de chats recentes enviados ao agente de memória automática antes da extração da memória. Entradas longas são truncadas a partir do início para que o contexto mais recente seja preservado. | maxInputTokens: 12000 |
Padrão: 12000
memory:
maxInputTokens: 12000personalize
| Key | Type | Description | Example |
|---|---|---|---|
| personalize | Boolean | Quando definido como true, dá aos usuários a capacidade de optar por usar ou não os recursos de memória. Os usuários podem ativar/desativar a memória na interface de chat. Quando false, os recursos de memória são completamente desativados. | personalize: true |
Padrão: true
memory:
personalize: falsemessageWindowSize
| Key | Type | Description | Example |
|---|---|---|---|
| messageWindowSize | Number | Especifica o número de mensagens recentes a serem incluídas na janela de contexto da memória. | messageWindowSize: 5 |
Padrão: 5
memory:
messageWindowSize: 10agent
| Key | Type | Description | Example |
|---|---|---|---|
| agent | Object | Union | Configura o agente responsável pelo processamento de memória. Pode ser uma referência a um agente existente por ID ou uma configuração completa de agente. | agent: { provider: "openAI", model: "gpt-4" } |
O campo agent suporta dois formatos de configuração diferentes:
Agente por ID
Quando você tiver um agente pré-configurado, você pode referenciá-lo pelo seu ID:
memory:
agent:
id: 'memory-agent-001'Configuração de Agente Personalizado
Para maior controle, você pode definir uma configuração completa de agente:
memory:
agent:
provider: 'openAI'
model: 'gpt-4'
instructions: 'You are a memory assistant that helps maintain conversation context and user preferences.'
model_parameters:
temperature: 0.3
max_tokens: 1500
top_p: 0.9Campos de Configuração do Agente
Ao usar a configuração de agente personalizada, os seguintes campos estão disponíveis:
provider (obrigatório)
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Especifica o provedor de IA para o agente de memória. Pode ser um provedor integrado (por exemplo, "openAI", "anthropic", "google") ou um nome de endpoint personalizado. | provider: "openAI" |
model (obrigatório)
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Especifica o modelo a ser usado para o processamento de memória. | model: "gpt-4" |
instruções (opcional)
| Key | Type | Description | Example |
|---|---|---|---|
| instructions | String | Instruções personalizadas que substituem as instruções padrão sobre quando definir e/ou excluir a memória. Devem ser usadas principalmente ao utilizar validKeys que exigem um tratamento de informações específico. | instructions: "Only store user preferences and facts when explicitly mentioned." |
model_parameters (opcional)
| Key | Type | Description | Example |
|---|---|---|---|
| model_parameters | Object | Parâmetros adicionais para passar ao modelo para ajustar seu comportamento. Os valores devem ser strings, números ou booleanos. | model_parameters: { temperature: 0.7 } |
Exemplo Completo de Configuração
Aqui está um exemplo abrangente mostrando todas as opções de configuração de memória:
version: 1.3.10
cache: true
memory:
disabled: false
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'learned_facts'
- 'personal_information'
tokenLimit: 3000
charLimit: 10000
maxInputTokens: 12000
personalize: true
messageWindowSize: 8
agent:
provider: 'openAI'
model: 'gpt-4'
instructions: |
Store memory using only the specified validKeys. For user_preferences: save
explicitly stated preferences about communication style, topics of interest,
or workflow preferences. For conversation_context: save important facts or
ongoing projects mentioned. For learned_facts: save objective information
about the user. For personal_information: save only what the user explicitly
shares about themselves. Delete outdated or incorrect information promptly.
model_parameters:
temperature: 0.2
max_tokens: 2000
top_p: 0.8
frequency_penalty: 0.1Usando Custom Endpoints
O recurso de memória suporta endpoints personalizados. Ao usar um endpoint personalizado, o campo provider deve corresponder exatamente ao name do endpoint personalizado. Cabeçalhos personalizados com variáveis de ambiente e placeholders de usuário são resolvidos corretamente.
endpoints:
custom:
- name: 'Custom Memory Endpoint'
apiKey: 'dummy'
baseURL: 'https://api.gateway.ai/v1'
headers:
x-gateway-api-key: '${GATEWAY_API_KEY}'
x-gateway-virtual-key: '${GATEWAY_OPENAI_VIRTUAL_KEY}'
X-User-Identifier: '{{LIBRECHAT_USER_EMAIL}}'
X-Application-Identifier: 'LibreChat - Test'
api-key: '${TEST_CUSTOM_API_KEY}'
models:
default:
- 'gpt-4o-mini'
- 'gpt-4o'
fetch: false
memory:
disabled: false
tokenLimit: 3000
maxInputTokens: 12000
personalize: true
messageWindowSize: 10
agent:
provider: 'Custom Memory Endpoint'
model: 'gpt-4o-mini'- Veja Custom Endpoint Headers para todos os placeholders disponíveis
Notas
- A funcionalidade de Memory aprimora a continuidade e a personalização das conversas
- Quando
personalizefor true, os usuários recebem uma chave seletora na interface de chat para controlar o uso da memória - Os limites de tokens ajudam a controlar o uso de memória e os custos de processamento.
maxInputTokenslimita o contexto do chat enviado para o agente de memória automática, enquantotokenLimitcontrola o uso da memória armazenada- Chaves válidas fornecem controle granular sobre quais informações podem ser armazenadas
- As
instructionspersonalizadas substituem as instruções padrão de manipulação de memória e devem ser usadas comvalidKeys - A configuração de Agent permite a personalização do comportamento de processamento de memória
- Quando desativado, todos os recursos de memória são desligados, independentemente de outras configurações
- O tamanho da janela de mensagens afeta quanto contexto recente é considerado para atualizações de memória
Como está este guia?