Struttura dell'oggetto di configurazione del file
Panoramica
L'oggetto fileConfig ti consente di configurare le impostazioni di gestione dei file per l'applicazione, inclusi i limiti di dimensione e le restrizioni sui tipi MIME. Questa sezione fornisce un'analisi dettagliata della struttura dell'oggetto fileConfig.
Ci sono 8 campi principali sotto fileConfig:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
Note:
- Al momento della stesura, l'endpoint Assistants supporta i tipi di file da questo elenco.
- OpenAI, Azure OpenAI, Google e gli endpoint personalizzati supportano i file tramite la RAG API.
- Gli endpoint OpenAI, Azure OpenAI, Anthropic, Google e AWS Bedrock supportano il caricamento diretto di file tramite Upload to Provider.
- Le sezioni
ocr,textesttcontrollano l'elaborazione dei file per funzionalità come Upload as Text e OCR - Qualsiasi altro endpoint non menzionato, come i Plugins, non supporta (ancora) il caricamento di file.
- L'endpoint Assistants ha un valore di endpoint definito come
assistants. Tutti gli altri endpoint utilizzano il valore definitodefault- Per gli endpoint non-assistants, è possibile regolare le impostazioni dei file per tutti loro sotto
default - Se desideri regolare le impostazioni per un endpoint specifico, puoi elencare i nomi degli endpoint corrispondenti:
assistants- non utilizza "default" poiché ha definito impostazioni predefinite separate dalle altre.
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- Per gli endpoint non-assistants, è possibile regolare le impostazioni dei file per tutti loro sotto
- Puoi omettere i valori; in tal caso, l'app utilizzerà i valori predefiniti come definito per tipo di endpoint elencato di seguito.
- LibreChat conta 1 megabyte come segue:
1 x 1024 x 1024
Esempio
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 | La dimensione massima globale per qualsiasi file caricato sul server, specificata in megabyte (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 | La dimensione massima consentita per le immagini dell'avatar, specificata in megabyte (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 | Impostazioni relative alla qualità e alle dimensioni dell'output della generazione di immagini. | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration supporta i seguenti parametri:
-
percentage(Intero)- La dimensione di output dell'immagine generata espressa come percentuale (ad esempio,
100significa il 100% della dimensione base). - Utilizzalo per ridimensionare l'immagine di output rispetto a una dimensione predefinita o originale.
- La dimensione di output dell'immagine generata espressa come percentuale (ad esempio,
-
px(Intero)- Specifica la dimensione dell'immagine in output in pixel (ad esempio,
1024). - Utilizzalo per impostare esplicitamente la dimensione di output dell'immagine generata, indipendentemente dalla dimensione di base.
- Specifica la dimensione dell'immagine in output in pixel (ad esempio,
È possibile impostare solo uno di questi parametri (percentage o px), non entrambi, a seconda del caso d'uso.
Esempio di configurazione:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | Numero massimo di token dai file di testo da includere nei prompt prima del troncamento. | fileTokenLimit: 100000 |
Descrizione: Quando si allega contenuto testuale, LibreChat tronca il testo in fase di esecuzione al limite di token configurato appena prima della costruzione del prompt.
Predefinito: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Impostazioni per l'elaborazione dei file tramite riconoscimento ottico dei caratteri (OCR). | Configures which file types are processed using OCR. |
Descrizione: La sezione ocr configura quali tipi di file devono essere elaborati utilizzando la funzionalità OCR per estrarre testo da documenti visivi.
Nota: Questa sezione controlla la corrispondenza dei tipi di file per l'elaborazione OCR. Per abilitare le funzionalità degli agenti e configurare i servizi OCR, consultare:
- Configurazione degli Agents per le funzionalità
ocrecontext - Configurazione OCR per l'impostazione del servizio OCR
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Elenco di pattern di tipo MIME per i file che devono essere elaborati con OCR. | Uses regular expressions to match file types. |
Predefinito: Immagini, PDF e documenti 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 | Impostazioni per l'analisi diretta di file di testo senza OCR. | Configures which file types are processed as plain text files for direct content extraction. |
Descrizione: La sezione text configura quali tipi di file devono essere elaborati utilizzando l'estrazione diretta del testo.
Nota: L'analisi del testo è il metodo predefinito utilizzato dalla funzionalità "Carica come testo" (controllata dalla funzionalità context). Tenta innanzitutto di utilizzare la libreria di analisi del testo dell'API RAG e, se l'API RAG non è connessa, ripiega su un metodo di estrazione del testo più semplice senza richiedere alcun servizio esterno. Vedi Carica come testo per ulteriori informazioni.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Elenco di pattern di tipo MIME per i file che dovrebbero essere analizzati come testo semplice. | Uses regular expressions to match file types. |
Predefinito: Tutti i file di testo e i linguaggi di programmazione comuni
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 | Impostazioni per l'elaborazione dei file audio Speech-to-Text (STT). | Configures which audio file types are processed using STT for transcription. |
Descrizione: La sezione stt configura quali tipi di file audio devono essere elaborati utilizzando la funzionalità Speech-to-Text per convertire l'audio in testo.
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Elenco dei pattern di tipo MIME per i file audio che dovrebbero essere trascritti con STT. | Uses regular expressions to match audio file types. |
Predefinito: Formati audio comuni
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"Note:
- I file che corrispondono ai pattern
textvengono elaborati con una semplice estrazione di testo - I file che corrispondono ai pattern
ocrvengono elaborati con il servizio OCR fornito - I file che corrispondono ai pattern
sttvengono elaborati con la trascrizione Speech-to-Text - Precedenza di elaborazione: OCR > STT > analisi del testo > fallback
- I file che non corrispondono ad alcun pattern verranno analizzati come testo.
Priorità di elaborazione dei file
LibreChat elabora i file caricati in base alla corrispondenza del tipo MIME con il seguente ordine di priorità:
- OCR - Se il file corrisponde a
ocr.supportedMimeTypesE l'OCR è configurato - STT - Se il file corrisponde a
stt.supportedMimeTypesE STT è configurato - Analisi del testo - Se il file corrisponde a
text.supportedMimeTypes - Fallback - Analisi del testo come ultima risorsa
Questo ordine di elaborazione garantisce una qualità di estrazione ottimale, mantenendo al contempo la funzionalità anche quando i servizi specializzati (OCR/STT) non sono configurati.
Esempi di elaborazione
File PDF con OCR configurato:
- Il file corrisponde a
ocr.supportedMimeTypes - Utilizza OCR per estrarre il testo
- Migliore qualità per PDF scansionati e immagini
File PDF senza OCR configurato:
- Il file corrisponde a
text.supportedMimeTypes(o utilizza il fallback) - Utilizza la libreria di text parsing
- Funziona bene per PDF digitali con testo selezionabile
File Python:
- Il file corrisponde a
text.supportedMimeTypes - Utilizza l'analisi del testo (non è necessario l'OCR)
- Estrazione diretta del testo
File audio con STT configurato:
- Il file corrisponde a
stt.supportedMimeTypes - Utilizza STT per trascrivere l'audio in testo
File immagine senza OCR configurato:
- Il file corrisponde a
ocr.supportedMimeTypesma l'OCR non è disponibile - Ripiega sull'analisi del testo
- Capacità di estrazione limitata senza OCR
Questo sistema di priorità consente a funzionalità come "Upload as Text" di funzionare senza richiedere una configurazione OCR, sfruttando comunque l'OCR quando disponibile per una migliore qualità di estrazione.
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Configura le impostazioni di gestione dei file per i singoli endpoint, consentendo la personalizzazione su base individuale. | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
Descrizione: Ogni oggetto sotto endpoints è un record che può avere le seguenti impostazioni:
Panoramica
disabled- Se la gestione dei file è disabilitata per l'endpoint.
fileLimit- Il numero massimo di file consentiti per richiesta di caricamento.
fileSizeLimit- La dimensione massima per un singolo file. In unità di MB (ad esempio, usa
20per 20 megabyte)
- La dimensione massima per un singolo file. In unità di MB (ad esempio, usa
totalSizeLimit- La dimensione massima totale per tutti i file in una singola richiesta. In unità di MB (ad esempio, usa
20per 20 megabyte)
- La dimensione massima totale per tutti i file in una singola richiesta. In unità di MB (ad esempio, usa
supportedMimeTypes- Un elenco di Regular Expressions che specifica quali tipi MIME sono consentiti per il caricamento. Questo può essere personalizzato per limitare i tipi di file.
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Indica se il caricamento di file è disabilitato per uno specifico endpoint. | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
Predefinito: false
openAI:
disabled: truefileLimit
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | Il numero massimo di file consentiti in una singola richiesta di caricamento. | Helps control the volume of uploads and manage server load. |
Predefinito: Varia in base all'endpoint
assistants:
fileLimit: 5fileSizeLimit
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | La dimensione massima consentita per ogni singolo file, specificata in megabyte (MB). | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
Predefinito: Varia in base all'endpoint
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | La dimensione massima totale consentita per tutti i file in una singola richiesta, specificata in megabyte (MB). | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
Predefinito: Varia in base all'endpoint
assistants:
totalSizeLimit: 50supportedMimeTypes
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | Un elenco di espressioni regolari che definisce i tipi MIME consentiti per il caricamento. | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
Predefinito: Varia in base all'endpoint
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"Com’è questa guida?