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

Konfigurasi Memory

Ikhtisar

Objek memory memungkinkan Anda untuk mengonfigurasi memori percakapan dan fitur personalisasi untuk aplikasi ini. Konfigurasi ini mengontrol bagaimana sistem mengingat dan mempersonalisasi percakapan, termasuk batas token, jendela konteks pesan, dan pemrosesan memori berbasis agen.

Contoh

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
disabledBooleanMenonaktifkan fungsi memori saat disetel ke true. Saat dinonaktifkan, sistem tidak akan menyimpan atau menggunakan memori percakapan.disabled: false

Default: false

memory:
  disabled: true

validKeys

KeyTypeDescriptionExample
validKeysArray of StringsMenentukan kunci mana yang valid untuk penyimpanan memori. Ini membantu mengontrol jenis informasi apa yang dapat disimpan di dalam memori.validKeys: ["user_name", "preferences", "konteks"]

Default: Tanpa batasan (semua kunci valid)

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

tokenLimit

KeyTypeDescriptionExample
tokenLimitNumberMenetapkan jumlah maksimum token yang dapat digunakan untuk penyimpanan dan pemrosesan memori.tokenLimit: 2000

Default: Tanpa batas

memory:
  tokenLimit: 2000

charLimit

KeyTypeDescriptionExample
charLimitNumberMenetapkan jumlah maksimum karakter yang diizinkan untuk entri memori individual. Ini mencegah payload memori yang terlalu besar yang dapat memengaruhi performa atau melebihi batas API.charLimit: 10000

Default: 10000

memory:
  charLimit: 10000

maxInputTokens

KeyTypeDescriptionExample
maxInputTokensNumberMengatur jumlah maksimum token percakapan terkini yang dikirim ke agen memori otomatis sebelum ekstraksi memori. Input yang panjang akan dipotong dari awal sehingga konteks terbaru tetap terjaga.maxInputTokens: 12000

Default: 12000

memory:
  maxInputTokens: 12000

personalize

KeyTypeDescriptionExample
personalizeBooleanJika diatur ke true, memberikan pengguna kemampuan untuk memilih untuk ikut serta atau keluar dari penggunaan fitur memori. Pengguna dapat mengaktifkan/menonaktifkan memori di antarmuka obrolan mereka. Jika false, fitur memori dinonaktifkan sepenuhnya.personalize: true

Default: true

memory:
  personalize: false

messageWindowSize

KeyTypeDescriptionExample
messageWindowSizeNumberMenentukan jumlah pesan terbaru yang disertakan dalam jendela konteks memori.messageWindowSize: 5

Default: 5

memory:
  messageWindowSize: 10

agent

KeyTypeDescriptionExample
agentObject | UnionMengonfigurasi agen yang bertanggung jawab untuk pemrosesan memori. Dapat berupa referensi ke agen yang sudah ada berdasarkan ID atau konfigurasi agen lengkap.agent: { provider: "openAI", model: "gpt-4" }

Kolom agent mendukung dua format konfigurasi yang berbeda:

Agen berdasarkan ID

Saat Anda memiliki agen yang telah dikonfigurasi sebelumnya, Anda dapat mereferensikannya berdasarkan ID-nya:

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

Konfigurasi Agen Kustom

Untuk kontrol lebih lanjut, Anda dapat menentukan konfigurasi agen secara lengkap:

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

Bidang Konfigurasi Agen

Saat menggunakan konfigurasi agen kustom, kolom-kolom berikut tersedia:

provider (wajib)

KeyTypeDescriptionExample
providerStringMenentukan penyedia AI untuk agen memori. Dapat berupa penyedia bawaan (contoh: "openAI", "anthropic", "google") atau nama endpoint kustom.provider: "openAI"

model (wajib)

KeyTypeDescriptionExample
modelStringMenentukan model yang akan digunakan untuk pemrosesan memori.model: "gpt-4"

instruksi (opsional)

KeyTypeDescriptionExample
instructionsStringInstruksi kustom yang menggantikan instruksi default untuk kapan harus mengatur dan/atau menghapus memori. Sebaiknya digunakan terutama saat menggunakan validKeys yang memerlukan penanganan informasi khusus.instructions: "Only store user preferences and facts when explicitly mentioned."

model_parameters (opsional)

KeyTypeDescriptionExample
model_parametersObjectParameter tambahan untuk diteruskan ke model guna menyempurnakan perilakunya. Nilai harus berupa string, angka, atau boolean.model_parameters: { temperature: 0.7 }

Contoh Konfigurasi Lengkap

Berikut adalah contoh komprehensif yang menampilkan semua opsi konfigurasi memori:

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

Menggunakan Custom Endpoints

Fitur memory mendukung endpoint kustom. Saat menggunakan endpoint kustom, kolom provider harus sama persis dengan name endpoint kustom tersebut. Header kustom dengan variabel lingkungan dan placeholder pengguna akan diselesaikan dengan benar.


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'

Catatan

  • Fungsionalitas Memory meningkatkan kontinuitas dan personalisasi percakapan
  • Ketika personalize bernilai true, pengguna mendapatkan tombol toggle di antarmuka obrolan mereka untuk mengontrol penggunaan memori
  • Batas token membantu mengontrol penggunaan memori dan biaya pemrosesan
  • maxInputTokens membatasi konteks obrolan yang dikirim ke agen memori otomatis, sementara tokenLimit mengontrol penggunaan memori yang disimpan
  • Kunci yang valid memberikan kontrol terperinci atas informasi apa yang dapat disimpan
  • instructions kustom menggantikan instruksi penanganan memori default dan harus digunakan dengan validKeys
  • Konfigurasi agen memungkinkan kustomisasi perilaku pemrosesan memori
  • Saat dinonaktifkan, semua fitur memori akan dimatikan terlepas dari pengaturan lainnya
  • Ukuran jendela pesan memengaruhi seberapa banyak konteks terkini yang dipertimbangkan untuk pembaruan memori

Bagaimana panduan ini?