Configuración de memoria
Descripción general
El objeto memory le permite configurar la memoria de la conversación y las funciones de personalización de la aplicación. Esta configuración controla cómo el sistema recuerda y personaliza las conversaciones, incluyendo los límites de tokens, las ventanas de contexto de los mensajes y el procesamiento de memoria basado en agentes.
Ejemplo
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 | Desactiva la funcionalidad de memoria cuando se establece en true. Cuando está desactivado, el sistema no almacenará ni utilizará la memoria de la conversación. | disabled: false |
Predeterminado: false
memory:
disabled: truevalidKeys
| Key | Type | Description | Example |
|---|---|---|---|
| validKeys | Array of Strings | Especifica qué claves son válidas para el almacenamiento en memoria. Esto ayuda a controlar qué tipos de información pueden almacenarse en la memoria. | validKeys: ["user_name", "preferences", "contexto"] |
Predeterminado: Sin restricciones (todas las claves son válidas)
memory:
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'personal_information'
- 'learned_facts'tokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| tokenLimit | Number | Establece el número máximo de tokens que se pueden utilizar para el almacenamiento y procesamiento de memoria. | tokenLimit: 2000 |
Predeterminado: Sin límite
memory:
tokenLimit: 2000charLimit
| Key | Type | Description | Example |
|---|---|---|---|
| charLimit | Number | Establece el número máximo de caracteres permitidos para las entradas de memoria individuales. Esto evita cargas útiles de memoria excesivas que podrían afectar el rendimiento o exceder los límites de la API. | charLimit: 10000 |
Predeterminado: 10000
memory:
charLimit: 10000maxInputTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxInputTokens | Number | Establece el número máximo de tokens de chats recientes enviados al agente de memoria automática antes de la extracción de memoria. Las entradas largas se truncan desde el principio para que se preserve el contexto más reciente. | maxInputTokens: 12000 |
Predeterminado: 12000
memory:
maxInputTokens: 12000personalize
| Key | Type | Description | Example |
|---|---|---|---|
| personalize | Boolean | Cuando se establece en true, permite a los usuarios optar por activar o desactivar el uso de las funciones de memoria. Los usuarios pueden activar/desactivar la memoria en su interfaz de chat. Cuando es false, las funciones de memoria se desactivan por completo. | personalize: true |
Predeterminado: true
memory:
personalize: falsemessageWindowSize
| Key | Type | Description | Example |
|---|---|---|---|
| messageWindowSize | Number | Especifica el número de mensajes recientes que se incluirán en la ventana de contexto de memoria. | messageWindowSize: 5 |
Predeterminado: 5
memory:
messageWindowSize: 10agent
| Key | Type | Description | Example |
|---|---|---|---|
| agent | Object | Union | Configura el agente responsable del procesamiento de memoria. Puede ser una referencia a un agente existente por ID o una configuración de agente completa. | agent: { provider: "openAI", model: "gpt-4" } |
El campo agent admite dos formatos de configuración diferentes:
Agente por ID
Cuando tengas un agente preconfigurado, puedes hacer referencia a él mediante su ID:
memory:
agent:
id: 'memory-agent-001'Configuración de Agentes Personalizados
Para un mayor control, puede definir una configuración completa del 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 configuración del agente
Al utilizar una configuración de agente personalizada, los siguientes campos están disponibles:
provider (obligatorio)
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Especifica el proveedor de IA para el agente de memoria. Puede ser un proveedor integrado (por ejemplo, "openAI", "anthropic", "google") o un nombre de endpoint personalizado. | provider: "openAI" |
model (obligatorio)
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Especifica el modelo a utilizar para el procesamiento de memoria. | model: "gpt-4" |
instructions (opcional)
| Key | Type | Description | Example |
|---|---|---|---|
| instructions | String | Instrucciones personalizadas que reemplazan las instrucciones predeterminadas sobre cuándo establecer y/o eliminar la memoria. Deben utilizarse principalmente cuando se emplean validKeys que requieren un manejo de información específico. | instructions: "Only store user preferences and facts when explicitly mentioned." |
model_parameters (opcional)
| Key | Type | Description | Example |
|---|---|---|---|
| model_parameters | Object | Parámetros adicionales para pasar al modelo y ajustar su comportamiento. Los valores deben ser cadenas, números o booleanos. | model_parameters: { temperature: 0.7 } |
Ejemplo de configuración completa
Aquí tienes un ejemplo completo que muestra todas las opciones de configuración de memoria:
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.1Uso de endpoints personalizados
La función de memoria es compatible con endpoints personalizados. Al utilizar un endpoint personalizado, el campo provider debe coincidir exactamente con el name del endpoint personalizado. Los encabezados personalizados con variables de entorno y marcadores de posición de usuario se resuelven correctamente.
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'- Consulta Custom Endpoint Headers para ver todos los marcadores de posición disponibles
Notas
- La funcionalidad de Memory mejora la continuidad y personalización de la conversación
- Cuando
personalizees true, los usuarios obtienen un interruptor en su interfaz de chat para controlar el uso de la memoria - Los límites de tokens ayudan a controlar el uso de memoria y los costos de procesamiento.
maxInputTokenslimita el contexto del chat enviado al agente de memoria automática, mientras quetokenLimitcontrola el uso de memoria almacenada- Las claves válidas proporcionan un control granular sobre qué información puede almacenarse
- Las
instructionspersonalizadas reemplazan las instrucciones de manejo de memoria predeterminadas y deben usarse convalidKeys - La configuración de agentes permite personalizar el comportamiento del procesamiento de memoria.
- Cuando está desactivado, todas las funciones de memoria se apagan independientemente de otros ajustes.
- El tamaño de la ventana de mensajes afecta cuánta información de contexto reciente se considera para las actualizaciones de memoria
¿Qué te parece esta guía?