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

Cấu trúc cấu hình

Lưu ý: Các trường không được đề cập cụ thể là bắt buộc thì đều là tùy chọn.

version

  • bắt buộc
KeyTypeDescriptionExample
versionStringChỉ định phiên bản của tệp cấu hình.version: 1.3.13

cache

KeyTypeDescriptionExample
cacheBooleanBật hoặc tắt bộ nhớ đệm. Đặt thành `true` để kích hoạt bộ nhớ đệm (mặc định).cache: true

skillSync

KeyTypeDescriptionExample
skillSyncObjectCấu hình phản chiếu Skill bên ngoài. Trong v1.3.13, GitHub Skill Sync đã được hỗ trợ.

xem: Cấu trúc đối tượng Skill Sync

messageFilter

KeyTypeDescriptionExample
messageFilterObjectCấu hình các bộ lọc tin nhắn phía máy chủ. Trong phiên bản v1.3.13, `messageFilter.pii` có thể từ chối văn bản được gửi có dạng thông tin xác thực trước khi thực hiện các lệnh gọi mô hình và lưu trữ.

xem: Cấu trúc đối tượng bộ lọc tin nhắn

fileStrategy

  • Các tùy chọn: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategyStringXác định nơi lưu trữ các tệp do người dùng tải lên/tạo. Mặc định là `"local"` nếu không được chỉ định.fileStrategy: "firebase"
  • Ghi chú:
    • "cloudfront" lưu trữ các tệp trong S3 và trả về các URL CloudFront để phân phối phương tiện ổn định, cookie đã ký và tải xuống đã ký.
    • "firebase" phục vụ các tệp tin thông qua Firebase Storage và các vị trí biên (edge locations) của Firebase Hosting.
    • S3 phục vụ các tệp tin thông qua presigned URLs (các token được ký tạm thời) có thời hạn sử dụng. Sau khi hết hạn, bất kỳ hình ảnh hoặc ảnh đại diện nào tham chiếu đến URL đó sẽ hiển thị lỗi trong giao diện người dùng. Điều này khiến S3 không phù hợp làm chiến lược chính cho các tài nguyên hình ảnh. Xem thảo luận liên quan để biết thêm chi tiết.
    • Để có hiệu suất tốt nhất cho hình ảnh và ảnh đại diện, hãy sử dụng "cloudfront" hoặc "firebase", hoặc cấu hình fileStrategies để định tuyến avatarimage đến một chiến lược hỗ trợ CDN.
    • Vui lòng tham khảo tài liệu về File Storage & CDN để biết chi tiết về cách thiết lập

fileStrategies

Cho phép kiểm soát chi tiết các chiến lược lưu trữ tệp cho các loại tệp khác nhau.

  • Các chiến lược khả dụng: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategiesObjectCấu hình các chiến lược lưu trữ khác nhau cho các loại tệp khác nhau. Linh hoạt hơn tùy chọn fileStrategy đơn lẻ.

Các khóa phụ:

KeyTypeDescriptionExample
defaultStringChiến lược lưu trữ dự phòng khi loại cụ thể không được xác định. Mặc định là "local".
avatarStringChiến lược lưu trữ cho hình ảnh đại diện của người dùng và tác nhân. Khuyến nghị sử dụng chiến lược hỗ trợ CDN (`"cloudfront"` hoặc `"firebase"`) để có hiệu suất tốt nhất.
imageStringChiến lược lưu trữ cho hình ảnh được tải lên trong các cuộc trò chuyện. Khuyến nghị sử dụng chiến lược hỗ trợ bởi CDN (`"cloudfront"` hoặc `"firebase"`) để đạt hiệu suất tốt nhất.
documentStringChiến lược lưu trữ cho các tệp tin tải lên (PDF, tệp văn bản, v.v.).
skillsStringChiến lược lưu trữ cho các tệp được đóng gói cùng với Skills.
  • Ghi chú:
    • Cài đặt này được ưu tiên hơn tùy chọn fileStrategy đơn lẻ
    • Nếu một loại tệp cụ thể không được cấu hình, nó sẽ quay lại default, sau đó đến fileStrategy, và cuối cùng là "local"
    • Hình ảnh và ảnh đại diện cần các URL ổn định, lâu dài để hiển thị chính xác trên giao diện người dùng. Các URL được ký trước (presigned URLs) của S3 sẽ hết hạn (giới hạn của AWS: 7 ngày đối với người dùng IAM, vài giờ đối với thông tin xác thực dựa trên vai trò/STS), dẫn đến lỗi hiển thị hình ảnh trong bộ chọn model và giao diện trò chuyện. Xem thảo luận liên quan để biết ngữ cảnh đầy đủ. Hãy sử dụng "cloudfront" hoặc "firebase" cho avatarimage để tránh vấn đề này.
    • S3 và Azure Blob Storage rất phù hợp cho việc lưu trữ document, nơi mà các URL tải xuống được ký trước (presigned download URLs) có thời hạn ngắn là lựa chọn thích hợp.
    • Vui lòng tham khảo tài liệu File Storage & CDN để biết chi tiết thiết lập cho từng nhà cung cấp lưu trữ.

