Struktur Objek Konfigurasi File
Ikhtisar
Objek fileConfig memungkinkan Anda untuk mengonfigurasi pengaturan penanganan file untuk aplikasi, termasuk batas ukuran dan pembatasan tipe MIME. Bagian ini memberikan rincian mendalam mengenai struktur objek fileConfig.
Terdapat 8 kolom utama di bawah fileConfig:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Catatan:
- Pada saat penulisan ini, endpoint Assistants mendukung tipe file dari daftar ini.
- OpenAI, Azure OpenAI, Google, dan endpoint Custom mendukung file melalui RAG API.
- Endpoint OpenAI, Azure OpenAI, Anthropic, Google, dan AWS Bedrock mendukung unggahan file langsung melalui Upload to Provider.
- Bagian
ocr,text, dansttmengontrol pemrosesan file untuk fitur seperti Upload as Text dan OCR - Endpoint lain yang tidak disebutkan, seperti Plugins, belum mendukung unggahan file (untuk saat ini).
- Endpoint Assistants memiliki nilai endpoint yang ditentukan yaitu
assistants. Semua endpoint lainnya menggunakan nilai yang ditentukan yaitudefault- Untuk endpoint non-asisten, Anda dapat menyesuaikan pengaturan file untuk semuanya di bawah
default - Jika Anda ingin menyesuaikan pengaturan untuk endpoint tertentu, Anda dapat mencantumkan nama endpoint yang sesuai:
assistants- tidak menggunakan "default" karena memiliki default yang ditentukan secara terpisah dari yang lain.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Untuk endpoint non-asisten, Anda dapat menyesuaikan pengaturan file untuk semuanya di bawah
- Anda dapat mengabaikan nilai-nilai tersebut, dalam hal ini, aplikasi akan menggunakan nilai default sebagaimana ditentukan per tipe endpoint yang tercantum di bawah ini.
- LibreChat menghitung 1 megabyte sebagai berikut:
1 x 1024 x 1024
Contoh
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 | Ukuran maksimum global untuk file apa pun yang diunggah ke server, ditentukan dalam megabita (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 | Ukuran maksimum yang diizinkan untuk gambar avatar, ditentukan dalam megabita (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 | Pengaturan terkait kualitas dan dimensi output pembuatan gambar. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration mendukung parameter berikut:
-
percentage(Bilangan Bulat)- Ukuran output dari gambar yang dihasilkan dinyatakan sebagai persentase (contoh:
100berarti 100% dari ukuran dasar). - Gunakan ini untuk menskalakan gambar keluaran relatif terhadap ukuran default atau ukuran asli.
- Ukuran output dari gambar yang dihasilkan dinyatakan sebagai persentase (contoh:
-
px(Bilangan Bulat)- Menentukan dimensi gambar keluaran dalam piksel (contoh:
1024). - Gunakan ini untuk menetapkan ukuran output gambar yang dihasilkan secara eksplisit, terlepas dari ukuran dasar.
- Menentukan dimensi gambar keluaran dalam piksel (contoh:
Anda hanya boleh menetapkan salah satu dari parameter ini (percentage atau px), bukan keduanya, tergantung pada kasus penggunaan Anda.
Contoh konfigurasi:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | Jumlah maksimum token dari file teks yang disertakan dalam prompt sebelum pemotongan. | fileTokenLimit: 100000 |
Deskripsi: Saat melampirkan konten teks, LibreChat memotong teks tersebut pada saat runtime sesuai dengan batas token yang dikonfigurasi tepat sebelum pembuatan prompt.
Default: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Pengaturan untuk pemrosesan file Optical Character Recognition (OCR). | Configures which file types are processed using OCR. |
Deskripsi: Bagian ocr mengonfigurasi jenis file mana yang harus diproses menggunakan fungsionalitas OCR untuk mengekstrak teks dari dokumen visual.
Catatan: Bagian ini mengontrol pencocokan tipe file untuk pemrosesan OCR. Untuk mengaktifkan kemampuan agen dan mengonfigurasi layanan OCR, lihat:
- Konfigurasi Agents untuk kapabilitas
ocrdancontext - Konfigurasi OCR untuk pengaturan layanan OCR
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Daftar pola tipe MIME untuk file yang harus diproses dengan OCR. | Uses regular expressions to match file types. |
Default: Gambar, PDF, dan dokumen 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 | Pengaturan untuk penguraian file teks langsung tanpa OCR. | Configures which file types are processed as plain text files for direct content extraction. |
Deskripsi: Bagian text mengonfigurasi jenis file mana yang harus diproses menggunakan ekstraksi teks langsung.
Catatan: Penguraian teks adalah metode default yang digunakan oleh fitur "Upload as Text" (dikendalikan oleh kapabilitas context). Fitur ini pertama-tama mencoba menggunakan pustaka penguraian teks dari API RAG, dan jika API RAG tidak terhubung, fitur ini akan beralih ke metode ekstraksi teks yang lebih sederhana tanpa memerlukan layanan eksternal apa pun. Lihat Upload as Text untuk informasi lebih lanjut.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Daftar pola tipe MIME untuk file yang harus diurai sebagai teks biasa. | Uses regular expressions to match file types. |
Default: Semua file teks dan bahasa pemrograman umum
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 | Pengaturan untuk pemrosesan file audio Speech-to-Text (STT). | Configures which audio file types are processed using STT for transcription. |
Deskripsi: Bagian stt mengonfigurasi jenis file audio mana yang harus diproses menggunakan fungsionalitas Speech-to-Text untuk mengubah audio menjadi teks.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Daftar pola tipe MIME untuk file audio yang harus ditranskripsi dengan STT. | Uses regular expressions to match audio file types. |
Default: Format audio umum
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Catatan:
- File yang cocok dengan pola
textdiproses dengan ekstraksi teks sederhana - File yang cocok dengan pola
ocrdiproses dengan layanan OCR yang disediakan - File yang cocok dengan pola
sttdiproses dengan transkripsi Speech-to-Text - Prioritas pemrosesan: OCR > STT > penguraian teks > fallback
- File yang tidak cocok dengan pola apa pun akan kembali ke penguraian teks
Prioritas Pemrosesan File
LibreChat memproses file yang diunggah berdasarkan pencocokan tipe MIME dengan urutan prioritas berikut:
- OCR - Jika file cocok dengan
ocr.supportedMimeTypesDAN OCR telah dikonfigurasi - STT - Jika file cocok dengan
stt.supportedMimeTypesDAN STT telah dikonfigurasi - Penguraian Teks - Jika file cocok dengan
text.supportedMimeTypes - Fallback - Penguraian teks sebagai upaya terakhir
Urutan pemrosesan ini memastikan kualitas ekstraksi yang optimal sekaligus menjaga fungsionalitas tetap berjalan meskipun layanan khusus (OCR/STT) tidak dikonfigurasi.
Contoh Pemrosesan
File PDF dengan OCR dikonfigurasi:
- File cocok dengan
ocr.supportedMimeTypes - Menggunakan OCR untuk mengekstrak teks
- Kualitas yang lebih baik untuk PDF hasil pindaian dan gambar
File PDF tanpa OCR dikonfigurasi:
- File cocok dengan
text.supportedMimeTypes(atau menggunakan fallback) - Menggunakan pustaka text parsing
- Berfungsi dengan baik untuk PDF digital dengan teks yang dapat dipilih
File Python:
- File cocok dengan
text.supportedMimeTypes - Menggunakan penguraian teks (tidak perlu OCR)
- Ekstraksi teks langsung
File audio dengan STT dikonfigurasi:
- File cocok dengan
stt.supportedMimeTypes - Menggunakan STT untuk mentranskripsikan audio menjadi teks
File gambar tanpa OCR dikonfigurasi:
- File cocok dengan
ocr.supportedMimeTypestetapi OCR tidak tersedia - Beralih ke penguraian teks
- Kemampuan ekstraksi terbatas tanpa OCR
Sistem prioritas ini memungkinkan fitur seperti "Upload as Text" berfungsi tanpa memerlukan konfigurasi OCR, sekaligus tetap memanfaatkan OCR jika tersedia untuk kualitas ekstraksi yang lebih baik.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Mengonfigurasi pengaturan penanganan file untuk endpoint individual, memungkinkan kustomisasi berdasarkan basis per endpoint. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Deskripsi: Setiap objek di bawah endpoints adalah record yang dapat memiliki pengaturan berikut:
Gambaran Umum
disabled- Apakah penanganan file dinonaktifkan untuk endpoint tersebut.
fileLimit- Jumlah maksimum file yang diizinkan per permintaan unggahan.
fileSizeLimit- Ukuran maksimum untuk satu file. Dalam satuan MB (contoh: gunakan
20untuk 20 megabyte)
- Ukuran maksimum untuk satu file. Dalam satuan MB (contoh: gunakan
totalSizeLimit- Ukuran maksimum total untuk semua file dalam satu permintaan. Dalam satuan MB (contoh: gunakan
20untuk 20 megabyte)
- Ukuran maksimum total untuk semua file dalam satu permintaan. Dalam satuan MB (contoh: gunakan
supportedMimeTypes- Daftar Regular Expressions yang menentukan tipe MIME apa saja yang diizinkan untuk diunggah. Ini dapat disesuaikan untuk membatasi tipe file.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Menunjukkan apakah pengunggahan file dinonaktifkan untuk endpoint tertentu. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Default: false
openAI:
disabled: truefileLimit
Kunci:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | Jumlah maksimum file yang diizinkan dalam satu permintaan unggahan. | Helps control the volume of uploads and manage server load. |
Default: Bervariasi tergantung endpoint
assistants:
fileLimit: 5fileSizeLimit
Kunci:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | Ukuran maksimum yang diizinkan untuk setiap file individu, ditentukan dalam megabyte (MB). | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Default: Bervariasi tergantung endpoint
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Kunci:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | Ukuran maksimum total yang diizinkan untuk semua file dalam satu permintaan, ditentukan dalam megabyte (MB). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Default: Bervariasi tergantung endpoint
assistants:
totalSizeLimit: 50supportedMimeTypes
Kunci:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Daftar ekspresi reguler yang menentukan tipe MIME yang diizinkan untuk diunggah. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Default: Bervariasi tergantung endpoint
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"Bagaimana panduan ini?