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: 1000disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | true 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: truevalidKeys
| Key | Type | Description | Example |
|---|---|---|---|
| validKeys | Array of Strings | Bellek 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
| Key | Type | Description | Example |
|---|---|---|---|
| tokenLimit | Number | Bellek depolama ve işleme için kullanılabilecek maksimum token sayısını belirler. | tokenLimit: 2000 |
Varsayılan: Sınır yok
memory:
tokenLimit: 2000charLimit
| Key | Type | Description | Example |
|---|---|---|---|
| charLimit | Number | Bireysel 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: 10000maxInputTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxInputTokens | Number | Bellek çı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: 12000personalize
| Key | Type | Description | Example |
|---|---|---|---|
| personalize | Boolean | true 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: falsemessageWindowSize
| Key | Type | Description | Example |
|---|---|---|---|
| messageWindowSize | Number | Bellek bağlamı penceresine dahil edilecek son mesaj sayısını belirtir. | messageWindowSize: 5 |
Varsayılan: 5
memory:
messageWindowSize: 10agent
| Key | Type | Description | Example |
|---|---|---|---|
| agent | Object | Union | Bellek 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.9Ajan Yapılandırma Alanları
Özel ajan yapılandırması kullanılırken aşağıdaki alanlar mevcuttur:
provider (gerekli)
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Bellek 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)
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Bellek işleme için kullanılacak modeli belirtir. | model: "gpt-4" |
talimatlar (isteğe bağlı)
| Key | Type | Description | Example |
|---|---|---|---|
| instructions | String | Belleğ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ı)
| Key | Type | Description | Example |
|---|---|---|---|
| model_parameters | Object | Modelin 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'- Mevcut tüm yer tutucular için Özel Uç Nokta Başlıkları bölümüne bakın
Notlar
- Bellek işlevselliği, konuşma sürekliliğini ve kişiselleştirmeyi geliştirir
personalizedeğ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,tokenLimitdepolanan 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 vevalidKeysile 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?