Estructura del objeto de configuración de archivo
Descripción general
El objeto fileConfig le permite configurar los ajustes de manejo de archivos para la aplicación, incluyendo límites de tamaño y restricciones de tipos MIME. Esta sección proporciona un desglose detallado de la estructura del objeto fileConfig.
Hay 8 campos principales bajo fileConfig:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Notas:
- En el momento de escribir este artículo, el endpoint Assistants admite los tipos de archivo de esta lista.
- OpenAI, Azure OpenAI, Google y los endpoints personalizados admiten archivos a través de la RAG API.
- Los endpoints de OpenAI, Azure OpenAI, Anthropic, Google y AWS Bedrock admiten la carga directa de archivos a través de Upload to Provider.
- Las secciones
ocr,textysttcontrolan el procesamiento de archivos para funciones como Upload as Text y OCR - Cualquier otro endpoint no mencionado, como Plugins, no admite (todavía) la carga de archivos.
- El endpoint Assistants tiene un valor de endpoint definido como
assistants. Todos los demás endpoints utilizan el valor definidodefault.- Para los endpoints que no son assistants, puedes ajustar la configuración de archivos para todos ellos bajo
default - Si deseas ajustar la configuración para un endpoint específico, puedes listar sus nombres de endpoint correspondientes:
assistants- no utiliza "default" ya que tiene valores predeterminados definidos por separado de los demás.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Para los endpoints que no son assistants, puedes ajustar la configuración de archivos para todos ellos bajo
- Puede omitir valores, en cuyo caso, la aplicación utilizará los valores predeterminados según se define para cada tipo de endpoint listado a continuación.
- LibreChat cuenta 1 megabyte de la siguiente manera:
1 x 1024 x 1024
Ejemplo
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 | El tamaño máximo global para cualquier archivo subido al servidor, especificado en megabytes (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 | El tamaño máximo permitido para las imágenes de avatar, especificado en megabytes (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 | Configuración relacionada con la calidad y las dimensiones de la salida de generación de imágenes. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration admite los siguientes parámetros:
-
percentage(Entero)- El tamaño de salida de la imagen generada expresado como un porcentaje (por ejemplo,
100significa el 100% del tamaño base). - Utilice esto para escalar la imagen de salida en relación con un tamaño predeterminado u original.
- El tamaño de salida de la imagen generada expresado como un porcentaje (por ejemplo,
-
px(Entero)- Especifica la dimensión de la imagen de salida en píxeles (p. ej.,
1024). - Utilice esto para establecer explícitamente el tamaño de salida de la imagen generada, independientemente del tamaño base.
- Especifica la dimensión de la imagen de salida en píxeles (p. ej.,
Puede establecer solo uno de estos parámetros (percentage o px), no ambos, dependiendo de su caso de uso.
Ejemplo de configuración:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | Número máximo de tokens de archivos de texto a incluir en los prompts antes del truncamiento. | fileTokenLimit: 100000 |
Descripción: Al adjuntar contenido de texto, LibreChat trunca el texto en tiempo de ejecución según el límite de tokens configurado justo antes de la construcción del prompt.
Predeterminado: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Configuración para el procesamiento de archivos mediante Reconocimiento Óptico de Caracteres (OCR). | Configures which file types are processed using OCR. |
Descripción: La sección ocr configura qué tipos de archivos deben procesarse utilizando la funcionalidad OCR para extraer texto de documentos visuales.
Nota: Esta sección controla la coincidencia de tipos de archivo para el procesamiento OCR. Para habilitar las capacidades de agente y configurar los servicios de OCR, consulte:
- Configuración de Agents para las capacidades
ocrycontext - Configuración de OCR para la configuración del servicio OCR
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de patrones de tipo MIME para archivos que deben procesarse con OCR. | Uses regular expressions to match file types. |
Predeterminado: Imágenes, archivos PDF y documentos de 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 | Configuración para el análisis directo de archivos de texto sin OCR. | Configures which file types are processed as plain text files for direct content extraction. |
Descripción: La sección text configura qué tipos de archivo deben procesarse mediante extracción directa de texto.
Nota: El análisis de texto es el método predeterminado utilizado por la función "Upload as Text" (controlada por la capacidad context). Primero intenta utilizar la biblioteca de análisis de texto de la RAG API y, si la RAG API no está conectada, recurre a un método de extracción de texto más sencillo sin requerir servicios externos. Consulta Upload as Text para obtener más información.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de patrones de tipo MIME para archivos que deben analizarse como texto plano. | Uses regular expressions to match file types. |
Predeterminado: Todos los archivos de texto y lenguajes de programación comunes
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 | Configuración para el procesamiento de archivos de audio de voz a texto (STT). | Configures which audio file types are processed using STT for transcription. |
Descripción: La sección stt configura qué tipos de archivos de audio deben procesarse utilizando la funcionalidad de Speech-to-Text para convertir audio a texto.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de patrones de tipo MIME para archivos de audio que deben ser transcritos con STT. | Uses regular expressions to match audio file types. |
Predeterminado: Formatos de audio comunes
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Notas:
- Los archivos que coinciden con los patrones
textse procesan con extracción de texto simple - Los archivos que coinciden con los patrones
ocrse procesan con el servicio de OCR proporcionado - Los archivos que coinciden con los patrones
sttse procesan con transcripción de voz a texto (Speech-to-Text). - Precedencia de procesamiento: OCR > STT > análisis de texto > fallback
- Los archivos que no coincidan con ningún patrón recurrirán al análisis de texto.
Prioridad de procesamiento de archivos
LibreChat procesa los archivos subidos basándose en la coincidencia de tipo MIME con el siguiente orden de prioridad:
- OCR - Si el archivo coincide con
ocr.supportedMimeTypesY OCR está configurado - STT - Si el archivo coincide con
stt.supportedMimeTypesY STT está configurado - Análisis de texto - Si el archivo coincide con
text.supportedMimeTypes - Fallback - Análisis de texto como último recurso
Este orden de procesamiento garantiza una calidad de extracción óptima mientras mantiene la funcionalidad incluso cuando los servicios especializados (OCR/STT) no están configurados.
Ejemplos de procesamiento
Archivo PDF con OCR configurado:
- El archivo coincide con
ocr.supportedMimeTypes - Utiliza OCR para extraer texto
- Mejor calidad para PDFs escaneados e imágenes
Archivo PDF sin OCR configurado:
- El archivo coincide con
text.supportedMimeTypes(o utiliza el respaldo) - Utiliza la biblioteca de análisis de texto
- Funciona bien para PDFs digitales con texto seleccionable
Archivo de Python:
- El archivo coincide con
text.supportedMimeTypes - Utiliza análisis de texto (no se requiere OCR)
- Extracción directa de texto
Archivo de audio con STT configurado:
- El archivo coincide con
stt.supportedMimeTypes - Utiliza STT para transcribir audio a texto
Archivo de imagen sin OCR configurado:
- El archivo coincide con
ocr.supportedMimeTypespero OCR no está disponible - Recurre al análisis de texto
- Capacidad de extracción limitada sin OCR
Este sistema de prioridad permite que funciones como "Upload as Text" funcionen sin necesidad de una configuración de OCR, al mismo tiempo que aprovecha el OCR cuando está disponible para una mejor calidad de extracción.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Configura los ajustes de manejo de archivos para endpoints individuales, permitiendo la personalización por cada endpoint. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Descripción: Cada objeto bajo endpoints es un registro que puede tener los siguientes ajustes:
Descripción general
disabled- Si el manejo de archivos está deshabilitado para el endpoint.
fileLimit- El número máximo de archivos permitidos por solicitud de carga.
fileSizeLimit- El tamaño máximo para un solo archivo. En unidades de MB (por ejemplo, use
20para 20 megabytes)
- El tamaño máximo para un solo archivo. En unidades de MB (por ejemplo, use
totalSizeLimit- El tamaño máximo total para todos los archivos en una sola solicitud. En unidades de MB (por ejemplo, use
20para 20 megabytes)
- El tamaño máximo total para todos los archivos en una sola solicitud. En unidades de MB (por ejemplo, use
supportedMimeTypes- Una lista de Regular Expressions que especifica qué tipos MIME están permitidos para la carga. Esto se puede personalizar para restringir los tipos de archivo.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Indica si la carga de archivos está deshabilitada para un endpoint específico. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Predeterminado: false
openAI:
disabled: truefileLimit
Clave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | El número máximo de archivos permitidos en una sola solicitud de carga. | Helps control the volume of uploads and manage server load. |
Predeterminado: Varía según el endpoint
assistants:
fileLimit: 5fileSizeLimit
Clave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | El tamaño máximo permitido para cada archivo individual, especificado en megabytes (MB). | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Predeterminado: Varía según el endpoint
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Clave:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | El tamaño máximo total permitido para todos los archivos en una sola solicitud, especificado en megabytes (MB). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Predeterminado: Varía según el endpoint
assistants:
totalSizeLimit: 50supportedMimeTypes
Clave:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Una lista de expresiones regulares que definen los tipos MIME permitidos para la carga. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Predeterminado: Varía según el endpoint
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"¿Qué te parece esta guía?