Các ví dụ:

# Use a single strategy for all file types
fileStrategies:
  default: 's3'
# Route images and avatars to CDN, keep documents in object storage
fileStrategies:
  avatar: 'cloudfront' # CDN delivery for avatars
  image: 'cloudfront' # CDN delivery for generated/uploaded images
  document: 's3' # Object storage for documents
# Only configure specific types, others use default
fileStrategies:
  default: 'local'
  avatar: 'firebase' # Only avatars use Firebase CDN, everything else is local

cloudfront

Khóa:

KeyTypeDescriptionExample
cloudfrontObjectCấu hình phân phối CloudFront cho các tệp được lưu trữ trong S3.

Các khóa con:

KeyTypeDescriptionExample
domainStringTên miền phân phối CloudFront hoặc CNAME. Bắt buộc khi bất kỳ chiến lược tệp nào sử dụng `"cloudfront"`.domain: "https://cdn.example.com"
distributionIdStringID phân phối CloudFront. Bắt buộc khi `invalidateOnDelete` là true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanTạo một invalidation CloudFront cho các tệp đã xóa. Mặc định: false.invalidateOnDelete: false
imageSigningStringKiểm soát quyền truy cập hình ảnh/avatar nội dòng. Các tùy chọn: `"none"` hoặc `"cookies"`. `"url"` được dành riêng và chưa được triển khai cho hình ảnh.imageSigning: "cookies"
cookieDomainStringYêu cầu miền cookie cha dùng chung cho các cookie đã ký. Phải bắt đầu bằng một dấu chấm.cookieDomain: ".example.com"
cookieExpiryNumberThời gian tồn tại của cookie đã ký tính bằng giây. Mặc định: 1800, tối đa: 604800.cookieExpiry: 1800
urlExpiryNumberThời hạn tính bằng giây của URL tải xuống CloudFront đã ký. Mặc định: 3600.urlExpiry: 3600
storageRegionStringNhãn vùng tùy chọn được sử dụng trong các khóa đối tượng được tạo khi các đường dẫn vùng được bật.storageRegion: "us-east-2"
includeRegionInPathBooleanBao gồm vùng lưu trữ trong các khóa đối tượng mới được tạo. Mặc định: false.includeRegionInPath: false
requireSignedAccessBooleanTừ chối khởi động khi không thể khởi tạo quyền truy cập CloudFront bằng cookie đã ký. Mặc định: false.requireSignedAccess: true

xem: Cấu trúc đối tượng CloudFrontCloudFront với S3

filteredTools

KeyTypeDescriptionExample
filteredToolsArray of StringsLọc các công cụ cụ thể khỏi cả endpoint Plugins và OpenAI Assistants.filteredTools: ["scholarai", "calculator"]
  • Ghi chú:
    • Nếu cả includedToolsfilteredTools đều được chỉ định, chỉ includedTools mới được nhận diện.
    • Ảnh hưởng đến cả hai endpoint gptPluginsassistants
    • Bạn có thể tìm thấy tên của các công cụ để lọc trong api/app/clients/tools/manifest.json
      • Sử dụng giá trị pluginKey
    • Ngoài ra, bất kỳ mục nào được liệt kê trong thư mục ".well-known" api/app/clients/tools/.well-known
      • Sử dụng giá trị name_for_model

includedTools

KeyTypeDescriptionExample
includedToolsArray of StringsBao gồm các công cụ cụ thể từ cả endpoint Plugins và OpenAI Assistants.includedTools: ["calculator"]
  • Ghi chú:
    • Nếu cả includedToolsfilteredTools đều được chỉ định, chỉ includedTools mới được nhận diện.
    • Ảnh hưởng đến cả hai endpoint gptPluginsassistants
    • Bạn có thể tìm thấy tên của các công cụ để lọc trong api/app/clients/tools/manifest.json
      • Sử dụng giá trị pluginKey
    • Ngoài ra, bất kỳ mục nào được liệt kê trong thư mục ".well-known" api/app/clients/tools/.well-known
      • Sử dụng giá trị name_for_model
KeyTypeDescriptionExample
secureImageLinksBooleanCó bảo mật quyền truy cập vào các liên kết hình ảnh được ứng dụng lưu trữ cục bộ hay không. Mặc định: false.secureImageLinks: true

imageOutputType

  • Lưu ý: Phân biệt chữ hoa chữ thường. Endpoint Google chỉ hỗ trợ các loại đầu ra "jpeg" và "png".
  • Các tùy chọn: "png" | "webp" | "jpeg"
KeyTypeDescriptionExample
imageOutputTypeStringLoại đầu ra hình ảnh cho các phản hồi hình ảnh. Mặc định là "png" nếu không được chỉ định.imageOutputType: "webp"

