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

Structure de l'objet de configuration de fichier

Vue d'ensemble

L'objet fileConfig vous permet de configurer les paramÚtres de gestion des fichiers pour l'application, y compris les limites de taille et les restrictions de type MIME. Cette section fournit une analyse détaillée de la structure de l'objet fileConfig.

Il y a 8 champs principaux sous fileConfig :

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

Notes :

  • Au moment de la rĂ©daction, l'endpoint Assistants prend en charge les types de fichiers de cette liste.
  • Les endpoints OpenAI, Azure OpenAI, Google et Custom prennent en charge les fichiers via la RAG API.
  • Les endpoints OpenAI, Azure OpenAI, Anthropic, Google et AWS Bedrock prennent en charge le tĂ©lĂ©chargement direct de fichiers via Upload to Provider.
  • Les sections ocr, text et stt contrĂŽlent le traitement des fichiers pour des fonctionnalitĂ©s telles que Upload as Text et OCR
  • Tous les autres endpoints non mentionnĂ©s, comme les Plugins, ne prennent pas (encore) en charge le tĂ©lĂ©chargement de fichiers.
  • L'endpoint Assistants a une valeur d'endpoint dĂ©finie sur assistants. Tous les autres endpoints utilisent la valeur dĂ©finie default.
    • Pour les endpoints autres que les assistants, vous pouvez ajuster les paramĂštres de fichiers pour chacun d'entre eux sous default
    • Si vous souhaitez ajuster les paramĂštres pour un endpoint spĂ©cifique, vous pouvez lister leurs noms d'endpoint correspondants :
      • assistants
        • n'utilise pas "default" car il possĂšde des valeurs par dĂ©faut dĂ©finies sĂ©parĂ©ment des autres.
      • openAI
      • azureOpenAI
      • google
      • bedrock
      • YourCustomEndpointName
  • Vous pouvez omettre des valeurs, auquel cas l'application utilisera les valeurs par dĂ©faut telles que dĂ©finies pour chaque type d'endpoint listĂ© ci-dessous.
  • LibreChat compte 1 mĂ©gaoctet comme suit : 1 x 1024 x 1024

Exemple

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
serverFileSizeLimitIntegerLa taille maximale globale pour tout fichier téléchargé sur le serveur, spécifiée en mégaoctets (MB).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
avatarSizeLimitIntegerLa taille maximale autorisée pour les images d'avatar, spécifiée en mégaoctets (Mo).Specifically tailored for user avatar uploads, allowing for control over image sizes to maintain consistent quality and loading times.
fileConfig:
  avatarSizeLimit: 2

imageGeneration

KeyTypeDescriptionExample
imageGenerationObjectParamÚtres liés à la qualité et aux dimensions de la sortie de génération d'images.Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension.

imageGeneration prend en charge les paramĂštres suivants :

  • percentage (Entier)

    • La taille de sortie de l'image gĂ©nĂ©rĂ©e exprimĂ©e en pourcentage (par ex., 100 signifie 100 % de la taille de base).
    • Utilisez ceci pour mettre Ă  l'Ă©chelle l'image de sortie par rapport Ă  une taille par dĂ©faut ou originale.
  • px (Entier)

    • SpĂ©cifie la dimension de l'image de sortie en pixels (par ex. 1024).
    • Utilisez ceci pour dĂ©finir explicitement la taille de sortie de l'image gĂ©nĂ©rĂ©e, indĂ©pendamment de la taille de base.

Vous pouvez définir un seul de ces paramÚtres (percentage ou px), et non les deux, en fonction de votre cas d'utilisation.

Exemple de configuration :

fileConfig:
  imageGeneration:
    percentage: 100
    px: 1024

fileTokenLimit

KeyTypeDescriptionExample
fileTokenLimitNumberNombre maximal de jetons provenant de fichiers texte Ă  inclure dans les invites avant la troncature.fileTokenLimit: 100000

Description : Lors de la piÚce jointe de contenu textuel, LibreChat tronque le texte au moment de l'exécution selon la limite de jetons configurée juste avant la construction de l'invite.

