Speicherkonfiguration
Übersicht
Das memory Objekt ermöglicht es Ihnen, die Konversationsspeicher- und Personalisierungsfunktionen für die Anwendung zu konfigurieren. Diese Konfiguration steuert, wie das System Konversationen speichert und personalisiert, einschließlich Token-Limits, Nachrichten-Kontextfenstern und agentenbasierter Speicherverarbeitung.
Beispiel
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 | Deaktiviert die Speicherfunktionalität, wenn auf true gesetzt. Wenn deaktiviert, speichert oder verwendet das System keinen Konversationsspeicher. | disabled: false |
Standard: false
memory:
disabled: truevalidKeys
| Key | Type | Description | Example |
|---|---|---|---|
| validKeys | Array of Strings | Gibt an, welche Schlüssel für die Speicherverwaltung gültig sind. Dies hilft dabei, zu kontrollieren, welche Arten von Informationen im Speicher abgelegt werden können. | validKeys: ["user_name", "preferences", "Kontext"] |
Standard: Keine Einschränkung (alle Schlüssel sind gültig)
memory:
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'personal_information'
- 'learned_facts'tokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| tokenLimit | Number | Legt die maximale Anzahl an Token fest, die für die Speicherung und Verarbeitung im Arbeitsspeicher verwendet werden können. | tokenLimit: 2000 |
Standard: Kein Limit
memory:
tokenLimit: 2000charLimit
| Key | Type | Description | Example |
|---|---|---|---|
| charLimit | Number | Legt die maximale Anzahl an Zeichen für einzelne Memory-Einträge fest. Dies verhindert zu große Memory-Payloads, die die Leistung beeinträchtigen oder API-Limits überschreiten könnten. | charLimit: 10000 |
Standard: 10000
memory:
charLimit: 10000maxInputTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxInputTokens | Number | Legt die maximale Anzahl an Tokens aus aktuellen Chats fest, die vor der Speicherextraktion an den automatischen Memory-Agenten gesendet werden. Lange Eingaben werden vom Anfang an gekürzt, sodass der neueste Kontext erhalten bleibt. | maxInputTokens: 12000 |
Standard: 12000
memory:
maxInputTokens: 12000personalize
| Key | Type | Description | Example |
|---|---|---|---|
| personalize | Boolean | Wenn auf true gesetzt, erhalten Benutzer die Möglichkeit, Speicherfunktionen zu aktivieren oder zu deaktivieren. Benutzer können den Speicher in ihrer Chat-Oberfläche ein- und ausschalten. Wenn auf false gesetzt, sind die Speicherfunktionen vollständig deaktiviert. | personalize: true |
Standard: true
memory:
personalize: falsemessageWindowSize
| Key | Type | Description | Example |
|---|---|---|---|
| messageWindowSize | Number | Gibt die Anzahl der letzten Nachrichten an, die in das Memory-Kontextfenster einbezogen werden sollen. | messageWindowSize: 5 |
Standard: 5
memory:
messageWindowSize: 10agent
| Key | Type | Description | Example |
|---|---|---|---|
| agent | Object | Union | Konfiguriert den für die Speicherverarbeitung zuständigen Agenten. Kann entweder ein Verweis auf einen bestehenden Agenten per ID oder eine vollständige Agentenkonfiguration sein. | agent: { provider: "openAI", model: "gpt-4" } |
Das agent Feld unterstützt zwei verschiedene Konfigurationsformate:
Agent nach ID
Wenn Sie einen vorkonfigurierten Agenten haben, können Sie ihn über seine ID referenzieren:
memory:
agent:
id: 'memory-agent-001'Benutzerdefinierte Agentenkonfiguration
Für mehr Kontrolle können Sie eine vollständige Agentenkonfiguration definieren:
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.9Agent-Konfigurationsfelder
Bei der Verwendung einer benutzerdefinierten Agentenkonfiguration stehen die folgenden Felder zur Verfügung:
provider (erforderlich)
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Gibt den KI-Anbieter für den Memory-Agent an. Kann ein integrierter Anbieter (z. B. "openAI", "anthropic", "google") oder ein benutzerdefinierter endpoint-Name sein. | provider: "openAI" |
model (erforderlich)
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Gibt das für die Speicherverarbeitung zu verwendende Modell an. | model: "gpt-4" |
Anweisungen (optional)
| Key | Type | Description | Example |
|---|---|---|---|
| instructions | String | Benutzerdefinierte Anweisungen, die die Standardanweisungen zum Festlegen und/oder Löschen von Speicher ersetzen. Sollten hauptsächlich bei der Verwendung von validKeys eingesetzt werden, die eine spezifische Informationsverarbeitung erfordern. | instructions: "Only store user preferences and facts when explicitly mentioned." |
model_parameters (optional)
| Key | Type | Description | Example |
|---|---|---|---|
| model_parameters | Object | Zusätzliche Parameter, die an das Modell übergeben werden, um dessen Verhalten fein abzustimmen. Die Werte müssen Strings, Zahlen oder Booleans sein. | model_parameters: { temperature: 0.7 } |
Vollständiges Konfigurationsbeispiel
Hier ist ein umfassendes Beispiel, das alle Konfigurationsoptionen für den Speicher zeigt:
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.1Verwendung von benutzerdefinierten Endpoints
Die Memory-Funktion unterstützt benutzerdefinierte endpoints. Bei der Verwendung eines benutzerdefinierten endpoints sollte das Feld provider exakt mit dem name des benutzerdefinierten endpoints übereinstimmen. Benutzerdefinierte Header mit Umgebungsvariablen und Benutzer-Platzhaltern werden korrekt aufgelöst.
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'- Siehe Custom Endpoint Headers für alle verfügbaren Platzhalter
Hinweise
- Die Memory-Funktionalität verbessert die Kontinuität und Personalisierung von Unterhaltungen.
- Wenn
personalizeauf true gesetzt ist, erhalten Benutzer einen Schalter in ihrer Chat-Oberfläche, um die Speichernutzung zu steuern. - Token-Limits helfen dabei, die Speicherauslastung und die Verarbeitungskosten zu kontrollieren.
maxInputTokensbegrenzt den Chat-Kontext, der an den automatischen Memory-Agent gesendet wird, währendtokenLimitdie Nutzung des gespeicherten Speichers steuert.- Gültige Schlüssel bieten eine granulare Kontrolle darüber, welche Informationen gespeichert werden können
- Benutzerdefinierte
instructionsersetzen die standardmäßige Speicherverwaltung und sollten mitvalidKeysverwendet werden. - Die Agent-Konfiguration ermöglicht die Anpassung des Speicherverarbeitungsverhaltens.
- Wenn deaktiviert, sind alle Speicherfunktionen unabhängig von anderen Einstellungen ausgeschaltet.
- Die Größe des Nachrichtenfensters beeinflusst, wie viel des aktuellen Kontexts für Speicheraktualisierungen berücksichtigt wird.
Wie finden Sie diese Anleitung?