ocr

Khóa:

KeyTypeDescriptionExample
ocrObjectCấu hình các thiết lập Nhận dạng Ký tự Quang học (OCR) để trích xuất văn bản từ hình ảnh.

Các khóa con:

KeyTypeDescriptionExample
apiKeyStringKhóa API cho dịch vụ OCR.
baseURLStringURL cơ sở cho API dịch vụ OCR.
strategyStringChiến lược OCR cần sử dụng. Các tùy chọn bao gồm "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" hoặc "custom_ocr".
mistralModelStringMô hình Mistral để sử dụng cho xử lý OCR.

xem: Cấu trúc Đối tượng Cấu hình OCR

webSearch

Khóa:

KeyTypeDescriptionExample
webSearchObjectCấu hình chức năng tìm kiếm web, bao gồm các nhà cung cấp tìm kiếm, trình thu thập nội dung và trình xếp hạng lại kết quả.

Các khóa con:

KeyTypeDescriptionExample
serperApiKeyStringTên biến môi trường cho khóa API Serper. Nếu không được thiết lập trong .env, người dùng sẽ được yêu cầu cung cấp thông qua giao diện người dùng (UI).
searxngInstanceUrlStringTên biến môi trường cho URL của instance SearXNG. Nếu không được thiết lập trong .env, người dùng sẽ được nhắc cung cấp thông qua giao diện người dùng.
searxngApiKeyStringTên biến môi trường cho khóa API SearXNG. Nếu không được thiết lập trong .env, người dùng sẽ được yêu cầu cung cấp thông qua giao diện người dùng (UI).
tavilyApiKeyStringTên biến môi trường cho khóa API Tavily. Được sử dụng cho cả tìm kiếm và trình thu thập dữ liệu. Nếu không được thiết lập trong .env, người dùng sẽ được nhắc cung cấp thông qua giao diện người dùng.
tavilySearchUrlStringTên biến môi trường cho URL API Tìm kiếm Tavily tùy chỉnh. Tùy chọn; mặc định là tìm kiếm được lưu trữ trên Tavily khi không được thiết lập.
tavilyExtractUrlStringTên biến môi trường cho URL API Tavily Extract tùy chỉnh. Tùy chọn; mặc định sử dụng dịch vụ extract được lưu trữ bởi Tavily khi không được thiết lập.
firecrawlApiKeyStringTên biến môi trường cho khóa API Firecrawl. Nếu không được thiết lập trong .env, người dùng sẽ được nhắc cung cấp khóa này thông qua giao diện người dùng.
firecrawlApiUrlStringTên biến môi trường cho URL API Firecrawl. Nếu không được thiết lập trong .env, người dùng sẽ được nhắc cung cấp thông qua giao diện người dùng.
jinaApiKeyStringTên biến môi trường cho khóa API Jina. Nếu không được thiết lập trong .env, người dùng sẽ được yêu cầu cung cấp khóa này thông qua giao diện người dùng.
cohereApiKeyStringTên biến môi trường cho khóa API Cohere. Nếu không được thiết lập trong .env, người dùng sẽ được yêu cầu cung cấp thông qua giao diện người dùng.
searchProviderStringChỉ định nhà cung cấp tìm kiếm sẽ sử dụng. Các tùy chọn: "serper", "searxng", "tavily".
scraperProviderStringChỉ định dịch vụ scraper nào sẽ được sử dụng. Các tùy chọn: "firecrawl", "serper", "tavily".
firecrawlVersionStringChỉ định phiên bản Firecrawl API (v0 hoặc v1).
rerankerTypeStringChỉ định dịch vụ reranker sẽ sử dụng. Đặt thành "none" để bỏ qua reranking. Các tùy chọn: "jina", "cohere", "none".
scraperTimeoutIntegerThời gian chờ tính bằng mili giây cho các yêu cầu trình thu thập dữ liệu. Phải là một số nguyên không âm.
safeSearchNumberMức lọc tìm kiếm an toàn. 0 = TẮT, 1 = TRUNG BÌNH (mặc định), 2 = NGHIÊM NGẶT.

xem: Cấu trúc đối tượng tìm kiếm web

fileConfig

Khóa:

KeyTypeDescriptionExample
fileConfigObjectCấu hình các thiết lập xử lý tệp cho ứng dụng, bao gồm giới hạn kích thước và hạn chế loại MIME.

Các khóa con:

