Cấu trúc đối tượng cấu hình tệp
Tổng quan
Đối tượng fileConfig cho phép bạn 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. Phần này cung cấp thông tin chi tiết về cấu trúc của đối tượng fileConfig.
Có 8 trường chính trong fileConfig:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Ghi chú:
- Tại thời điểm viết bài, endpoint Assistants hỗ trợ các loại tệp từ danh sách này.
- OpenAI, Azure OpenAI, Google và các endpoint tùy chỉnh hỗ trợ tệp thông qua RAG API.
- Các endpoint OpenAI, Azure OpenAI, Anthropic, Google và AWS Bedrock hỗ trợ tải tệp trực tiếp thông qua Upload to Provider.
- Các phần
ocr,text, vàsttkiểm soát việc xử lý tệp cho các tính năng như Upload as Text và OCR - Bất kỳ endpoint nào khác không được đề cập, chẳng hạn như Plugins, đều không hỗ trợ tải tệp lên (tính đến hiện tại).
- Endpoint Assistants có giá trị endpoint được xác định là
assistants. Tất cả các endpoint khác sử dụng giá trị được xác định làdefault- Đối với các endpoint không phải là assistants, bạn có thể điều chỉnh cài đặt tệp cho tất cả chúng trong mục
default - Nếu bạn muốn điều chỉnh cài đặt cho một endpoint cụ thể, bạn có thể liệt kê các tên endpoint tương ứng của chúng:
assistants- không sử dụng "default" vì nó đã có các giá trị mặc định được xác định riêng biệt so với các giá trị khác.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Đối với các endpoint không phải là assistants, bạn có thể điều chỉnh cài đặt tệp cho tất cả chúng trong mục
- Bạn có thể bỏ qua các giá trị, trong trường hợp đó, ứng dụng sẽ sử dụng các giá trị mặc định như được xác định cho từng loại endpoint được liệt kê dưới đây.
- LibreChat tính 1 megabyte như sau:
1 x 1024 x 1024
Ví dụ
fileConfig:
endpoints:
assistants:
fileLimit: 5
fileSizeLimit: 10
totalSizeLimit: 50
supportedMimeTypes:
- "image/.*"
- "application/pdf"
openAI:
disabled: true
default:
totalSizeLimit: 20
YourCustomEndpointName:
fileLimit: 5
fileSizeLimit: 1000
supportedMimeTypes:
- "image/.*"
serverFileSizeLimit: 1000
avatarSizeLimit: 2
fileTokenLimit: 100000
imageGeneration:
percentage: 100
px: 1024
ocr:
supportedMimeTypes:
- "^image/(jpeg|gif|png|webp|heic|heif)$"
- "^application/pdf$"
- "^application/vnd\\.openxmlformats-officedocument\\.(wordprocessingml\\.document|presentationml\\.presentation|spreadsheetml\\.sheet)$"
- "^application/vnd\\.ms-(word|powerpoint|excel)$"
- "^application/epub\\+zip$"
text:
supportedMimeTypes:
- "^text/(plain|markdown|csv|json|xml|html|css|javascript|typescript|x-python|x-java|x-csharp|x-php|x-ruby|x-go|x-rust|x-kotlin|x-swift|x-scala|x-perl|x-lua|x-shell|x-sql|x-yaml|x-toml)$"
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"serverFileSizeLimit
| Key | Type | Description | Example |
|---|---|---|---|
| serverFileSizeLimit | Integer | Kích thước tối đa toàn cục cho bất kỳ tệp nào được tải lên máy chủ, được chỉ định bằng megabyte (MB). | Acts as an overarching limit for file uploads across all endpoints, ensuring that no file exceeds this size server-wide. |
fileConfig:
serverFileSizeLimit: 1000avatarSizeLimit
| Key | Type | Description | Example |
|---|---|---|---|
| avatarSizeLimit | Integer | Kích thước tối đa cho phép đối với hình ảnh đại diện, được chỉ định bằng megabyte (MB). | Specifically tailored for user avatar uploads, allowing for control over image sizes to maintain consistent quality and loading times. |
fileConfig:
avatarSizeLimit: 2imageGeneration
| Key | Type | Description | Example |
|---|---|---|---|
| imageGeneration | Object | Các cài đặt liên quan đến chất lượng và kích thước đầu ra của quá trình tạo hình ảnh. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration hỗ trợ các tham số sau:
-
percentage(Số nguyên)- Kích thước đầu ra của hình ảnh được tạo dưới dạng phần trăm (ví dụ:
100nghĩa là 100% kích thước cơ sở). - Sử dụng tùy chọn này để thay đổi tỷ lệ hình ảnh đầu ra so với kích thước mặc định hoặc kích thước gốc.
- Kích thước đầu ra của hình ảnh được tạo dưới dạng phần trăm (ví dụ:
-
px(Số nguyên)- Chỉ định kích thước hình ảnh đầu ra theo pixel (ví dụ:
1024). - Sử dụng tùy chọn này để thiết lập kích thước đầu ra của hình ảnh được tạo một cách rõ ràng, bất kể kích thước cơ sở.
- Chỉ định kích thước hình ảnh đầu ra theo pixel (ví dụ:
Bạn chỉ có thể thiết lập một trong hai tham số này (percentage hoặc px), không được thiết lập cả hai, tùy thuộc vào trường hợp sử dụng của bạn.
Ví dụ cấu hình:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| 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 |
Mô tả: Khi đính kèm nội dung văn bản, LibreChat sẽ cắt bớt văn bản tại thời điểm chạy (runtime) theo giới hạn token đã cấu hình ngay trước khi xây dựng prompt.
Mặc định: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Cài đặt cho xử lý tệp Nhận dạng Ký tự Quang học (OCR). | Configures which file types are processed using OCR. |
Mô tả: Phần ocr cấu hình các loại tệp tin nào sẽ được xử lý bằng chức năng OCR để trích xuất văn bản từ các tài liệu hình ảnh.
Lưu ý: Phần này kiểm soát việc khớp loại tệp cho quá trình xử lý OCR. Để bật các khả năng của tác nhân (agent) và cấu hình các dịch vụ OCR, hãy xem:
- Cấu hình Agents cho các capability
ocrvàcontext - Cấu hình OCR để thiết lập dịch vụ OCR
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Danh sách các mẫu kiểu MIME cho các tệp cần được xử lý bằng OCR. | Uses regular expressions to match file types. |
Mặc định: Hình ảnh, tệp PDF và tài liệu Office
fileConfig:
ocr:
supportedMimeTypes:
- "^image/(jpeg|gif|png|webp|heic|heif)$"
- "^application/pdf$"
- "^application/vnd\\.openxmlformats-officedocument\\.(wordprocessingml\\.document|presentationml\\.presentation|spreadsheetml\\.sheet)$"
- "^application/vnd\\.ms-(word|powerpoint|excel)$"
- "^application/epub\\+zip$"text
| Key | Type | Description | Example |
|---|---|---|---|
| text | Object | Cài đặt để phân tích tệp văn bản trực tiếp mà không cần OCR. | Configures which file types are processed as plain text files for direct content extraction. |
Mô tả: Phần text cấu hình các loại tệp nào sẽ được xử lý bằng cách sử dụng trích xuất văn bản trực tiếp.
Lưu ý: Phân tích văn bản là phương thức mặc định được sử dụng bởi tính năng "Tải lên dưới dạng văn bản" (được kiểm soát bởi khả năng context). Hệ thống trước tiên sẽ cố gắng sử dụng thư viện phân tích văn bản từ RAG API, và nếu RAG API không được kết nối, hệ thống sẽ chuyển sang phương thức trích xuất văn bản đơn giản hơn mà không yêu cầu bất kỳ dịch vụ bên ngoài nào. Xem Tải lên dưới dạng văn bản để biết thêm thông tin.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Danh sách các mẫu kiểu MIME cho các tệp nên được phân tích dưới dạng văn bản thuần túy. | Uses regular expressions to match file types. |
Mặc định: Tất cả các tệp văn bản và ngôn ngữ lập trình phổ biến
fileConfig:
text:
supportedMimeTypes:
- "^text/(plain|markdown|csv|json|xml|html|css|javascript|typescript|x-python|x-java|x-csharp|x-php|x-ruby|x-go|x-rust|x-kotlin|x-swift|x-scala|x-perl|x-lua|x-shell|x-sql|x-yaml|x-toml)$"stt
| Key | Type | Description | Example |
|---|---|---|---|
| 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). | Configures which audio file types are processed using STT for transcription. |
Mô tả: Phần stt cấu hình các loại tệp âm thanh nào sẽ được xử lý bằng chức năng Speech-to-Text để chuyển đổi âm thanh thành văn bản.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Danh sách các mẫu kiểu MIME cho tệp âm thanh cần được chuyển đổi thành văn bản bằng STT. | Uses regular expressions to match audio file types. |
Mặc định: Các định dạng âm thanh phổ biến
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Ghi chú:
- Các tệp khớp với các mẫu
textsẽ được xử lý bằng cách trích xuất văn bản đơn giản - Các tệp khớp với các mẫu
ocrsẽ được xử lý bằng dịch vụ OCR được cung cấp - Các tệp khớp với các mẫu
sttsẽ được xử lý bằng tính năng chuyển đổi giọng nói thành văn bản (Speech-to-Text). - Thứ tự ưu tiên xử lý: OCR > STT > phân tích văn bản > dự phòng
- Các tệp không khớp với bất kỳ mẫu nào sẽ quay lại sử dụng phân tích văn bản
Ưu tiên xử lý tệp
LibreChat xử lý các tệp đã tải lên dựa trên việc khớp loại MIME theo thứ tự ưu tiên sau:
- OCR - Nếu tệp khớp với
ocr.supportedMimeTypesVÀ OCR đã được cấu hình - STT - Nếu tệp khớp với
stt.supportedMimeTypesVÀ STT đã được cấu hình - Phân tích văn bản - Nếu tệp khớp với
text.supportedMimeTypes - Dự phòng (Fallback) - Phân tích văn bản như là phương án cuối cùng
Thứ tự xử lý này đảm bảo chất lượng trích xuất tối ưu trong khi vẫn duy trì chức năng ngay cả khi các dịch vụ chuyên biệt (OCR/STT) chưa được cấu hình.
Các ví dụ về xử lý
Tệp PDF đã cấu hình OCR:
- Tệp khớp với
ocr.supportedMimeTypes - Sử dụng OCR để trích xuất văn bản
- Chất lượng tốt hơn cho các tệp PDF và hình ảnh đã quét
Tệp PDF không được cấu hình OCR:
- Tệp khớp với
text.supportedMimeTypes(hoặc sử dụng dự phòng) - Sử dụng thư viện phân tích cú pháp văn bản
- Hoạt động tốt với các tệp PDF kỹ thuật số có văn bản có thể chọn được
Tệp Python:
- Tệp khớp với
text.supportedMimeTypes - Sử dụng phân tích văn bản (không cần OCR)
- Trích xuất văn bản trực tiếp
Tệp âm thanh với STT đã được cấu hình:
- Tệp khớp với
stt.supportedMimeTypes - Sử dụng STT để chuyển đổi âm thanh thành văn bản
Tệp hình ảnh không được cấu hình OCR:
- Tệp khớp với
ocr.supportedMimeTypesnhưng OCR không khả dụng - Tự động chuyển sang phân tích văn bản
- Khả năng trích xuất hạn chế nếu không có OCR
Hệ thống ưu tiên này cho phép các tính năng như "Upload as Text" hoạt động mà không cần cấu hình OCR, đồng thời vẫn tận dụng OCR khi khả dụng để cải thiện chất lượng trích xuất.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Cấu hình các thiết lập 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. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Mô tả: Mỗi đối tượng trong endpoints là một bản ghi có thể chứa các cài đặt sau:
Tổng quan
disabled- Liệu việc xử lý tệp có bị vô hiệu hóa đối với endpoint này hay không.
fileLimit- Số lượng tệp tối đa được phép cho mỗi yêu cầu tải lên.
fileSizeLimit- Kích thước tối đa cho một tệp tin đơn lẻ. Tính theo đơn vị MB (ví dụ: sử dụng
20cho 20 megabyte)
- Kích thước tối đa cho một tệp tin đơn lẻ. Tính theo đơn vị MB (ví dụ: sử dụng
totalSizeLimit- Tổng kích thước tối đa cho tất cả các tệp trong một yêu cầu duy nhất. Theo đơn vị MB (ví dụ: sử dụng
20cho 20 megabyte)
- Tổng kích thước tối đa cho tất cả các tệp trong một yêu cầu duy nhất. Theo đơn vị MB (ví dụ: sử dụng
supportedMimeTypes- Một danh sách các Regular Expressions chỉ định những MIME type nào được phép tải lên. Danh sách này có thể được tùy chỉnh để hạn chế các loại tệp.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Cho biết liệu tính năng tải tệp lên có bị vô hiệu hóa cho một endpoint cụ thể hay không. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Mặc định: false
openAI:
disabled: truefileLimit
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | Số lượng tệp tối đa được phép trong một yêu cầu tải lên. | Helps control the volume of uploads and manage server load. |
Mặc định: Thay đổi tùy theo endpoint
assistants:
fileLimit: 5fileSizeLimit
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | Kích thước tối đa cho phép đối với mỗi tệp riêng lẻ, được chỉ định bằng megabyte (MB). | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Mặc định: Thay đổi tùy theo endpoint
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | Tổng kích thước tối đa cho phép đối với tất cả các tệp trong một yêu cầu, được chỉ định bằng megabyte (MB). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Mặc định: Thay đổi tùy theo endpoint
assistants:
totalSizeLimit: 50supportedMimeTypes
Khóa:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Danh sách các biểu thức chính quy xác định các loại MIME được phép tải lên. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Mặc định: Thay đổi tùy theo endpoint
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"Hướng dẫn này thế nào?