Par défaut : 100000

fileConfig:
  fileTokenLimit: 100000

ocr

KeyTypeDescriptionExample
ocrObjectParamĂštres pour le traitement de fichiers par reconnaissance optique de caractĂšres (OCR).Configures which file types are processed using OCR.

Description : La section ocr configure les types de fichiers qui doivent ĂȘtre traitĂ©s Ă  l'aide de la fonctionnalitĂ© OCR pour extraire du texte Ă  partir de documents visuels.

Remarque : Cette section contrÎle la correspondance des types de fichiers pour le traitement OCR. Pour activer les capacités d'agent et configurer les services OCR, consultez :

supportedMimeTypes

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsListe des modĂšles de types MIME pour les fichiers devant ĂȘtre traitĂ©s avec l'OCR.Uses regular expressions to match file types.

Par défaut : Images, fichiers PDF et documents 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

KeyTypeDescriptionExample
textObjectParamĂštres pour l'analyse directe de fichiers texte sans OCR.Configures which file types are processed as plain text files for direct content extraction.

Description : La section text configure les types de fichiers qui doivent ĂȘtre traitĂ©s en utilisant l'extraction directe de texte.

Note : L'analyse de texte est la méthode par défaut utilisée par la fonctionnalité « Téléverser en tant que texte » (contrÎlée par la capacité context). Elle tente d'abord d'utiliser la bibliothÚque d'analyse de texte de l'API RAG, et si l'API RAG n'est pas connectée, elle utilise une méthode d'extraction de texte plus simple sans nécessiter de services externes. Voir Upload as Text pour plus d'informations.

supportedMimeTypes

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsListe des modĂšles de types MIME pour les fichiers qui doivent ĂȘtre analysĂ©s comme du texte brut.Uses regular expressions to match file types.

Par défaut : Tous les fichiers texte et les langages de programmation courants

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
sttObjectParamĂštres pour le traitement des fichiers audio de synthĂšse vocale (STT).Configures which audio file types are processed using STT for transcription.

Description : La section stt configure les types de fichiers audio qui doivent ĂȘtre traitĂ©s Ă  l'aide de la fonctionnalitĂ© Speech-to-Text pour convertir l'audio en texte.

supportedMimeTypes

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsListe des modĂšles de types MIME pour les fichiers audio qui doivent ĂȘtre transcrits avec STT.Uses regular expressions to match audio file types.

Par défaut : Formats audio courants

fileConfig:
  stt:
    supportedMimeTypes:
      - "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"

Notes :

  • Les fichiers correspondant aux modĂšles text sont traitĂ©s avec une extraction de texte simple
  • Les fichiers correspondant aux modĂšles ocr sont traitĂ©s avec le service OCR fourni
  • Les fichiers correspondant aux modĂšles stt sont traitĂ©s avec la transcription Speech-to-Text.
  • PrioritĂ© de traitement : OCR > STT > analyse de texte > repli
  • Les fichiers ne correspondant Ă  aucun modĂšle seront traitĂ©s par une analyse textuelle par dĂ©faut.

Priorité de traitement des fichiers

LibreChat traite les fichiers téléchargés en fonction de la correspondance du type MIME selon l'ordre de priorité suivant :

  1. OCR - Si le fichier correspond à ocr.supportedMimeTypes ET que l'OCR est configuré
  2. STT - Si le fichier correspond à stt.supportedMimeTypes ET que STT est configuré
  3. Analyse de texte - Si le fichier correspond Ă  text.supportedMimeTypes
  4. Fallback - Analyse de texte en dernier recours

Cet ordre de traitement garantit une qualitĂ© d'extraction optimale tout en conservant les fonctionnalitĂ©s, mĂȘme lorsque les services spĂ©cialisĂ©s (OCR/STT) ne sont pas configurĂ©s.

Exemples de traitement

Fichier PDF avec OCR configuré :

  • Le fichier correspond Ă  ocr.supportedMimeTypes
  • Utilise l'OCR pour extraire du texte
  • Meilleure qualitĂ© pour les PDF numĂ©risĂ©s et les images