KeyTypeDescriptionExample
endpointsRecord/ObjectChỉ định các cấu hình xử lý tệp cho từng endpoint riêng lẻ, cho phép tùy chỉnh trên cơ sở từng endpoint.
serverFileSizeLimitNumberKích thước tệp tối đa (tính bằng MB) mà máy chủ sẽ chấp nhận. Áp dụng trên toàn cầu cho tất cả các endpoint trừ khi bị ghi đè bởi các cài đặt dành riêng cho từng endpoint.
avatarSizeLimitNumberKích thước tối đa (tính bằng MB) cho ảnh đại diện của người dùng.
clientImageResizeObjectCấu hình tính năng thay đổi kích thước ảnh phía máy khách để tối ưu hóa việc tải tệp lên và ngăn chặn lỗi tải lên do kích thước ảnh quá lớn.
ocrObjectCài đặt cho xử lý tệp Nhận dạng Ký tự Quang học (OCR).
textObjectCài đặt để phân tích cú pháp tệp văn bản trực tiếp.
sttObjectCài đặt cho việc xử lý tệp âm thanh Chuyển đổi giọng nói thành văn bản (STT).
fileTokenLimitNumberSố lượng token tối đa từ các tệp văn bản được bao gồm trong lời nhắc trước khi bị cắt bớt.fileTokenLimit: 100000

clientImageResize

Khóa:

KeyTypeDescriptionExample
clientImageResizeObjectCấu hình tính năng thay đổi kích thước ảnh phía máy khách để tối ưu hóa việc tải tệp lên và ngăn chặn lỗi tải lên do kích thước ảnh quá lớn.

Các khóa con:

KeyTypeDescriptionExample
enabledBooleanBật hoặc tắt tính năng thay đổi kích thước hình ảnh ở phía máy khách. Mặc định: false.enabled: true
maxWidthNumberChiều rộng tối đa tính bằng pixel cho hình ảnh đã thay đổi kích thước. Hình ảnh rộng hơn mức này sẽ được thay đổi kích thước. Mặc định: 1920.maxWidth: 1024
maxHeightNumberChiều cao tối đa tính bằng pixel cho hình ảnh đã thay đổi kích thước. Những hình ảnh cao hơn mức này sẽ được thay đổi kích thước. Mặc định: 1080.maxHeight: 768
qualityNumberChất lượng nén JPEG (0.1 đến 1.0). Giá trị càng cao thì chất lượng càng tốt nhưng kích thước tệp càng lớn. Mặc định: 0.8.quality: 0.9
compressFormatStringĐịnh dạng đầu ra cho hình ảnh đã nén. Các tùy chọn: "jpeg", "webp". Mặc định: "jpeg".compressFormat: "webp"

Mô tả:

Cấu hình clientImageResize cho phép tự động thay đổi kích thước hình ảnh ở phía máy khách trước khi tải lên. Tính năng này giúp:

  • Ngăn chặn lỗi tải lên do các tệp hình ảnh lớn vượt quá giới hạn của máy chủ
  • Giảm mức sử dụng băng thông bằng cách nén hình ảnh trước khi truyền tải
  • Cải thiện hiệu suất tải lên với kích thước tệp nhỏ hơn
  • Duy trì chất lượng hình ảnh trong khi tối ưu hóa kích thước tệp

Khi được bật, các hình ảnh vượt quá kích thước maxWidth hoặc maxHeight được chỉ định sẽ tự động thay đổi kích thước ở phía máy khách (client side) trước khi được tải lên máy chủ. Việc thay đổi kích thước này duy trì tỷ lệ khung hình gốc trong khi đảm bảo hình ảnh khớp với các giới hạn đã chỉ định.

Ví dụ:

fileConfig:
  clientImageResize:
    enabled: true
    maxWidth: 1920
    maxHeight: 1080
    quality: 0.8
    compressFormat: 'jpeg'

Ghi chú:

  • Chỉ áp dụng cho các tệp hình ảnh (JPEG, PNG, WebP, v.v.)
  • Việc thay đổi kích thước sẽ tự động diễn ra khi hình ảnh vượt quá các kích thước đã chỉ định
  • Tỷ lệ khung hình gốc được giữ nguyên trong quá trình thay đổi kích thước
  • Tính năng này hoạt động với tất cả các endpoint tải lên hình ảnh được hỗ trợ
  • Cài đặt chất lượng chỉ áp dụng cho các định dạng JPEG và WebP
  • Đặt chất lượng quá thấp (< 0.5) có thể dẫn đến hiện tượng suy giảm chất lượng hình ảnh đáng kể

xem: Cấu trúc đối tượng cấu hình tệp

rateLimits

Khóa:

KeyTypeDescriptionExample
rateLimitsObjectXác định các chính sách giới hạn tốc độ để ngăn chặn lạm dụng bằng cách giới hạn số lượng yêu cầu.

Các khóa con:

KeyTypeDescriptionExample
fileUploadsObjectCấu hình giới hạn tốc độ cụ thể cho các thao tác tải tệp lên.
conversationsImportObjectCấu hình giới hạn tốc độ cụ thể cho các thao tác nhập cuộc trò chuyện.
sttObjectCấu hình giới hạn tốc độ cụ thể cho các yêu cầu chuyển đổi giọng nói thành văn bản (stt)
ttsObjectCấu hình giới hạn tốc độ cụ thể cho các yêu cầu chuyển văn bản thành giọng nói (tts)

Các subkey của fileUploads:

KeyTypeDescriptionExample
ipMaxNumberSố lượng tệp tải lên tối đa cho phép trên mỗi địa chỉ IP trong mỗi khoảng thời gian.
ipWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn tải lên dựa trên IP.
userMaxNumberSố lượng tệp tải lên tối đa cho phép mỗi người dùng trong mỗi khoảng thời gian.
userWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn tải lên dựa trên người dùng.

conversationsImport Subkeys:

KeyTypeDescriptionExample
ipMaxNumberSố lượng lượt nhập tối đa cho phép trên mỗi địa chỉ IP trong mỗi khoảng thời gian.
ipWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn nhập dựa trên IP.
userMaxNumberSố lượng lượt nhập tối đa cho mỗi người dùng trong mỗi cửa sổ.
userWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn nhập liệu dựa trên người dùng.

Các khóa con tts:

KeyTypeDescriptionExample
ipMaxNumberSố lượng yêu cầu tối đa cho phép trên mỗi địa chỉ IP trong một khoảng thời gian.
ipWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn yêu cầu dựa trên IP.
userMaxNumberSố lượng yêu cầu tối đa cho mỗi người dùng trong mỗi khoảng thời gian.
userWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn yêu cầu dựa trên người dùng.

Các khóa con stt:

KeyTypeDescriptionExample
ipMaxNumberSố lượng yêu cầu tối đa cho phép trên mỗi địa chỉ IP trong một khoảng thời gian.
ipWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn yêu cầu dựa trên IP.
userMaxNumberSố lượng yêu cầu tối đa cho mỗi người dùng trong mỗi khoảng thời gian.
userWindowInMinutesNumberCửa sổ thời gian tính bằng phút cho giới hạn yêu cầu dựa trên người dùng.
  • Ví dụ:
rateLimits:
  fileUploads:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  conversationsImport:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  stt:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1
  tts:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1

registration

Khóa:

KeyTypeDescriptionExample
registrationObjectCấu hình các thiết lập liên quan đến đăng ký cho ứng dụng.

Các khóa con:

KeyTypeDescriptionExample
socialLoginsCấu hình đăng nhập mạng xã hội.
allowedDomainsChỉ định các tên miền được phép đăng ký.

xem thêm:

memory

Khóa:

KeyTypeDescriptionExample
memoryObjectCấ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ác khóa con:

KeyTypeDescriptionExample
disabledBooleanVô hiệu hóa chức năng bộ nhớ khi được đặt thành true.
validKeysArray of StringsChỉ định các khóa nào hợp lệ cho lưu trữ bộ nhớ.
tokenLimitNumberThiết lập số lượng token tối đa cho việc lưu trữ và xử lý bộ nhớ.
charLimitNumberThiết lập số lượng ký tự tối đa cho bộ nhớ lưu trữ. Mặc định: 10000.
maxInputTokensNumberGiới hạn số lượng token của các cuộc trò chuyện gần đây được gửi đến tác nhân bộ nhớ tự động trước khi trích xuất. Mặc định: 12000.
personalizeBooleanBật hoặc tắt các tính năng cá nhân hóa.
messageWindowSizeNumberChỉ định số lượng tin nhắn gần đây sẽ được đưa vào ngữ cảnh bộ nhớ.
agentObject | UnionCấu hình tác nhân chịu trách nhiệm xử lý bộ nhớ.

xem: Cấu trúc đối tượng Memory

summarization

Khóa:

KeyTypeDescriptionExample
summarizationObjectCấu hình tính năng tóm tắt hội thoại và cắt tỉa ngữ cảnh. Thay thế các trường `summarize` và `summaryModel` cho từng endpoint.

Các khóa con:

KeyTypeDescriptionExample
providerStringNhà cung cấp LLM cho các lệnh gọi tóm tắt. Mặc định là nhà cung cấp của chính tác nhân đó.
modelStringMô hình cho các lệnh gọi tóm tắt. Mặc định là mô hình của chính tác nhân đó.
parametersObjectCác tham số LLM bổ sung cho các yêu cầu tóm tắt.
promptStringLời nhắc tùy chỉnh cho việc tóm tắt ban đầu.
updatePromptStringLời nhắc tùy chỉnh để nén lại khi đã có bản tóm tắt trước đó.
triggerObjectXác định thời điểm kích hoạt tóm tắt (theo tỷ lệ token, số token còn lại hoặc số lượng tin nhắn).
maxSummaryTokensNumberSố lượng token đầu ra tối đa cho phản hồi của mô hình tóm tắt.
reserveRatioNumberTỷ lệ ngân sách token được dành riêng làm khoảng dự phòng (0–1). Mặc định: 0.05.
contextPruningObjectCấu hình việc suy giảm kết quả công cụ dựa trên vị trí cho các tin nhắn cũ hơn.

xem: Cấu trúc đối tượng tóm tắt

actions

Khóa:

