Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Geheugenconfiguratie

Overzicht

Het memory object stelt je in staat om gespreksgeheugen en personalisatiefuncties voor de applicatie te configureren. Deze configuratie bepaalt hoe het systeem gesprekken onthoudt en personaliseert, inclusief tokenlimieten, contextvensters voor berichten en op agents gebaseerde geheugenverwerking.

Voorbeeld

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: 1000

disabled

KeyTypeDescriptionExample
disabledBooleanSchakelt de geheugenfunctionaliteit uit wanneer deze op true is ingesteld. Wanneer uitgeschakeld, zal het systeem geen gespreksgeheugen opslaan of gebruiken.disabled: false

Standaard: false

memory:
  disabled: true

validKeys

KeyTypeDescriptionExample
validKeysArray of StringsSpecificeert welke sleutels geldig zijn voor geheugenopslag. Dit helpt bij het bepalen welke soorten informatie in het geheugen kunnen worden opgeslagen.validKeys: ["user_name", "preferences", "context"]

Standaard: Geen beperking (alle sleutels zijn geldig)

memory:
  validKeys:
    - 'user_preferences'
    - 'conversation_context'
    - 'personal_information'
    - 'learned_facts'

tokenLimit

KeyTypeDescriptionExample
tokenLimitNumberStelt het maximale aantal tokens in dat kan worden gebruikt voor geheugenopslag en verwerking.tokenLimit: 2000

Standaard: Geen limiet

memory:
  tokenLimit: 2000

charLimit

KeyTypeDescriptionExample
charLimitNumberStelt het maximale aantal tekens in dat is toegestaan voor individuele geheugenitems. Dit voorkomt te grote geheugen-payloads die de prestaties kunnen beïnvloeden of API-limieten kunnen overschrijden.charLimit: 10000

Standaard: 10000

memory:
  charLimit: 10000

maxInputTokens

KeyTypeDescriptionExample
maxInputTokensNumberStelt het maximale aantal tokens van recente chats in die naar de automatische memory agent worden verzonden vóór extractie van het geheugen. Lange invoer wordt vanaf het begin afgekapt, zodat de meest recente context behouden blijft.maxInputTokens: 12000

Standaard: 12000

memory:
  maxInputTokens: 12000

personalize

KeyTypeDescriptionExample
personalizeBooleanWanneer ingesteld op true, krijgen gebruikers de mogelijkheid om zich aan of af te melden voor het gebruik van geheugenfuncties. Gebruikers kunnen geheugen aan/uit schakelen in hun chatinterface. Wanneer ingesteld op false, zijn geheugenfuncties volledig uitgeschakeld.personalize: true

Standaard: true

memory:
  personalize: false

messageWindowSize

KeyTypeDescriptionExample
messageWindowSizeNumberSpecificeert het aantal recente berichten dat moet worden opgenomen in het geheugen-contextvenster.messageWindowSize: 5

Standaard: 5

memory:
  messageWindowSize: 10

agent

KeyTypeDescriptionExample
agentObject | UnionConfigureert de agent die verantwoordelijk is voor geheugenverwerking. Dit kan een verwijzing zijn naar een bestaande agent op ID of een volledige agentconfiguratie.agent: { provider: "openAI", model: "gpt-4" }

Het agent veld ondersteunt twee verschillende configuratieformaten:

Agent op ID

Wanneer je een vooraf geconfigureerde agent hebt, kun je ernaar verwijzen via zijn ID:

memory:
  agent:
    id: 'memory-agent-001'

Aangepaste Agent-configuratie

Voor meer controle kun je een volledige agentconfiguratie definiëren:

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.9

Agent-configuratievelden

Bij het gebruik van aangepaste agent-configuratie zijn de volgende velden beschikbaar:

provider (vereist)

KeyTypeDescriptionExample
providerStringSpecificeert de AI-provider voor de memory agent. Dit kan een ingebouwde provider zijn (bijv. "openAI", "anthropic", "google") of een aangepaste endpoint-naam.provider: "openAI"

model (vereist)

KeyTypeDescriptionExample
modelStringSpecificeert het model dat moet worden gebruikt voor geheugenverwerking.model: "gpt-4"

instructies (optioneel)

KeyTypeDescriptionExample
instructionsStringAangepaste instructies die de standaardinstructies vervangen voor wanneer het geheugen moet worden ingesteld en/of verwijderd. Moet voornamelijk worden gebruikt bij het gebruik van validKeys die specifieke informatieverwerking vereisen.instructions: "Only store user preferences and facts when explicitly mentioned."

model_parameters (optioneel)

KeyTypeDescriptionExample
model_parametersObjectAanvullende parameters om door te geven aan het model voor het verfijnen van het gedrag. Waarden moeten strings, getallen of booleans zijn.model_parameters: { temperature: 0.7 }

Volledig configuratievoorbeeld

Hier is een uitgebreid voorbeeld dat alle configuratieopties voor geheugen toont:

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.1

Aangepaste endpoints gebruiken

De memory-functie ondersteunt custom endpoints. Bij het gebruik van een custom endpoint moet het provider veld exact overeenkomen met de name van het custom endpoint. Custom headers met omgevingsvariabelen en gebruikers-placeholders worden correct opgelost.


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'

Opmerkingen

  • Geheugenfunctionaliteit verbetert de continuïteit en personalisatie van gesprekken
  • Wanneer personalize op true staat, krijgen gebruikers een schakelaar in hun chatinterface om het geheugengebruik te beheren
  • Tokenlimieten helpen bij het beheersen van het geheugengebruik en de verwerkingskosten.
  • maxInputTokens begrenst de chatcontext die naar de automatische geheugenagent wordt verzonden, terwijl tokenLimit het gebruik van opgeslagen geheugen beheert.
  • Geldige sleutels bieden gedetailleerde controle over welke informatie kan worden opgeslagen
  • Aangepaste instructions vervangen de standaard instructies voor geheugenafhandeling en moeten worden gebruikt met validKeys
  • Agent-configuratie maakt aanpassing van het geheugenverwerkingsgedrag mogelijk
  • Wanneer uitgeschakeld, zijn alle geheugenfuncties uitgeschakeld, ongeacht andere instellingen.
  • De grootte van het berichtvenster beïnvloedt hoeveel recente context in overweging wordt genomen voor geheugenupdates

Hoe is deze gids?