Configurazione della memoria
Panoramica
L'oggetto memory ti consente di configurare la memoria della conversazione e le funzionalità di personalizzazione per l'applicazione. Questa configurazione controlla come il sistema ricorda e personalizza le conversazioni, inclusi i limiti di token, le finestre di contesto dei messaggi e l'elaborazione della memoria basata su agenti.
Esempio
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 | Disabilita la funzionalità di memoria quando impostato su true. Quando disabilitato, il sistema non memorizzerà né utilizzerà la memoria della conversazione. | disabled: false |
Predefinito: false
memory:
disabled: truevalidKeys
| Key | Type | Description | Example |
|---|---|---|---|
| validKeys | Array of Strings | Specifica quali chiavi sono valide per l'archiviazione della memoria. Questo aiuta a controllare quali tipi di informazioni possono essere memorizzati nella memoria. | validKeys: ["user_name", "preferences", "contesto"] |
Predefinito: Nessuna restrizione (tutte le chiavi sono valide)
memory:
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'personal_information'
- 'learned_facts'tokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| tokenLimit | Number | Imposta il numero massimo di token che possono essere utilizzati per l'archiviazione e l'elaborazione della memoria. | tokenLimit: 2000 |
Predefinito: Nessun limite
memory:
tokenLimit: 2000charLimit
| Key | Type | Description | Example |
|---|---|---|---|
| charLimit | Number | Imposta il numero massimo di caratteri consentiti per le singole voci di memoria. Ciò previene payload di memoria eccessivi che potrebbero influire sulle prestazioni o superare i limiti dell'API. | charLimit: 10000 |
Predefinito: 10000
memory:
charLimit: 10000maxInputTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxInputTokens | Number | Imposta il numero massimo di token delle chat recenti inviati all'agente di memoria automatica prima dell'estrazione della memoria. Gli input lunghi vengono troncati dall'inizio in modo che il contesto più recente venga preservato. | maxInputTokens: 12000 |
Predefinito: 12000
memory:
maxInputTokens: 12000personalize
| Key | Type | Description | Example |
|---|---|---|---|
| personalize | Boolean | Se impostato su true, offre agli utenti la possibilità di attivare o disattivare le funzionalità di memoria. Gli utenti possono attivare/disattivare la memoria nella loro interfaccia di chat. Se impostato su false, le funzionalità di memoria sono completamente disabilitate. | personalize: true |
Predefinito: true
memory:
personalize: falsemessageWindowSize
| Key | Type | Description | Example |
|---|---|---|---|
| messageWindowSize | Number | Specifica il numero di messaggi recenti da includere nella finestra di contesto della memoria. | messageWindowSize: 5 |
Predefinito: 5
memory:
messageWindowSize: 10agent
| Key | Type | Description | Example |
|---|---|---|---|
| agent | Object | Union | Configura l'agente responsabile dell'elaborazione della memoria. Può essere un riferimento a un agente esistente tramite ID o una configurazione completa dell'agente. | agent: { provider: "openAI", model: "gpt-4" } |
Il campo agent supporta due diversi formati di configurazione:
Agent per ID
Quando hai un agente preconfigurato, puoi farvi riferimento tramite il suo ID:
memory:
agent:
id: 'memory-agent-001'Configurazione Agente Personalizzato
Per un maggiore controllo, puoi definire una configurazione completa dell'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.9Campi di configurazione dell'agente
Quando si utilizza una configurazione personalizzata dell'agente, sono disponibili i seguenti campi:
provider (obbligatorio)
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Specifica il provider AI per l'agente di memoria. Può essere un provider integrato (ad esempio, "openAI", "anthropic", "google") o un nome di endpoint personalizzato. | provider: "openAI" |
model (obbligatorio)
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Specifica il modello da utilizzare per l'elaborazione della memoria. | model: "gpt-4" |
istruzioni (opzionale)
| Key | Type | Description | Example |
|---|---|---|---|
| instructions | String | Istruzioni personalizzate che sostituiscono le istruzioni predefinite su quando impostare e/o eliminare la memoria. Dovrebbero essere utilizzate principalmente quando si impiegano validKeys che richiedono una gestione specifica delle informazioni. | instructions: "Only store user preferences and facts when explicitly mentioned." |
model_parameters (opzionale)
| Key | Type | Description | Example |
|---|---|---|---|
| model_parameters | Object | Parametri aggiuntivi da passare al modello per perfezionarne il comportamento. I valori devono essere stringhe, numeri o booleani. | model_parameters: { temperature: 0.7 } |
Esempio di configurazione completa
Ecco un esempio completo che mostra tutte le opzioni di configurazione della 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.1Utilizzo di endpoint personalizzati
La funzionalità di memoria supporta gli endpoint personalizzati. Quando si utilizza un endpoint personalizzato, il campo provider deve corrispondere esattamente al name dell'endpoint personalizzato. Le intestazioni personalizzate con variabili d'ambiente e segnaposto utente vengono risolte correttamente.
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'- Vedi Custom Endpoint Headers per tutti i segnaposto disponibili
Note
- La funzionalità Memory migliora la continuità e la personalizzazione della conversazione
- Quando
personalizeè impostato su true, gli utenti visualizzano un interruttore nell'interfaccia di chat per controllare l'utilizzo della memoria. - I limiti dei token aiutano a controllare l'utilizzo della memoria e i costi di elaborazione
maxInputTokenslimita il contesto della chat inviato all'agente di memoria automatico, mentretokenLimitcontrolla l'utilizzo della memoria archiviata- Le chiavi valide forniscono un controllo granulare su quali informazioni possono essere archiviate
- Le
instructionspersonalizzate sostituiscono le istruzioni di gestione della memoria predefinite e dovrebbero essere utilizzate convalidKeys - La configurazione dell'agente consente la personalizzazione del comportamento di elaborazione della memoria
- Quando disabilitato, tutte le funzionalità di memoria vengono disattivate indipendentemente dalle altre impostazioni
- La dimensione della finestra del messaggio influisce sulla quantità di contesto recente considerata per gli aggiornamenti della memoria
Com’è questa guida?