KeyTypeDescriptionExample
actionsObjectCấu hình các cài đặt liên quan đến hành động, được sử dụng bởi Agents và Assistants

Các khóa con:

KeyTypeDescriptionExample
allowedDomainsArray of StringsDanh sách trắng nghiêm ngặt các tên miền cho các hành động. Khi được thiết lập, chỉ các tên miền được liệt kê mới có thể truy cập được.
allowedAddressesArray of StringsDanh sách miễn trừ SSRF (chỉ dành cho dải IP riêng). Cho phép các dịch vụ host:port riêng cụ thể mà không hạn chế các đích đến công khai khi `allowedDomains` chưa được cấu hình.

xem thêm:

interface

Khóa:

KeyTypeDescriptionExample
interfaceObjectCấu hình các phần tử giao diện người dùng trong ứng dụng, cho phép tùy chỉnh khả năng hiển thị và hành vi của các thành phần khác nhau.

Các khóa con:

KeyTypeDescriptionExample
privacyPolicyObjectChứa các cài đặt liên quan đến liên kết chính sách quyền riêng tư được cung cấp.
termsOfServiceObjectChứa các cài đặt liên quan đến liên kết điều khoản dịch vụ được cung cấp.
modelSelectBooleanXác định xem tính năng chọn model có khả dụng hay không.
parametersBooleanBật/tắt khả năng hiển thị của các tùy chọn cấu hình tham số hay còn gọi là cài đặt cuộc trò chuyện.
presetsBooleanBật hoặc tắt menu cài đặt sẵn (presets)
promptsBoolean or ObjectBật hoặc tắt tất cả các tính năng liên quan đến prompt cho tất cả người dùng
bookmarksBooleanBật hoặc tắt tất cả các tính năng liên quan đến dấu trang cho tất cả người dùng
memoriesBooleanBật hoặc tắt tính năng bộ nhớ cho tất cả người dùng
multiConvoBooleanBật hoặc tắt tất cả các tính năng liên quan đến "multi convo", hay còn gọi là phát trực tuyến nhiều phản hồi, cho tất cả người dùng
agentsBoolean or ObjectBật hoặc tắt tất cả các tính năng đại lý cho mọi người dùng
temporaryChatBooleanBật hoặc tắt tính năng trò chuyện tạm thời
temporaryChatRetentionNumberCấu hình thời gian lưu giữ cho các cuộc trò chuyện tạm thời tính bằng giờ. Tối thiểu: 1, Tối đa: 8760. Mặc định: 720 (30 ngày).
autoSubmitFromUrlBooleanKiểm soát việc liệu `/c/new?prompt=…&submit=true` có tự động gửi đến model hay không. Khi là `false`, prompt sẽ được điền sẵn nhưng không tự động gửi.
mcpServersObjectChứa các cài đặt liên quan đến việc lựa chọn máy chủ MCP và kiểm soát truy cập.
customWelcomeStringThông báo chào mừng tùy chỉnh được hiển thị trong giao diện trò chuyện.
runCodeBooleanBật hoặc tắt nút "Run Code" cho các Khối Mã Markdown
webSearchBooleanBật hoặc tắt nút tìm kiếm web trong giao diện trò chuyện
fileSearchBooleanBật hoặc tắt nút tìm kiếm tệp trong giao diện trò chuyện
fileCitationsBooleanBật hoặc tắt trích dẫn tệp trên toàn hệ thống cho tất cả người dùng
peoplePickerObjectCấu hình các loại đối tượng chính có sẵn trong giao diện chọn người dùng
marketplaceObjectBật hoặc tắt quyền truy cập vào Agent Marketplace

xem: Cấu trúc đối tượng giao diện

modelSpecs

Khóa:

KeyTypeDescriptionExample
modelSpecsObjectCấu hình Model Specs, cho phép thiết lập và tùy chỉnh chi tiết các mô hình AI cùng hành vi của chúng trong ứng dụng.

Các khóa con:

KeyTypeDescriptionExample
enforceBooleanXác định xem Model Specs có nên ghi đè nghiêm ngặt lên các cài đặt cấu hình khác hay không.
prioritizeBooleanChỉ định liệu Model Specs có nên được ưu tiên hơn cấu hình mặc định khi cả hai đều có thể áp dụng hay không.
listArray of ObjectsChứa danh sách các thông số kỹ thuật của từng model riêng lẻ, trình bày chi tiết các cấu hình và hành vi khác nhau.

xem: Cấu trúc đối tượng Model Specs

endpoints

Khóa:

KeyTypeDescriptionExample
endpointsObjectĐịnh nghĩa các endpoint API tùy chỉnh cho ứng dụng.

Các khóa con:

