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

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:

  • endpoints
  • serverFileSizeLimit
  • avatarSizeLimit
  • imageGeneration
  • fileTokenLimit
  • ocr
  • text
  • stt

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, text ve stt bö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'ler default tanımlı değerini kullanır.
    • Asistan olmayan endpoint'ler için, bunların tümüne ait dosya ayarlarını default altı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.
      • openAI
      • azureOpenAI
      • google
      • bedrock
      • YourCustomEndpointName
  • 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

KeyTypeDescriptionExample
serverFileSizeLimitIntegerSunucuya 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: 1000

avatarSizeLimit

KeyTypeDescriptionExample
avatarSizeLimitIntegerAvatar 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: 2

imageGeneration

KeyTypeDescriptionExample
imageGenerationObjectGö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, 100 temel 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.
  • 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.

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: 1024

fileTokenLimit

KeyTypeDescriptionExample
fileTokenLimitNumberKı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: 100000

ocr

KeyTypeDescriptionExample
ocrObjectOptik 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:

supportedMimeTypes

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsOCR 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

KeyTypeDescriptionExample
textObjectOCR 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

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsDü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

KeyTypeDescriptionExample
sttObjectKonuş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

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsSTT 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:

  • text desenleriyle eşleşen dosyalar, basit metin ayıklama ile işlenir
  • ocr desenleriyle eşleşen dosyalar, sağlanan OCR hizmeti ile işlenir
  • stt desenleriyle 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:

  1. OCR - Eğer dosya ocr.supportedMimeTypes ile eşleşiyorsa VE OCR yapılandırılmışsa
  2. STT - Eğer dosya stt.supportedMimeTypes ile eşleşiyorsa VE STT yapılandırılmışsa
  3. Metin Ayrıştırma - Eğer dosya text.supportedMimeTypes ile eşleşiyorsa
  4. 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.supportedMimeTypes ile 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.supportedMimeTypes ile 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.supportedMimeTypes ile eşleşiyor
  • Metin ayrıştırma kullanır (OCR gerekmez)
  • Doğrudan metin çıkarma

STT yapılandırılmış ses dosyası:

  • Dosya stt.supportedMimeTypes ile eşleşiyor
  • STT kullanarak sesi metne dönüştürür

OCR yapılandırılmamış görüntü dosyası:

  • Dosya ocr.supportedMimeTypes ile 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

KeyTypeDescriptionExample
endpointsRecord/ObjectBireysel 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 20 kullanın)
  • totalSizeLimit
    • Tek bir istekteki tüm dosyalar için toplam maksimum boyut. MB birimindedir (örneğin 20 megabayt için 20 kullanın)
  • 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

KeyTypeDescriptionExample
disabledBooleanBelirli 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: true

fileLimit

Anahtar:

KeyTypeDescriptionExample
fileLimitIntegerTek 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: 5

fileSizeLimit

Anahtar:

KeyTypeDescriptionExample
fileSizeLimitIntegerHer 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: 1000

totalSizeLimit

Anahtar:

KeyTypeDescriptionExample
totalSizeLimitIntegerTek 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: 50

supportedMimeTypes

Anahtar:

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsYü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?