Gebruikersgeheugen
Key/value-opslag voor gebruikersgeheugen die bij elk chatverzoek in LibreChat wordt uitgevoerd
Overzicht
User Memory in LibreChat is een key/value store die gebruikersspecifieke informatie behoudt tussen gesprekken door. Een toegewezen memory agent wordt uitgevoerd aan het begin van elk chatverzoek, waarbij deze uit de store leest en ernaar schrijft om gepersonaliseerde context te bieden aan het hoofd-AI-antwoord.
Key/Value-opslag, geen gespreksgeheugen
Dit is geen semantisch geheugen over je volledige gespreksgeschiedenis. Het indexeert, embedt of doorzoekt geen eerdere gesprekken. In plaats daarvan onderhoudt het een gestructureerde set van sleutel/waarde-paren (bijv. user_preferences, learned_facts) die als context in elk verzoek worden geïnjecteerd. Zie het als een persistent notitieblok dat de AI leest vóór elk antwoord.
Voor context over eerdere berichten binnen een enkele conversatie gebruikt LibreChat al het standaard berichtgeschiedenisvenster — dat staat los van deze functie.
⚠️ Configuratie vereist
Geheugenfunctionaliteit moet expliciet worden geconfigureerd in uw librechat.yaml bestand om te werken. Het is standaard niet ingeschakeld.
Belangrijkste functies
- Wordt bij elk verzoek uitgevoerd: De memory agent wordt uitgevoerd aan het begin van elk chatverzoek, waardoor wordt gegarandeerd dat de opgeslagen context altijd beschikbaar is.
- Key/Value Storage: Informatie wordt opgeslagen als gestructureerde key/value-paren, niet als onbewerkte gesprekslogboeken
- Handmatige invoer: Gebruikers kunnen geheugenitems handmatig toevoegen, bewerken of verwijderen, waardoor ze volledige controle hebben over wat de AI onthoudt.
- Gebruikersbeheer: Wanneer ingeschakeld, kunnen gebruikers het geheugen in- of uitschakelen voor hun individuele chats
- Aanpasbare sleutels: Beperk welke categorieën informatie kunnen worden opgeslagen met behulp van
validKeys - Tokenbeheer: Stel limieten in op het geheugengebruik om de kosten te beheersen
- Agent-integratie: Gebruik AI-agents om op intelligente wijze te beheren wat wordt onthouden
Configuratie
Om geheugenfuncties in te schakelen, moet je de memory configuratie toevoegen aan je librechat.yaml bestand:
version: 1.3.5
cache: true
memory:
disabled: false # Set to true to completely disable memory
personalize: true # Gives users the ability to toggle memory on/off, true by default
tokenLimit: 2000 # Maximum tokens for memory storage
maxInputTokens: 12000 # Maximum recent-chat tokens sent to the memory agent
messageWindowSize: 5 # Number of recent messages to consider
agent:
provider: 'openAI'
model: 'gpt-4'Het provider veld moet overeenkomen met de geaccepteerde waarden zoals gedefinieerd in de Model Spec Guide.
Let op: Als je een aangepaste endpoint gebruikt, moet de endpoint-waarde exact overeenkomen met de gedefinieerde naam van de aangepaste endpoint.
Zie de Memory Configuration Guide voor gedetailleerde configuratie-opties.
Hoe het werkt
Uitvoering van de Memory Agent
De memory agent wordt uitgevoerd bij elk chatverzoek wanneer memory is ingeschakeld. Deze wordt gelijktijdig met het hoofd-chatantwoord uitgevoerd — het begint voordat het hoofdantwoord start en is beperkt tot de duur van het hoofdverzoek plus maximaal 3 seconden nadat dit is voltooid.
Dit betekent dat elk bericht dat je verstuurt de memory agent activeert om:
Lees de huidige sleutel/waarde-opslag en voeg relevante items toe als context
Analyseer het recente berichtvenster op informatie die het opslaan of bijwerken waard is
Schrijf alle nieuwe of gewijzigde items terug naar de store
1. Key/Value-opslag
Geheugenitems worden opgeslagen als sleutel/waarde-paren. Wanneer geheugen is ingeschakeld, kan het systeem items opslaan zoals:
- Gebruikersvoorkeuren (communicatiestijl, onderwerpen van interesse)
- Belangrijke feiten die expliciet door gebruikers zijn gedeeld
- Lopende projecten of taken die worden genoemd
- Elke categorie die je definieert via
validKeys
Gebruikers kunnen ook handmatig geheugenitems aanmaken, bewerken en verwijderen via de interface, wat directe controle geeft over wat de AI over hen weet.
2. Context Window
De messageWindowSize parameter bepaalt hoeveel recente berichten worden geanalyseerd voor geheugenupdates. Dit helpt de memory agent te beslissen welke informatie het waard is om op te slaan of bij te werken in de key/value store.
De maxInputTokens parameter begrenst de tekst van recente chats die naar de automatische memory agent wordt verzonden vóór extractie. Als het geselecteerde berichtvenster nog steeds te groot is, behoudt LibreChat de nieuwste context en laat het eerdere chatinhoud weg voordat de memory agent wordt aangeroepen.
3. Gebruikersbeheer
Wanneer personalize is ingesteld op true:
- Gebruikers zien een geheugenschakelaar in hun chatinterface
- Ze kunnen geheugen in- of uitschakelen voor individuele gesprekken
- Geheugeninstellingen blijven behouden tussen sessies
4. Geldige sleutels
U kunt beperken welke categorieën informatie worden opgeslagen door validKeys op te geven:
memory:
validKeys:
- 'user_preferences'
- 'conversation_context'
- 'learned_facts'
- 'personal_information'Best Practices
1. Tokenlimieten
Stel geschikte tokenlimieten in om functionaliteit in balans te brengen met kosten:
- Hogere limieten maken een uitgebreider geheugen mogelijk
- Lagere limieten verlagen de verwerkingskosten
- Overweeg je gebruikspatronen en budget
2. Custom Instructions
Wanneer je validKeys gebruikt, geef dan aangepaste instructies aan de memory agent:
memory:
agent:
provider: 'openAI'
model: 'gpt-4'
instructions: |
Store information only in the specified validKeys categories.
Focus on explicitly stated preferences and important facts.
Delete outdated or corrected information promptly.3. Privacyoverwegingen
- Geheugen slaat gebruikersinformatie op over verschillende gesprekken heen
- Zorg ervoor dat gebruikers begrijpen welke informatie wordt opgeslagen
- Overweeg het implementeren van dataretentiebeleid
- Zorg voor duidelijke documentatie over het geheugengebruik
Voorbeelden
Basisconfiguratie
Schakel geheugen in met standaardinstellingen:
memory:
tokenLimit: 2000
maxInputTokens: 12000
agent:
provider: 'openAI'
model: 'gpt-4.1-mini'Geavanceerde configuratie
Volledige configuratie met alle opties:
memory:
disabled: false
validKeys: ['preferences', 'context', 'facts']
tokenLimit: 3000
maxInputTokens: 12000
personalize: true
messageWindowSize: 10
agent:
provider: 'anthropic'
model: 'claude-3-opus-20240229'
instructions: 'Remember only explicitly stated preferences and key facts.'
model_parameters:
temperature: 0.3Voor geldige modelparameters per provider, zie de Model Spec Preset Fields.
Vooraf gedefinieerde agents gebruiken
Verwijs naar een bestaande agent op ID:
memory:
agent:
id: 'memory-specialist-001'Aangepaste endpoints met geheugen
Memory ondersteunt volledig custom endpoints, inclusief die met custom headers en omgevingsvariabelen. Bij het gebruik van een custom endpoint worden header-placeholders en omgevingsvariabelen correct opgelost tijdens de verwerking van het geheugen.
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'- Alle custom endpoint headers worden ondersteund
Probleemoplossing
Geheugen werkt niet
- Controleer of het geheugen is geconfigureerd in
librechat.yaml - Controleer of
disabledis ingesteld opfalse - Zorg ervoor dat de geconfigureerde agent/model beschikbaar is
- Controleer of gebruikers geheugen hebben ingeschakeld in hun chatinterface
- Voor custom endpoints: zorg ervoor dat de
providernaam exact overeenkomt met de custom endpointname
Hoog tokengebruik
- Verlaag
tokenLimitom kosten te beheersen - Verlaag
maxInputTokensom te beperken hoeveel van de recente chat naar de memory agent wordt verzonden - Verlaag
messageWindowSizeom minder berichten te analyseren - Gebruik
validKeysom te beperken wat er wordt opgeslagen - Agent-instructies beoordelen en optimaliseren
Inconsistent geheugen
- Controleer of gebruikers geheugen in- of uitschakelen
- Controleer of tokenlimieten niet worden overschreden
- Zorg voor een consistente agentconfiguratie
- Controleer opgeslagen geheugen op conflicten
Problemen met authenticatie voor aangepaste endpoint
- Controleer of omgevingsvariabelen correct zijn ingesteld in uw
.envbestand - Zorg ervoor dat aangepaste headers de juiste syntaxis gebruiken (
${ENV_VAR}voor omgevingsvariabelen,{{LIBRECHAT_USER_*}}voor gebruikers-placeholders) - Controleer of het aangepaste endpoint werkt voor reguliere chat-aanvullingen voordat je het test met memory
- Controleer de serverlogs op authenticatiefouten van de custom endpoint API
Toekomstige verbeteringen
De huidige implementatie voert de memory agent onvoorwaardelijk uit bij elk chatverzoek. Geplande verbeteringen zijn onder andere:
- Semantische trigger voor schrijfacties: Detecteer wanneer een gebruiker het model expliciet heeft gevraagd om iets te onthouden (bijv. "Onthoud dat ik de voorkeur geef aan Python") en voer de memory write agent alleen in die gevallen uit, waardoor onnodige verwerking bij routinematige berichten wordt verminderd.
- Vector Similarity Recall: In plaats van alle opgeslagen geheugenitems in elk verzoek te injecteren, worden vector-embeddings gebruikt om alleen de items op te halen die het meest relevant zijn voor de huidige gesprekscontext, wat zowel de efficiëntie als de relevantie verbetert.
Gerelateerde functies
- Agents - Bouw aangepaste AI-assistenten
- Presets - Sla gespreksinstellingen op
- Fork Messages - Vertak gesprekken met behoud van context
Hoe is deze gids?
Bericht zoeken
Doorzoek snel eerdere gesprekken met de geïntegreerde Meilisearch van LibreChat
RAG API (Chatten met bestanden)
Retrieval-Augmented Generation (RAG) API voor documentindexering en -opvraging met behulp van Langchain en FastAPI. Deze API integreert met LibreChat om contextbewuste antwoorden te bieden op basis van door de gebruiker geüploade bestanden.