Fichier PDF sans OCR configuré :

  • Le fichier correspond Ă  text.supportedMimeTypes (ou utilise le repli)
  • Utilise la bibliothĂšque de parsing de texte
  • Fonctionne bien pour les PDF numĂ©riques avec du texte sĂ©lectionnable

Fichier Python :

  • Le fichier correspond Ă  text.supportedMimeTypes
  • Utilise l'analyse de texte (aucune OCR nĂ©cessaire)
  • Extraction directe de texte

Fichier audio avec STT configuré :

  • Le fichier correspond Ă  stt.supportedMimeTypes
  • Utilise STT pour transcrire l'audio en texte

Fichier image sans OCR configuré :

  • Le fichier correspond Ă  ocr.supportedMimeTypes mais l'OCR n'est pas disponible
  • Revient Ă  l'analyse de texte
  • CapacitĂ© d'extraction limitĂ©e sans OCR

Ce systÚme de priorité permet à des fonctionnalités telles que « Upload as Text » de fonctionner sans nécessiter de configuration OCR, tout en tirant parti de l'OCR lorsqu'il est disponible pour une meilleure qualité d'extraction.

endpoints

KeyTypeDescriptionExample
endpointsRecord/ObjectConfigure les paramĂštres de gestion des fichiers pour chaque endpoint, permettant une personnalisation par endpoint.Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis.

Description : Chaque objet sous endpoints est un enregistrement qui peut comporter les paramĂštres suivants :

Vue d'ensemble

  • disabled
    • Si la gestion des fichiers est dĂ©sactivĂ©e pour l'endpoint.
  • fileLimit
    • Le nombre maximum de fichiers autorisĂ©s par requĂȘte de tĂ©lĂ©chargement.
  • fileSizeLimit
    • La taille maximale pour un seul fichier. En unitĂ©s de Mo (par exemple, utilisez 20 pour 20 mĂ©gaoctets)
  • totalSizeLimit
    • La taille maximale totale pour tous les fichiers dans une seule requĂȘte. En unitĂ©s de Mo (par exemple, utilisez 20 pour 20 mĂ©gaoctets)
  • supportedMimeTypes
    • Une liste d'Expressions rĂ©guliĂšres spĂ©cifiant quels types MIME sont autorisĂ©s pour le tĂ©lĂ©chargement. Ceci peut ĂȘtre personnalisĂ© pour restreindre les types de fichiers.

disabled

KeyTypeDescriptionExample
disabledBooleanIndique si le téléchargement de fichiers est désactivé pour un endpoint spécifique.Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings.

Par défaut : false

openAI:
  disabled: true

fileLimit

Clé :

KeyTypeDescriptionExample
fileLimitIntegerLe nombre maximum de fichiers autorisĂ©s dans une seule requĂȘte de tĂ©lĂ©chargement.Helps control the volume of uploads and manage server load.

Par défaut : Varie selon l'endpoint

assistants:
  fileLimit: 5

fileSizeLimit

Clé :

KeyTypeDescriptionExample
fileSizeLimitIntegerLa taille maximale autorisée pour chaque fichier individuel, spécifiée en mégaoctets (MB).This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management.

Par défaut : Varie selon l'endpoint

YourCustomEndpointName:
  fileSizeLimit: 1000

totalSizeLimit

Clé :

KeyTypeDescriptionExample
totalSizeLimitIntegerLa taille maximale totale autorisĂ©e pour tous les fichiers dans une seule requĂȘte, spĂ©cifiĂ©e en mĂ©gaoctets (MB).This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request.

Par défaut : Varie selon l'endpoint

assistants:
  totalSizeLimit: 50

supportedMimeTypes

Clé :

KeyTypeDescriptionExample
supportedMimeTypesArray of StringsUne liste d'expressions réguliÚres définissant les types MIME autorisés pour le téléchargement.This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored.

Par défaut : Varie selon l'endpoint

assistants:
  supportedMimeTypes:
      - "image/.*"
      - "application/pdf"

Que pensez-vous de ce guide ?