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
| Key | Type | Description | Example |
|---|---|---|---|
| version | String | Chỉ định phiên bản của tệp cấu hình. | version: 1.3.13 |
cache
| Key | Type | Description | Example |
|---|---|---|---|
| cache | Boolean | Bậ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
| Key | Type | Description | Example |
|---|---|---|---|
| skillSync | Object | Cấ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
| Key | Type | Description | Example |
|---|---|---|---|
| messageFilter | Object | Cấ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"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategy | String | Xá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ìnhfileStrategiesđể định tuyếnavatarvàimageđế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"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategies | Object | Cấ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ụ:
| Key | Type | Description | Example |
|---|---|---|---|
| default | String | Chiế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". | |
| avatar | String | Chiế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. | |
| image | String | Chiế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. | |
| document | String | Chiế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.). | |
| skills | String | Chiế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 đó đếnfileStrategy, 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"choavatarvàimageđể 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ài đặt này được ưu tiên hơn tùy chọn
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 localcloudfront
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| cloudfront | Object | Cấu hình phân phối CloudFront cho các tệp được lưu trữ trong S3. |
Các khóa con:
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Tê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" |
| distributionId | String | ID phân phối CloudFront. Bắt buộc khi `invalidateOnDelete` là true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Tạo một invalidation CloudFront cho các tệp đã xóa. Mặc định: false. | invalidateOnDelete: false |
| imageSigning | String | Kiể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" |
| cookieDomain | String | Yê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" |
| cookieExpiry | Number | Thờ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 |
| urlExpiry | Number | Thời hạn tính bằng giây của URL tải xuống CloudFront đã ký. Mặc định: 3600. | urlExpiry: 3600 |
| storageRegion | String | Nhã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" |
| includeRegionInPath | Boolean | Bao 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 |
| requireSignedAccess | Boolean | Từ 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 CloudFront và CloudFront với S3
filteredTools
| Key | Type | Description | Example |
|---|---|---|---|
| filteredTools | Array of Strings | Lọc các công cụ cụ thể khỏi cả endpoint Plugins và OpenAI Assistants. | filteredTools: ["scholarai", "calculator"] |
- Ghi chú:
- Nếu cả
includedToolsvàfilteredToolsđều được chỉ định, chỉincludedToolsmới được nhận diện. - Ảnh hưởng đến cả hai endpoint
gptPluginsvàassistants - 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
- Sử dụng giá trị
- 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
- Sử dụng giá trị
- Nếu cả
includedTools
| Key | Type | Description | Example |
|---|---|---|---|
| includedTools | Array of Strings | Bao gồm các công cụ cụ thể từ cả endpoint Plugins và OpenAI Assistants. | includedTools: ["calculator"] |
- Ghi chú:
- Nếu cả
includedToolsvàfilteredToolsđều được chỉ định, chỉincludedToolsmới được nhận diện. - Ảnh hưởng đến cả hai endpoint
gptPluginsvàassistants - 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
- Sử dụng giá trị
- 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
- Sử dụng giá trị
- Nếu cả
secureImageLinks
| Key | Type | Description | Example |
|---|---|---|---|
| secureImageLinks | Boolean | Có 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"
| Key | Type | Description | Example |
|---|---|---|---|
| imageOutputType | String | Loạ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:
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | String | Khóa API cho dịch vụ OCR. | |
| baseURL | String | URL cơ sở cho API dịch vụ OCR. | |
| strategy | String | Chiế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". | |
| mistralModel | String | Mô 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:
| Key | Type | Description | Example |
|---|---|---|---|
| webSearch | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| serperApiKey | String | Tê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). | |
| searxngInstanceUrl | String | Tê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. | |
| searxngApiKey | String | Tê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). | |
| tavilyApiKey | String | Tê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. | |
| tavilySearchUrl | String | Tê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. | |
| tavilyExtractUrl | String | Tê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. | |
| firecrawlApiKey | String | Tê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. | |
| firecrawlApiUrl | String | Tê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. | |
| jinaApiKey | String | Tê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. | |
| cohereApiKey | String | Tê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. | |
| searchProvider | String | Chỉ định nhà cung cấp tìm kiếm sẽ sử dụng. Các tùy chọn: "serper", "searxng", "tavily". | |
| scraperProvider | String | Chỉ định dịch vụ scraper nào sẽ được sử dụng. Các tùy chọn: "firecrawl", "serper", "tavily". | |
| firecrawlVersion | String | Chỉ định phiên bản Firecrawl API (v0 hoặc v1). | |
| rerankerType | String | Chỉ đị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". | |
| scraperTimeout | Integer | Thờ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. | |
| safeSearch | Number | Mứ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:
| Key | Type | Description | Example |
|---|---|---|---|
| fileConfig | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Chỉ đị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. | |
| serverFileSizeLimit | Number | Kí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. | |
| avatarSizeLimit | Number | Kích thước tối đa (tính bằng MB) cho ảnh đại diện của người dùng. | |
| clientImageResize | Object | Cấ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. | |
| ocr | Object | Cài đặt cho xử lý tệp Nhận dạng Ký tự Quang học (OCR). | |
| text | Object | Cài đặt để phân tích cú pháp tệp văn bản trực tiếp. | |
| stt | Object | Cà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). | |
| fileTokenLimit | Number | Số 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:
| Key | Type | Description | Example |
|---|---|---|---|
| clientImageResize | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Bậ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 |
| maxWidth | Number | Chiề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 |
| maxHeight | Number | Chiề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 |
| quality | Number | Chấ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 |
| compressFormat | String | Đị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:
| Key | Type | Description | Example |
|---|---|---|---|
| rateLimits | Object | Xá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:
| Key | Type | Description | Example |
|---|---|---|---|
| fileUploads | Object | Cấu hình giới hạn tốc độ cụ thể cho các thao tác tải tệp lên. | |
| conversationsImport | Object | Cấu hình giới hạn tốc độ cụ thể cho các thao tác nhập cuộc trò chuyện. | |
| stt | Object | Cấ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) | |
| tts | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Số 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. | |
| ipWindowInMinutes | Number | Cử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. | |
| userMax | Number | Số 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. | |
| userWindowInMinutes | Number | Cử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:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Số 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. | |
| ipWindowInMinutes | Number | Cửa sổ thời gian tính bằng phút cho giới hạn nhập dựa trên IP. | |
| userMax | Number | Số lượng lượt nhập tối đa cho mỗi người dùng trong mỗi cửa sổ. | |
| userWindowInMinutes | Number | Cử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:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Số 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. | |
| ipWindowInMinutes | Number | Cử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. | |
| userMax | Number | Số lượng yêu cầu tối đa cho mỗi người dùng trong mỗi khoảng thời gian. | |
| userWindowInMinutes | Number | Cử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:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Số 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. | |
| ipWindowInMinutes | Number | Cử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. | |
| userMax | Number | Số lượng yêu cầu tối đa cho mỗi người dùng trong mỗi khoảng thời gian. | |
| userWindowInMinutes | Number | Cử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: 1registration
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| registration | Object | Cấu hình các thiết lập liên quan đến đăng ký cho ứng dụng. |
Các khóa con:
| Key | Type | Description | Example |
|---|---|---|---|
| socialLogins | Cấu hình đăng nhập mạng xã hội. | ||
| allowedDomains | Chỉ định các tên miền được phép đăng ký. |
xem thêm:
memory
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| memory | Object | 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ác khóa con:
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Vô hiệu hóa chức năng bộ nhớ khi được đặt thành true. | |
| validKeys | Array of Strings | Chỉ định các khóa nào hợp lệ cho lưu trữ bộ nhớ. | |
| tokenLimit | Number | Thiết lập số lượng token tối đa cho việc lưu trữ và xử lý bộ nhớ. | |
| charLimit | Number | Thiết lập số lượng ký tự tối đa cho bộ nhớ lưu trữ. Mặc định: 10000. | |
| maxInputTokens | Number | Giớ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. | |
| personalize | Boolean | Bật hoặc tắt các tính năng cá nhân hóa. | |
| messageWindowSize | Number | Chỉ định số lượng tin nhắn gần đây sẽ được đưa vào ngữ cảnh bộ nhớ. | |
| agent | Object | Union | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| summarization | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Nhà 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 đó. | |
| model | String | Mô 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 đó. | |
| parameters | Object | Các tham số LLM bổ sung cho các yêu cầu tóm tắt. | |
| prompt | String | Lời nhắc tùy chỉnh cho việc tóm tắt ban đầu. | |
| updatePrompt | String | Lời nhắc tùy chỉnh để nén lại khi đã có bản tóm tắt trước đó. | |
| trigger | Object | Xá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). | |
| maxSummaryTokens | Number | Số lượng token đầu ra tối đa cho phản hồi của mô hình tóm tắt. | |
| reserveRatio | Number | Tỷ 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. | |
| contextPruning | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| actions | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Danh 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. | |
| allowedAddresses | Array of Strings | Danh 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:
| Key | Type | Description | Example |
|---|---|---|---|
| interface | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| privacyPolicy | Object | Chứ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. | |
| termsOfService | Object | Chứ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. | |
| modelSelect | Boolean | Xác định xem tính năng chọn model có khả dụng hay không. | |
| parameters | Boolean | Bậ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. | |
| presets | Boolean | Bật hoặc tắt menu cài đặt sẵn (presets) | |
| prompts | Boolean or Object | Bậ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 | |
| bookmarks | Boolean | Bậ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 | |
| memories | Boolean | Bật hoặc tắt tính năng bộ nhớ cho tất cả người dùng | |
| multiConvo | Boolean | Bậ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 | |
| agents | Boolean or Object | Bật hoặc tắt tất cả các tính năng đại lý cho mọi người dùng | |
| temporaryChat | Boolean | Bật hoặc tắt tính năng trò chuyện tạm thời | |
| temporaryChatRetention | Number | Cấ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). | |
| autoSubmitFromUrl | Boolean | Kiể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. | |
| mcpServers | Object | Chứ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. | |
| customWelcome | String | Thông báo chào mừng tùy chỉnh được hiển thị trong giao diện trò chuyện. | |
| runCode | Boolean | Bật hoặc tắt nút "Run Code" cho các Khối Mã Markdown | |
| webSearch | Boolean | Bật hoặc tắt nút tìm kiếm web trong giao diện trò chuyện | |
| fileSearch | Boolean | Bật hoặc tắt nút tìm kiếm tệp trong giao diện trò chuyện | |
| fileCitations | Boolean | Bậ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 | |
| peoplePicker | Object | Cấ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 | |
| marketplace | Object | Bậ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:
| Key | Type | Description | Example |
|---|---|---|---|
| modelSpecs | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| enforce | Boolean | Xá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. | |
| prioritize | Boolean | Chỉ đị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. | |
| list | Array of Objects | Chứ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:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Object | Định nghĩa các endpoint API tùy chỉnh cho ứng dụng. |
Các khóa con:
| Key | Type | Description | Example |
|---|---|---|---|
| custom | Array of Objects | Mỗi đối tượng trong mảng đại diện cho một cấu hình endpoint duy nhất. | |
| azureOpenAI | Object | Cấu hình cụ thể cho endpoint Azure OpenAI | |
| assistants | Object | Cấu hình cụ thể cho endpoint Assistants. | |
| azureAssistants | Object | Cấu hình cụ thể cho endpoint Azure Assistants. | |
| agents | Object | Cấu hình cụ thể cho endpoint Agents. | |
| all | Object | Các cài đặt endpoint toàn cục áp dụng cho tất cả các endpoint. Xem Shared Endpoint Settings. | |
| allowedAddresses | Array of Strings | Danh 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,titleEndpointvàmaxToolResultChars. 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óaall.headerssẽ đượ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óaallkhông chấp nhậnbaseURL.
Lưu ý:
endpoints.allowedAddressesáp dụng cho các giá trịbaseURLdo 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ớiapiKey: 'user_provided'và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ừ. XemmcpSettings.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:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpSettings | Object | Xác định các cài đặt chung cho các máy chủ Model Context Protocol (MCP) |
Các khóa con:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Danh 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. | |
| allowedAddresses | Array of Strings | Danh 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
allowedDomainsnghiê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 quaallowedAddresses - 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 portxem: Cấu trúc đối tượng cài đặt MCP
mcpServers
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpServers | Object | Đị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:
| Key | Type | Description | Example |
|---|---|---|---|
| <serverName> | Object | Mỗ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:
stdiowebsocketssestreamable-http
- Trường
typechỉ định loại kết nối tới máy chủ MCP. - Nếu
typebị bỏ qua, nó sẽ mặc định dựa trên sự hiện diện và định dạng củaurlhoặccommand:- Nếu
urlđược chỉ định và bắt đầu bằnghttphoặchttps,typesẽ mặc định làsse. - Nếu
urlđược chỉ định và bắt đầu bằngwshoặcwss,typesẽ mặc định làwebsocket. - Nếu
commandđược chỉ định,typesẽ mặc định làstdio.
- Nếu
- 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ìnhheadershoặcenvcủ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: truexem: Cấu trúc đối tượng MCP Servers
speech
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| speech | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| tts | Object | Cấu hình nhà cung cấp Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI). | |
| stt | Object | Cấu hình nhà cung cấp Speech-to-Text (OpenAI, Azure OpenAI). | |
| speechTab | Object | Cá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:
| Key | Type | Description | Example |
|---|---|---|---|
| turnstile | Object | Cấ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:
| Key | Type | Description | Example |
|---|---|---|---|
| siteKey | String | Khóa trang web Cloudflare Turnstile của bạn (bắt buộc). | |
| options | Object | Cá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:
| Key | Type | Description | Example |
|---|---|---|---|
| transactions | Object | Kiể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:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Bậ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
Các liên kết bổ sung
- Cấu trúc đối tượng tóm tắt
- Cấu trúc đối tượng AWS Bedrock
- Cấu trúc đối tượng endpoint tùy chỉnh
- Cấu trúc đối tượng endpoint Azure OpenAI
- Cấu trúc đối tượng Assistants endpoint
- Agents
- Cấu trúc đối tượng cấu hình OCR
- Cấu trúc đối tượng Speech
- Cấu trúc đối tượng Turnstile
- Cấu trúc đối tượng Transactions
- Cấu trúc đối tượng Balance
- Cấu trúc đối tượng Tìm kiếm Web
- Cấu trúc đối tượng Memory
Hướng dẫn này thế nào?