Estrutura do Objeto de Configuração de Arquivo
Visão geral
O objeto fileConfig permite que você configure as definições de manipulação de arquivos para a aplicação, incluindo limites de tamanho e restrições de tipo MIME. Esta seção fornece um detalhamento da estrutura do objeto fileConfig.
Existem 8 campos principais em fileConfig:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Notas:
- No momento da redação, o endpoint Assistants suporta tipos de arquivo desta lista.
- OpenAI, Azure OpenAI, Google e endpoints personalizados suportam arquivos através da RAG API.
- Os endpoints OpenAI, Azure OpenAI, Anthropic, Google e AWS Bedrock suportam uploads diretos de arquivos via Upload to Provider.
- As seções
ocr,textesttcontrolam o processamento de arquivos para recursos como Upload as Text e OCR - Quaisquer outros endpoints não mencionados, como Plugins, não suportam uploads de arquivos (ainda).
- O endpoint Assistants possui um valor de endpoint definido como
assistants. Todos os outros endpoints usam o valor definidodefault.- Para endpoints que não são assistants, você pode ajustar as configurações de arquivo para todos eles em
default - Se você quiser ajustar as configurações para um endpoint específico, você pode listar seus nomes de endpoint correspondentes:
assistants- não usa "default", pois possui padrões definidos separadamente dos outros.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Para endpoints que não são assistants, você pode ajustar as configurações de arquivo para todos eles em
- Você pode omitir valores, caso em que o aplicativo usará os valores padrão conforme definido por tipo de endpoint listado abaixo.
- O LibreChat conta 1 megabyte da seguinte forma:
1 x 1024 x 1024
Exemplo
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 | O tamanho máximo global para qualquer arquivo enviado ao servidor, especificado em 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 | O tamanho máximo permitido para imagens de avatar, especificado em 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 | Configurações relacionadas à qualidade e dimensões da saída de geração de imagens. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration suporta os seguintes parâmetros:
-
percentage(Inteiro)- O tamanho de saída da imagem gerada expresso como uma porcentagem (por exemplo,
100significa 100% do tamanho base). - Use isso para ajustar a escala da imagem de saída em relação a um tamanho padrão ou original.
- O tamanho de saída da imagem gerada expresso como uma porcentagem (por exemplo,
-
px(Inteiro)- Especifica a dimensão da imagem de saída em pixels (por exemplo,
1024). - Use isso para definir explicitamente o tamanho da saída da imagem gerada, independentemente do tamanho base.
- Especifica a dimensão da imagem de saída em pixels (por exemplo,
Você pode definir apenas um desses parâmetros (percentage ou px), não ambos, dependendo do seu caso de uso
Exemplo de configuração:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | Número máximo de tokens de arquivos de texto a serem incluídos nos prompts antes do truncamento. | fileTokenLimit: 100000 |
Descrição: Ao anexar conteúdo de texto, o LibreChat trunca o texto em tempo de execução no limite de tokens configurado logo antes da construção do prompt.
Padrão: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Configurações para processamento de arquivos com Reconhecimento Óptico de Caracteres (OCR). | Configures which file types are processed using OCR. |
Descrição: A seção ocr configura quais tipos de arquivo devem ser processados usando a funcionalidade de OCR para extração de texto de documentos visuais.
Nota: Esta seção controla a correspondência de tipos de arquivo para processamento de OCR. Para habilitar recursos de agente e configurar serviços de OCR, consulte:
- Configuração de Agents para as capabilities
ocrecontext - Configuração de OCR para a configuração do serviço de OCR
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de padrões de tipo MIME para arquivos que devem ser processados com OCR. | Uses regular expressions to match file types. |
Padrão: Imagens, PDFs e documentos do 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 | Configurações para análise direta de arquivos de texto sem OCR. | Configures which file types are processed as plain text files for direct content extraction. |
Descrição: A seção text configura quais tipos de arquivo devem ser processados usando extração direta de texto.
Nota: A análise de texto é o método padrão usado pelo recurso "Upload as Text" (controlado pela capacidade context). Ele tenta primeiro usar a biblioteca de análise de texto da RAG API e, se a RAG API não estiver conectada, ele recorre a um método de extração de texto mais simples, sem exigir serviços externos. Veja Upload as Text para mais informações.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de padrões de tipo MIME para arquivos que devem ser analisados como texto simples. | Uses regular expressions to match file types. |
Padrão: Todos os arquivos de texto e linguagens de programação comuns
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 | Configurações para processamento de arquivos de áudio de Speech-to-Text (STT). | Configures which audio file types are processed using STT for transcription. |
Descrição: A seção stt configura quais tipos de arquivos de áudio devem ser processados usando a funcionalidade de Speech-to-Text para converter áudio em texto.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Lista de padrões de tipo MIME para arquivos de áudio que devem ser transcritos com STT. | Uses regular expressions to match audio file types. |
Padrão: Formatos de áudio comuns
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Notas:
- Arquivos que correspondem aos padrões
textsão processados com extração de texto simples - Arquivos que correspondem aos padrões
ocrsão processados com o serviço de OCR fornecido - Arquivos que correspondem aos padrões
sttsão processados com transcrição de Speech-to-Text. - Precedência de processamento: OCR > STT > análise de texto > fallback
- Arquivos que não corresponderem a nenhum padrão usarão a análise de texto como fallback
Prioridade de Processamento de Arquivos
O LibreChat processa arquivos enviados com base na correspondência de tipo MIME com a seguinte ordem de prioridade:
- OCR - Se o arquivo corresponder a
ocr.supportedMimeTypesE o OCR estiver configurado - STT - Se o arquivo corresponder a
stt.supportedMimeTypesE o STT estiver configurado - Análise de Texto - Se o arquivo corresponder a
text.supportedMimeTypes - Fallback - Análise de texto como último recurso
Esta ordem de processamento garante uma qualidade de extração ideal, mantendo a funcionalidade mesmo quando serviços especializados (OCR/STT) não estão configurados.
Exemplos de Processamento
Arquivo PDF com OCR configurado:
- O arquivo corresponde a
ocr.supportedMimeTypes - Usa OCR para extrair texto
- Melhor qualidade para PDFs digitalizados e imagens
Arquivo PDF sem OCR configurado:
- O arquivo corresponde a
text.supportedMimeTypes(ou usa o fallback) - Usa a biblioteca de análise de texto
- Funciona bem para PDFs digitais com texto selecionável
Arquivo Python:
- O arquivo corresponde a
text.supportedMimeTypes - Usa análise de texto (não é necessário OCR)
- Extração direta de texto
Arquivo de áudio com STT configurado:
- O arquivo corresponde a
stt.supportedMimeTypes - Usa STT para transcrever áudio para texto
Arquivo de imagem sem OCR configurado:
- O arquivo corresponde a
ocr.supportedMimeTypes, mas o OCR não está disponível - Recorre à análise de texto
- Capacidade de extração limitada sem OCR
Este sistema de prioridade permite que recursos como "Upload as Text" funcionem sem exigir configuração de OCR, enquanto ainda aproveita o OCR quando disponível para uma melhor qualidade de extração.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Configura as definições de manipulação de arquivos para endpoints individuais, permitindo a personalização por endpoint. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Descrição: Cada objeto em endpoints é um registro que pode ter as seguintes configurações:
Visão geral
disabled- Se o tratamento de arquivos está desativado para o endpoint.
fileLimit- O número máximo de arquivos permitidos por solicitação de upload.
fileSizeLimit- O tamanho máximo para um único arquivo. Em unidades de MB (por exemplo, use
20para 20 megabytes)
- O tamanho máximo para um único arquivo. Em unidades de MB (por exemplo, use
totalSizeLimit- O tamanho máximo total para todos os arquivos em uma única solicitação. Em unidades de MB (por exemplo, use
20para 20 megabytes)
- O tamanho máximo total para todos os arquivos em uma única solicitação. Em unidades de MB (por exemplo, use
supportedMimeTypes- Uma lista de Regular Expressions especificando quais MIME types são permitidos para upload. Isso pode ser personalizado para restringir tipos de arquivo.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Indica se o upload de arquivos está desativado para um endpoint específico. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Padrão: false
openAI:
disabled: truefileLimit
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | O número máximo de arquivos permitidos em uma única solicitação de upload. | Helps control the volume of uploads and manage server load. |
Padrão: Varia conforme o endpoint
assistants:
fileLimit: 5fileSizeLimit
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | O tamanho máximo permitido para cada arquivo individual, especificado em megabytes (MB). | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Padrão: Varia conforme o endpoint
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | O tamanho máximo total permitido para todos os arquivos em uma única solicitação, especificado em megabytes (MB). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Padrão: Varia conforme o endpoint
assistants:
totalSizeLimit: 50supportedMimeTypes
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Uma lista de expressões regulares que definem os tipos MIME permitidos para upload. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Padrão: Varia conforme o endpoint
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"Como está este guia?