KeyTypeDescriptionExample
customArray of ObjectsMỗi đối tượng trong mảng đại diện cho một cấu hình endpoint duy nhất.
azureOpenAIObjectCấu hình cụ thể cho endpoint Azure OpenAI
assistantsObjectCấu hình cụ thể cho endpoint Assistants.
azureAssistantsObjectCấu hình cụ thể cho endpoint Azure Assistants.
agentsObjectCấu hình cụ thể cho endpoint Agents.
allObjectCác cài đặt endpoint toàn cục áp dụng cho tất cả các endpoint. Xem Shared Endpoint Settings.
allowedAddressesArray of StringsDanh sách miễn trừ SSRF (chỉ dành cho dải IP riêng). Cho phép các baseURL do người dùng cung cấp trỏ đến các dịch vụ host:port riêng cụ thể (ví dụ: Ollama tự lưu trữ) mà không cần tắt bảo vệ SSRF cho mọi thứ khác.

Lưu ý: Các endpoint hỗ trợ Shared Endpoint Settings như streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpointmaxToolResultChars. Các cài đặt này có thể được cấu hình riêng lẻ cho từng endpoint hoặc cấu hình chung bằng cách sử dụng khóa all. headers sẽ được hợp nhất, trong đó các giá trị ở cấp độ endpoint sẽ được ưu tiên nếu xảy ra xung đột khóa. Khóa all không chấp nhận baseURL.

Lưu ý: endpoints.allowedAddresses áp dụng cho các giá trị baseURL do người dùng cung cấp (khi quản trị viên cấu hình một endpoint tùy chỉnh với apiKey: 'user_provided'baseURL: 'user_provided'). Mỗi baseURL do người dùng cung cấp sẽ được xác thực dựa trên khối SSRF tại thời điểm yêu cầu; các mục được liệt kê ở đây sẽ được miễn trừ. Xem mcpSettings.allowedAddresses để biết ngữ nghĩa của trường — các quy tắc tương tự được áp dụng (chỉ áp dụng cho không gian IP riêng, bắt buộc có cổng, không chấp nhận URL/đường dẫn/CIDR/máy chủ trần/IP công cộng cụ thể).

mcpSettings

Khóa:

KeyTypeDescriptionExample
mcpSettingsObjectXác định các cài đặt chung cho các máy chủ Model Context Protocol (MCP)

Các khóa con:

KeyTypeDescriptionExample
allowedDomainsArray of StringsDanh sách trắng nghiêm ngặt các tên miền cho kết nối máy chủ MCP. Khi được thiết lập, chỉ các mục được liệt kê mới có thể truy cập được.
allowedAddressesArray of StringsDanh sách miễn trừ SSRF (chỉ dành cho dải IP riêng). Cho phép các dịch vụ host:port riêng cụ thể mà không cần chuyển `allowedDomains` sang chế độ danh sách trắng nghiêm ngặt.
  • Ghi chú:
    • Đây là một tính năng bảo mật nhằm bảo vệ khỏi việc lạm dụng / sử dụng sai mục đích các địa chỉ nội bộ thông qua các máy chủ MCP
    • Theo mặc định, LibreChat hạn chế các máy chủ MCP kết nối với các địa chỉ mạng nội bộ, cục bộ hoặc riêng tư.
    • Các MCP server sử dụng địa chỉ IP hoặc tên miền cục bộ có thể được thêm vào danh sách trắng allowedDomains nghiêm ngặt (khi đó danh sách này sẽ trở thành tập hợp duy nhất có thể truy cập được), hoặc — để giữ cho các đích đến công khai có thể truy cập được — được miễn trừ dưới dạng các dịch vụ host:port chính xác thông qua allowedAddresses
    • Như với tất cả các thay đổi cấu hình yaml, cần phải khởi động lại LibreChat để các thay đổi có hiệu lực.
    • Hỗ trợ các tên miền, tên miền phụ đại diện (*.example.com), tên miền Docker và địa chỉ IP

Ví dụ:

mcpSettings:
  # Strict whitelist mode:
  # allowedDomains:
  #   - "example.com"           # Specific domain
  #   - "*.example.com"         # All subdomains
  #   - "http://mcp-server:3000" # Internal service, explicitly whitelisted

  # Default SSRF mode with private service exemptions:
  allowedAddresses:
    - 'host.docker.internal:8080' # Permit one private host on one port
    - '10.0.0.5:8000' # Permit one private IP on one port

xem: Cấu trúc đối tượng cài đặt MCP

mcpServers

Khóa:

KeyTypeDescriptionExample
mcpServersObjectĐịnh nghĩa cấu hình cho các máy chủ Model Context Protocol (MCP), cho phép tích hợp linh hoạt các máy chủ MCP vào trong ứng dụng.

Các khóa con:

