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

Cấu hình bộ nhớ

Tổng quan

Đối tượng memory cho phép bạn cấu hình bộ nhớ hội thoại và các tính năng cá nhân hóa cho ứng dụng. Cấu hình này kiểm soát cách hệ thống ghi nhớ và cá nhân hóa các cuộc hội thoại, bao gồm giới hạn token, cửa sổ ngữ cảnh tin nhắn và xử lý bộ nhớ dựa trên tác nhân (agent).

Ví dụ

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
disabledBooleanVô hiệu hóa chức năng bộ nhớ khi được đặt thành true. Khi bị vô hiệu hóa, hệ thống sẽ không lưu trữ hoặc sử dụng bộ nhớ hội thoại.disabled: false

Mặc định: false

memory:
  disabled: true

validKeys

KeyTypeDescriptionExample
validKeysArray of StringsChỉ định các khóa nào hợp lệ để lưu trữ bộ nhớ. Điều này giúp kiểm soát các loại thông tin có thể được lưu trữ trong bộ nhớ.validKeys: ["user_name", "preferences", "ngữ cảnh"]

Mặc định: Không có hạn chế (tất cả các khóa đều hợp lệ)

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

tokenLimit

KeyTypeDescriptionExample
tokenLimitNumberThiết lập số lượng token tối đa có thể được sử dụng để lưu trữ và xử lý bộ nhớ.tokenLimit: 2000

Mặc định: Không giới hạn

memory:
  tokenLimit: 2000

charLimit

KeyTypeDescriptionExample
charLimitNumberThiết lập số lượng ký tự tối đa cho phép đối với các mục bộ nhớ riêng lẻ. Điều này giúp ngăn chặn các payload bộ nhớ quá lớn có thể ảnh hưởng đến hiệu suất hoặc vượt quá giới hạn API.charLimit: 10000

Mặc định: 10000

memory:
  charLimit: 10000

maxInputTokens

KeyTypeDescriptionExample
maxInputTokensNumberThiết lập số lượng token trò chuyện gần đây tối đa được gửi đến tác nhân bộ nhớ tự động trước khi trích xuất bộ nhớ. Các đầu vào dài sẽ bị cắt bớt từ phần đầu để giữ lại ngữ cảnh mới nhất.maxInputTokens: 12000

Mặc định: 12000

memory:
  maxInputTokens: 12000

personalize

KeyTypeDescriptionExample
personalizeBooleanKhi được đặt thành true, cho phép người dùng chọn tham gia hoặc từ chối sử dụng các tính năng bộ nhớ. Người dùng có thể bật/tắt bộ nhớ trong giao diện trò chuyện của họ. Khi là false, các tính năng bộ nhớ sẽ bị vô hiệu hóa hoàn toàn.personalize: true

Mặc định: true

memory:
  personalize: false

messageWindowSize

KeyTypeDescriptionExample
messageWindowSizeNumberChỉ định số lượng tin nhắn gần đây sẽ được đưa vào cửa sổ ngữ cảnh bộ nhớ.messageWindowSize: 5

Mặc định: 5

memory:
  messageWindowSize: 10

agent

KeyTypeDescriptionExample
agentObject | UnionCấu hình tác nhân chịu trách nhiệm xử lý bộ nhớ. Có thể là tham chiếu đến một tác nhân hiện có theo ID hoặc cấu hình tác nhân hoàn chỉnh.agent: { provider: "openAI", model: "gpt-4" }

Trường agent hỗ trợ hai định dạng cấu hình khác nhau:

Agent theo ID

Khi bạn đã có một agent được cấu hình sẵn, bạn có thể tham chiếu đến nó bằng ID của nó:

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

Cấu hình Agent tùy chỉnh

Để có quyền kiểm soát tốt hơn, bạn có thể xác định cấu hình đại lý hoàn chỉnh:

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

Các trường cấu hình Agent

Khi sử dụng cấu hình tác nhân tùy chỉnh, các trường sau đây sẽ khả dụng:

provider (bắt buộc)

KeyTypeDescriptionExample
providerStringChỉ định nhà cung cấp AI cho tác nhân bộ nhớ. Có thể là nhà cung cấp tích hợp sẵn (ví dụ: "openAI", "anthropic", "google") hoặc tên endpoint tùy chỉnh.provider: "openAI"

model (bắt buộc)

KeyTypeDescriptionExample
modelStringChỉ định model để sử dụng cho việc xử lý bộ nhớ.model: "gpt-4"

instructions (tùy chọn)

KeyTypeDescriptionExample
instructionsStringCác hướng dẫn tùy chỉnh thay thế cho các hướng dẫn mặc định về thời điểm thiết lập và/hoặc xóa bộ nhớ. Nên được sử dụng chủ yếu khi dùng validKeys yêu cầu xử lý thông tin cụ thể.instructions: "Only store user preferences and facts when explicitly mentioned."

model_parameters (tùy chọn)

KeyTypeDescriptionExample
model_parametersObjectCác tham số bổ sung để truyền cho model nhằm tinh chỉnh hành vi của nó. Các giá trị phải là chuỗi, số hoặc boolean.model_parameters: { temperature: 0.7 }

Ví dụ cấu hình hoàn chỉnh

Dưới đây là một ví dụ toàn diện hiển thị tất cả các tùy chọn cấu hình bộ nhớ:

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

Sử dụng Custom Endpoints

Tính năng bộ nhớ hỗ trợ các endpoint tùy chỉnh. Khi sử dụng một endpoint tùy chỉnh, trường provider phải khớp chính xác với name của endpoint tùy chỉnh đó. Các tiêu đề tùy chỉnh với biến môi trường và trình giữ chỗ người dùng được phân giải đúng cách.


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'

Ghi chú

  • Tính năng Memory giúp tăng cường tính liên tục và cá nhân hóa cho cuộc trò chuyện
  • Khi personalize là true, người dùng sẽ có một nút gạt trong giao diện trò chuyện để kiểm soát việc sử dụng bộ nhớ
  • Giới hạn token giúp kiểm soát mức sử dụng bộ nhớ và chi phí xử lý.
  • maxInputTokens giới hạn ngữ cảnh trò chuyện được gửi đến tác nhân bộ nhớ tự động, trong khi tokenLimit kiểm soát mức sử dụng bộ nhớ đã lưu trữ
  • Các khóa hợp lệ cung cấp khả năng kiểm soát chi tiết đối với thông tin nào có thể được lưu trữ
  • instructions tùy chỉnh sẽ thay thế các hướng dẫn xử lý bộ nhớ mặc định và nên được sử dụng cùng với validKeys
  • Cấu hình Agent cho phép tùy chỉnh hành vi xử lý bộ nhớ
  • Khi bị vô hiệu hóa, tất cả các tính năng bộ nhớ sẽ bị tắt bất kể các cài đặt khác.
  • Kích thước cửa sổ tin nhắn ảnh hưởng đến lượng ngữ cảnh gần đây được xem xét cho việc cập nhật bộ nhớ

Hướng dẫn này thế nào?