Dosya Yapılandırma Nesnesi Yapısı
Genel Bakış
fileConfig nesnesi, boyut sınırları ve MIME türü kısıtlamaları dahil olmak üzere uygulama için dosya işleme ayarlarını yapılandırmanıza olanak tanır. Bu bölüm, fileConfig nesne yapısının ayrıntılı bir dökümünü sağlar.
fileConfig altında 8 ana alan bulunmaktadır:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Notlar:
- Bu yazının yazıldığı sırada, Assistants endpoint'i bu listedeki dosya türlerini desteklemektedir.
- OpenAI, Azure OpenAI, Google ve Custom endpoint'leri, RAG API aracılığıyla dosyaları destekler.
- OpenAI, Azure OpenAI, Anthropic, Google ve AWS Bedrock endpoint'leri, Upload to Provider aracılığıyla doğrudan dosya yüklemeyi destekler.
ocr,textvesttbölümleri, Upload as Text ve OCR gibi özellikler için dosya işlemeyi kontrol eder.- Plugins gibi bahsedilmeyen diğer endpoint'ler (henüz) dosya yüklemeyi desteklememektedir.
- Assistants endpoint'inin tanımlanmış bir endpoint değeri
assistantsşeklindedir. Diğer tüm endpoint'lerdefaulttanımlı değerini kullanır.- Asistan olmayan endpoint'ler için, bunların tümüne ait dosya ayarlarını
defaultaltında düzenleyebilirsiniz. - Belirli bir endpoint için ayarları düzenlemek isterseniz, bunlara karşılık gelen endpoint adlarını listeleyebilirsiniz:
assistants- diğerlerinden ayrı tanımlanmış varsayılanlara sahip olduğundan "default" kullanmaz.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Asistan olmayan endpoint'ler için, bunların tümüne ait dosya ayarlarını
- Değerleri atlayabilirsiniz; bu durumda uygulama, aşağıda listelenen endpoint türüne göre tanımlanan varsayılan değerleri kullanacaktır.
- LibreChat 1 megabaytı şu şekilde hesaplar:
1 x 1024 x 1024
Örnek
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 | Sunucuya yüklenen herhangi bir dosya için megabayt (MB) cinsinden belirtilen küresel maksimum boyut. | 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 | Avatar görselleri için izin verilen maksimum boyut, megabayt (MB) cinsinden belirtilmiştir. | 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 | Görsel oluşturma çıktı kalitesi ve boyutlarıyla ilgili ayarlar. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration aşağıdaki parametreleri destekler:
-
percentage(Tamsayı)- Oluşturulan görselin yüzde olarak ifade edilen çıktı boyutu (örneğin,
100temel boyutun %100'ü anlamına gelir). - Bunu, çıktı görüntüsünü varsayılan veya orijinal boyuta göre ölçeklendirmek için kullanın.
- Oluşturulan görselin yüzde olarak ifade edilen çıktı boyutu (örneğin,
-
px(Tam Sayı)- Çıktı görsel boyutunu piksel cinsinden belirtir (örneğin
1024). - Bunu, temel boyuttan bağımsız olarak oluşturulan görselin çıktı boyutunu açıkça ayarlamak için kullanın.
- Çıktı görsel boyutunu piksel cinsinden belirtir (örneğin
Kullanım durumunuza bağlı olarak, bu parametrelerden (percentage veya px) yalnızca birini ayarlayabilirsiniz, her ikisini birden ayarlayamazsınız.
Örnek yapılandırma:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | Kırpılmadan önce istemlere dahil edilecek metin dosyalarından gelen maksimum token sayısı. | fileTokenLimit: 100000 |
Açıklama: Metin içeriği eklerken, LibreChat çalışma zamanında metni, istem oluşturulmadan hemen önce yapılandırılmış token sınırına göre kırpar.
Varsayılan: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Optik Karakter Tanıma (OCR) dosya işleme ayarları. | Configures which file types are processed using OCR. |
Açıklama: ocr bölümü, görsel belgelerden metin ayıklamak için OCR işlevinin hangi dosya türlerinde kullanılması gerektiğini yapılandırır.
Not: Bu bölüm, OCR işleme için dosya türü eşleştirmesini kontrol eder. Ajan yeteneklerini etkinleştirmek ve OCR servislerini yapılandırmak için şuraya bakın:
ocrvecontextyetenekleri için Agents Configuration- OCR Yapılandırması, OCR hizmeti kurulumu için
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | OCR ile işlenmesi gereken dosyalar için MIME türü desenleri listesi. | Uses regular expressions to match file types. |
Varsayılan: Görseller, PDF'ler ve Office belgeleri
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 | OCR olmadan doğrudan metin dosyası ayrıştırma ayarları. | Configures which file types are processed as plain text files for direct content extraction. |
Açıklama: text bölümü, hangi dosya türlerinin doğrudan metin çıkarma kullanılarak işlenmesi gerektiğini yapılandırır.
Not: Metin ayrıştırma, "Metin Olarak Yükle" özelliği tarafından kullanılan varsayılan yöntemdir (context yeteneği ile kontrol edilir). İlk olarak RAG API'sindeki metin ayrıştırma kütüphanesini kullanmayı dener; eğer RAG API bağlı değilse, herhangi bir harici hizmet gerektirmeyen daha basit bir metin çıkarma yöntemine geri döner. Daha fazla bilgi için bkz. Metin Olarak Yükle.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Düz metin olarak ayrıştırılması gereken dosyalar için MIME türü desenleri listesi. | Uses regular expressions to match file types. |
Varsayılan: Tüm metin dosyaları ve yaygın programlama dilleri
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 | Konuşmadan Metne (STT) ses dosyası işleme ayarları. | Configures which audio file types are processed using STT for transcription. |
Açıklama: stt bölümü, sesin metne dönüştürülmesi için hangi ses dosyası türlerinin Speech-to-Text işlevi kullanılarak işlenmesi gerektiğini yapılandırır.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | STT ile transkribe edilmesi gereken ses dosyaları için MIME türü desenleri listesi. | Uses regular expressions to match audio file types. |
Varsayılan: Yaygın ses formatları
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Notlar:
textdesenleriyle eşleşen dosyalar, basit metin ayıklama ile işlenirocrdesenleriyle eşleşen dosyalar, sağlanan OCR hizmeti ile işlenirsttdesenleriyle eşleşen dosyalar, Speech-to-Text transkripsiyonu ile işlenir- İşleme önceliği: OCR > STT > metin ayrıştırma > geri dönüş (fallback)
- Herhangi bir desenle eşleşmeyen dosyalar, metin ayrıştırmaya geri dönecektir
Dosya İşleme Önceliği
LibreChat, yüklenen dosyaları MIME türü eşleşmesine göre aşağıdaki öncelik sırasına göre işler:
- OCR - Eğer dosya
ocr.supportedMimeTypesile eşleşiyorsa VE OCR yapılandırılmışsa - STT - Eğer dosya
stt.supportedMimeTypesile eşleşiyorsa VE STT yapılandırılmışsa - Metin Ayrıştırma - Eğer dosya
text.supportedMimeTypesile eşleşiyorsa - Yedek (Fallback) - Son çare olarak metin ayrıştırma
Bu işleme sırası, özel hizmetler (OCR/STT) yapılandırılmadığında bile işlevselliği korurken optimum ayıklama kalitesi sağlar.
İşleme Örnekleri
OCR yapılandırılmış PDF dosyası:
- Dosya
ocr.supportedMimeTypesile eşleşiyor - Metni ayıklamak için OCR kullanır
- Taranmış PDF'ler ve görseller için daha iyi kalite
OCR yapılandırılmamış PDF dosyası:
- Dosya
text.supportedMimeTypesile eşleşiyor (veya yedek kullanılıyor) - Metin ayrıştırma (text parsing) kütüphanesi kullanır
- Seçilebilir metne sahip dijital PDF'ler için iyi çalışır
Python dosyası:
- Dosya
text.supportedMimeTypesile eşleşiyor - Metin ayrıştırma kullanır (OCR gerekmez)
- Doğrudan metin çıkarma
STT yapılandırılmış ses dosyası:
- Dosya
stt.supportedMimeTypesile eşleşiyor - STT kullanarak sesi metne dönüştürür
OCR yapılandırılmamış görüntü dosyası:
- Dosya
ocr.supportedMimeTypesile eşleşiyor ancak OCR kullanılamıyor - Metin ayrıştırmaya geri döner
- OCR olmadan sınırlı ayıklama yeteneği
Bu öncelik sistemi, "Metin Olarak Yükle" gibi özelliklerin OCR yapılandırması gerektirmeden çalışmasını sağlarken, daha iyi bir ayıklama kalitesi için OCR mevcut olduğunda ondan yararlanmaya devam eder.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Bireysel endpoint'ler için dosya işleme ayarlarını yapılandırarak endpoint bazında özelleştirmeye olanak tanır. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Açıklama: endpoints altındaki her nesne, aşağıdaki ayarlara sahip olabilen bir kayıttır:
Genel Bakış
disabled- Dosya işlemenin ilgili endpoint için devre dışı bırakılıp bırakılmadığı.
fileLimit- Yükleme isteği başına izin verilen maksimum dosya sayısı.
fileSizeLimit- Tek bir dosya için maksimum boyut. MB biriminde (örneğin 20 megabayt için
20kullanın)
- Tek bir dosya için maksimum boyut. MB biriminde (örneğin 20 megabayt için
totalSizeLimit- Tek bir istekteki tüm dosyalar için toplam maksimum boyut. MB birimindedir (örneğin 20 megabayt için
20kullanın)
- Tek bir istekteki tüm dosyalar için toplam maksimum boyut. MB birimindedir (örneğin 20 megabayt için
supportedMimeTypes- Yükleme için hangi MIME türlerinin izin verildiğini belirten bir Regular Expressions listesi. Bu, dosya türlerini kısıtlamak için özelleştirilebilir.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Belirli bir endpoint için dosya yüklemenin devre dışı bırakılıp bırakılmadığını belirtir. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Varsayılan: false
openAI:
disabled: truefileLimit
Anahtar:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | Tek bir yükleme isteğinde izin verilen maksimum dosya sayısı. | Helps control the volume of uploads and manage server load. |
Varsayılan: endpoint'e göre değişir
assistants:
fileLimit: 5fileSizeLimit
Anahtar:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | Her bir dosya için izin verilen maksimum boyut, megabayt (MB) cinsinden belirtilmiştir. | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Varsayılan: endpoint'e göre değişir
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Anahtar:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | Tek bir istekteki tüm dosyalar için izin verilen toplam maksimum boyut (megabayt (MB) cinsinden). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Varsayılan: endpoint'e göre değişir
assistants:
totalSizeLimit: 50supportedMimeTypes
Anahtar:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Yükleme için izin verilen MIME türlerini tanımlayan düzenli ifadelerin bir listesi. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Varsayılan: endpoint'e göre değişir
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"Bu rehber nasıl?