KeyTypeDescriptionExample
<serverName>ObjectMỗi khóa dưới `mcpServers` đại diện cho một cấu hình máy chủ MCP riêng lẻ, được xác định bằng một tên duy nhất.
  • Ghi chú:
    • Quá trình khởi tạo diễn ra khi khởi động và ứng dụng phải được khởi động lại để các thay đổi có hiệu lực.
    • <serverName> là một định danh duy nhất cho mỗi cấu hình MCP server.
    • Mỗi MCP server có thể được cấu hình bằng cách sử dụng một trong bốn loại kết nối:
      • stdio
      • websocket
      • sse
      • streamable-http
    • Trường type chỉ định loại kết nối tới máy chủ MCP.
    • Nếu type bị bỏ qua, nó sẽ mặc định dựa trên sự hiện diện và định dạng của url hoặc command:
      • Nếu url được chỉ định và bắt đầu bằng http hoặc https, type sẽ mặc định là sse.
      • Nếu url được chỉ định và bắt đầu bằng ws hoặc wss, type sẽ mặc định là websocket.
      • Nếu command được chỉ định, type sẽ mặc định là stdio.
    • Các tùy chọn cấu hình bổ sung bao gồm:
      • timeout: Thời gian chờ tính bằng mili giây cho các yêu cầu máy chủ MCP. Xác định thời gian chờ phản hồi cho các yêu cầu công cụ.
      • initTimeout: Thời gian chờ tính bằng mili giây để khởi tạo máy chủ MCP. Xác định khoảng thời gian chờ đợi để máy chủ khởi tạo.
      • serverInstructions: Kiểm soát việc liệu các hướng dẫn từ máy chủ có được bao gồm trong ngữ cảnh của tác nhân (agent) hay không. Có thể là true (sử dụng hướng dẫn do máy chủ cung cấp), false (đã tắt), hoặc một chuỗi tùy chỉnh (ghi đè lên hướng dẫn do máy chủ cung cấp).
      • customUserVars: (Tùy chọn) Xác định các biến tùy chỉnh (ví dụ: khóa API, URL) mà từng người dùng có thể thiết lập cho một máy chủ MCP. Các giá trị theo từng người dùng này, được cung cấp thông qua giao diện người dùng, sau đó có thể được tham chiếu trong cấu hình headers hoặc env của máy chủ bằng cú pháp {{VARIABLE_NAME}}. Điều này cho phép xác thực hoặc tùy chỉnh theo từng người dùng cho các công cụ MCP.
    • xem: Cấu trúc đối tượng MCP Servers

Ví dụ:

mcpServers:
  everything:
    # type: sse # type can optionally be omitted
    url: http://localhost:3001/sse
    timeout: 30000
    initTimeout: 10000
    serverInstructions: true # Use server-provided instructions
  puppeteer:
    type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'
    timeout: 30000
    initTimeout: 10000
    serverInstructions: 'Do not access any local files or local/internal IP addresses'
  filesystem:
    # type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-filesystem'
      - /home/user/LibreChat/
    iconPath: /home/user/LibreChat/client/public/assets/logo.svg
  mcp-obsidian:
    command: npx
    args:
      - -y
      - 'mcp-obsidian'
      - /path/to/obsidian/vault
  streamable-http-example:
    type: streamable-http
    url: https://example.com/mcp
    headers:
      Authorization: 'Bearer ${API_TOKEN}'
    timeout: 30000
  per-user-crendentials-example:
    type: sse
    url: 'https//some.mcp/sse'
    headers:
      X-Custom-Auth-Token: '{{USER_API_KEY}}' # Placeholder for the user-provided API key, defined in `customUserVars` below.
    customUserVars:
      USER_API_KEY:
        title: 'Service API Key'
        description: "Your personal API key for this service. You can get it <a href='https://example.com/api-keys' target='_blank'>here</a>."
    serverInstructions: true

xem: Cấu trúc đối tượng MCP Servers

speech

Khóa:

KeyTypeDescriptionExample
speechObjectCấu hình các nhà cung cấp Chuyển đổi văn bản thành giọng nói (TTS) và Chuyển đổi giọng nói thành văn bản (STT) cho ứng dụng.

Các khóa con:

KeyTypeDescriptionExample
ttsObjectCấu hình nhà cung cấp Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI).
sttObjectCấu hình nhà cung cấp Speech-to-Text (OpenAI, Azure OpenAI).
speechTabObjectCác cài đặt giao diện người dùng mặc định cho các tính năng giọng nói.

xem: Cấu trúc đối tượng Speech

turnstile

Khóa:

KeyTypeDescriptionExample
turnstileObjectCấu hình Cloudflare Turnstile để bảo vệ chống bot trên các biểu mẫu đăng ký và đăng nhập.

Các khóa con:

KeyTypeDescriptionExample
siteKeyStringKhóa trang web Cloudflare Turnstile của bạn (bắt buộc).
optionsObjectCác tùy chọn tiện ích Turnstile bổ sung (tùy chọn).

xem: Cấu trúc đối tượng Turnstile

transactions

Khóa:

KeyTypeDescriptionExample
transactionsObjectKiểm soát các tính năng ghi nhật ký giao dịch và hiển thị.

Các khóa con:

KeyTypeDescriptionExample
enabledBooleanBật hoặc tắt ghi nhật ký giao dịch. Mặc định: true.

xem: Cấu trúc đối tượng Transactions

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