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
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Desactiva la funcionalidad de memoria cuando se establece en true. Cuando está desactivada, el sistema no almacenará ni utilizará la memoria de la conversación. | disabled: false |
Predeterminado: false
validKeys
| 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)
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
charLimit
| 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
maxInputTokens
| 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
personalize
| 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
messageWindowSize
| 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
agent
| 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:
Configuración de Agente Personalizado
Para un mayor control, puede definir una configuración completa del agente:
Campos de configuración del agente
Al utilizar la 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 para 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:
Uso 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.
- 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 del agente 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?