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

Bellek Yapılandırması

Genel Bakış

memory nesnesi, uygulama için konuşma belleğini ve kişiselleştirme özelliklerini yapılandırmanıza olanak tanır. Bu yapılandırma, belirteç (token) sınırları, mesaj bağlam pencereleri ve aracı tabanlı bellek işleme dahil olmak üzere sistemin konuşmaları nasıl hatırladığını ve kişiselleştirdiğini kontrol eder.

Örnek

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
disabledBooleantrue olarak ayarlandığında bellek işlevini devre dışı bırakır. Devre dışı bırakıldığında, sistem konuşma belleğini depolamaz veya kullanmaz.disabled: false

Varsayılan: false

memory:
  disabled: true

validKeys

KeyTypeDescriptionExample
validKeysArray of StringsBellek depolama için hangi anahtarların geçerli olduğunu belirtir. Bu, bellekte ne tür bilgilerin saklanabileceğini kontrol etmeye yardımcı olur.validKeys: ["user_name", "preferences", "bağlam"]

Varsayılan: Kısıtlama yok (tüm anahtarlar geçerlidir)

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

tokenLimit

KeyTypeDescriptionExample
tokenLimitNumberBellek depolama ve işleme için kullanılabilecek maksimum token sayısını belirler.tokenLimit: 2000

Varsayılan: Sınır yok

memory:
  tokenLimit: 2000

charLimit

KeyTypeDescriptionExample
charLimitNumberBireysel bellek girdileri için izin verilen maksimum karakter sayısını belirler. Bu, performansı etkileyebilecek veya API sınırlarını aşabilecek aşırı büyük bellek yüklerini önler.charLimit: 10000

Varsayılan: 10000

memory:
  charLimit: 10000

maxInputTokens

KeyTypeDescriptionExample
maxInputTokensNumberBellek çıkarımı öncesinde otomatik bellek aracına gönderilen son sohbet belirteçlerinin (tokens) maksimum sayısını ayarlar. Uzun girdiler, en son bağlamın korunması için baştan itibaren kırpılır.maxInputTokens: 12000

Varsayılan: 12000

memory:
  maxInputTokens: 12000

personalize

KeyTypeDescriptionExample
personalizeBooleantrue olarak ayarlandığında, kullanıcılara bellek özelliklerini kullanmayı seçme veya reddetme imkanı verir. Kullanıcılar, sohbet arayüzlerinden belleği açıp kapatabilirler. false olduğunda, bellek özellikleri tamamen devre dışı bırakılır.personalize: true

Varsayılan: true

memory:
  personalize: false

messageWindowSize

KeyTypeDescriptionExample
messageWindowSizeNumberBellek bağlamı penceresine dahil edilecek son mesaj sayısını belirtir.messageWindowSize: 5

Varsayılan: 5

memory:
  messageWindowSize: 10

agent

KeyTypeDescriptionExample
agentObject | UnionBellek işleme sürecinden sorumlu olan ajanı yapılandırır. Mevcut bir ajana ID ile referans olabilir veya tam bir ajan yapılandırması olabilir.agent: { provider: "openAI", model: "gpt-4" }

agent alanı iki farklı yapılandırma biçimini destekler:

ID'ye Göre Ajan

Önceden yapılandırılmış bir ajana sahip olduğunuzda, ona kimliği (ID) ile referans verebilirsiniz:

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

Özel Ajan Yapılandırması

Daha fazla kontrol için tam bir ajan yapılandırması tanımlayabilirsiniz:

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

Ajan Yapılandırma Alanları

Özel ajan yapılandırması kullanılırken aşağıdaki alanlar mevcuttur:

provider (gerekli)

KeyTypeDescriptionExample
providerStringBellek aracısı için AI sağlayıcısını belirtir. Yerleşik bir sağlayıcı (örneğin, "openAI", "anthropic", "google") veya özel bir endpoint adı olabilir.provider: "openAI"

model (gerekli)

KeyTypeDescriptionExample
modelStringBellek işleme için kullanılacak modeli belirtir.model: "gpt-4"

talimatlar (isteğe bağlı)

KeyTypeDescriptionExample
instructionsStringBelleğin ne zaman ayarlanacağına ve/veya silineceğine dair varsayılan talimatların yerini alan özel talimatlar. Esas olarak, belirli bilgi işlemeyi gerektiren validKeys kullanılırken tercih edilmelidir.instructions: "Only store user preferences and facts when explicitly mentioned."

model_parameters (isteğe bağlı)

KeyTypeDescriptionExample
model_parametersObjectModelin davranışını ince ayarlamak için modele iletilecek ek parametreler. Değerler dizge (string), sayı veya boole (boolean) olmalıdır.model_parameters: { temperature: 0.7 }

Tam Yapılandırma Örneği

Tüm bellek yapılandırma seçeneklerini gösteren kapsamlı bir örnek aşağıdadır:

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

Özel endpoint'leri Kullanma

Bellek özelliği özel endpoint'leri destekler. Özel bir endpoint kullanırken, provider alanı özel endpoint'in name değeriyle tam olarak eşleşmelidir. Ortam değişkenleri ve kullanıcı yer tutucuları içeren özel başlıklar düzgün bir şekilde çözümlenir.


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'

Notlar

  • Bellek işlevselliği, konuşma sürekliliğini ve kişiselleştirmeyi geliştirir
  • personalize değeri true olduğunda, kullanıcılar sohbet arayüzlerinde bellek kullanımını kontrol etmek için bir açma/kapama düğmesine sahip olurlar
  • Token limitleri, bellek kullanımını ve işlem maliyetlerini kontrol etmeye yardımcı olur
  • maxInputTokens, otomatik bellek aracısına gönderilen sohbet bağlamını sınırlandırırken, tokenLimit depolanan bellek kullanımını kontrol eder.
  • Geçerli anahtarlar, hangi bilgilerin depolanabileceği üzerinde ayrıntılı kontrol sağlar
  • Özel instructions, varsayılan bellek işleme talimatlarının yerini alır ve validKeys ile birlikte kullanılmalıdır.
  • Ajan yapılandırması, bellek işleme davranışının özelleştirilmesine olanak tanır
  • Devre dışı bırakıldığında, diğer ayarlara bakılmaksızın tüm bellek özellikleri kapatılır
  • İleti penceresi boyutu, bellek güncellemeleri için ne kadar yakın tarihli bağlamın dikkate alınacağını etkiler

Bu rehber nasıl?