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

Struttura dell'oggetto di configurazione OCR

Panoramica

L'oggetto ocr ti consente di configurare le impostazioni di Optical Character Recognition (OCR) per l'applicazione, abilitando l'estrazione di testo dalle immagini. Questa sezione fornisce un'analisi dettagliata della struttura dell'oggetto ocr.

Ci sono 4 campi principali sotto ocr:

  • mistralModel
  • apiKey
  • baseURL
  • strategy

Note:

  • Se utilizzi l'API Mistral OCR, non è necessario modificare il file librechat.yaml.
    • Hai solo bisogno delle seguenti variabili d'ambiente per iniziare: OCR_API_KEY e OCR_BASEURL.
  • La funzionalità OCR consente all'applicazione di estrarre testo dalle immagini, che può poi essere elaborato dai modelli AI.
  • La strategia predefinita è mistral_ocr, che utilizza le funzionalità OCR di Mistral.
  • È anche possibile configurare un servizio OCR personalizzato impostando la strategia su custom_ocr.
  • I modelli Mistral OCR distribuiti su Azure possono essere utilizzati impostando la strategia su azure_mistral_ocr.
  • I modelli Mistral OCR distribuiti su Google Vertex AI possono essere utilizzati impostando la strategia su vertexai_mistral_ocr.
    • Richiede che la variabile d'ambiente GOOGLE_SERVICE_KEY_FILE sia impostata con le credenziali dell'account di servizio
    • La service key può essere fornita come: percorso del file, URL, stringa JSON codificata in base64 o stringa JSON non elaborata
    • L'ID del progetto e la posizione vengono estratti automaticamente dalle credenziali dell'account di servizio
  • L'estrazione di testo locale è disponibile tramite document_parser, che estrae testo da file PDF, DOCX, XLS/XLSX e OpenDocument senza alcun'API esterna.
    • Utilizza pdfjs-dist, mammoth e SheetJS localmente — non sono necessari API key o base URL
    • Solo il campo strategy è obbligatorio; apiKey, baseURL e mistralModel vengono ignorati
  • Se si utilizza il Mistral OCR predefinito, è possibile specificare facoltativamente un modello Mistral specifico da utilizzare.
  • Il parsing delle variabili d'ambiente è supportato per i parametri apiKey, baseURL e mistralModel.
  • Un'opzione di strategia user_provided è prevista per le versioni future, ma non è ancora stata implementata.

Analisi automatica dei documenti (nessuna configurazione richiesta)

Il document_parser integrato viene eseguito automaticamente per i caricamenti di file degli agenti anche quando non è configurato alcun blocco ocr nel tuo librechat.yaml. Ciò significa che i file PDF, DOCX, XLS/XLSX e ODS vengono analizzati immediatamente senza alcuna configurazione.

La logica di risoluzione funziona come segue:

  1. Nessuna configurazione ocr esistente — Quando viene caricato un file di contesto per un agente e il suo tipo MIME corrisponde a un tipo di documento supportato (PDF, DOCX, Excel, ODS), viene utilizzato direttamente il document_parser. Non è richiesta alcuna verifica della funzionalità OCR per l'agente.

  2. ocr config exists — La strategia configurata (ad esempio, mistral_ocr) viene tentata per prima. Se la strategia configurata fallisce durante l'esecuzione, viene utilizzato document_parser come fallback, in modo che l'estrazione del testo abbia comunque successo per i tipi di documento supportati.

  3. Nessuno dei due ha successo — Se sia la strategia configurata che il parser del documento falliscono (ad esempio, il file è un PDF contenente solo immagini senza testo incorporato), viene restituito un errore che suggerisce la necessità di un servizio OCR.

Il document_parser gestisce solo documenti basati su testo. Per PDF basati su immagini o documenti scansionati, è comunque necessaria una strategia OCR configurata (come mistral_ocr) per estrarre il testo dalle immagini all'interno di quei file.

Esempio

ocr:
  mistralModel: "mistral-ocr-latest"
  apiKey: "your-mistral-api-key"
  strategy: "mistral_ocr"

Esempio con OCR personalizzato:

ocr:
  apiKey: "your-custom-ocr-api-key"
  baseURL: "https://your-custom-ocr-service.com/api"
  strategy: "custom_ocr"

Esempio con Azure Mistral OCR:

ocr:
  mistralModel: "deployed-mistral-ocr-2503" # should match deployment name on Azure
  apiKey: "${AZURE_MISTRAL_OCR_API_KEY}" # arbitrary .env var reference
  baseURL: "https://your-deployed-endpoint.models.ai.azure.com/v1" # hardcoded, can also be .env var reference
  strategy: "azure_mistral_ocr"

Esempio con Google Vertex AI Mistral OCR:

ocr:
  mistralModel: "mistral-ocr-2505" # model name as deployed in Vertex AI
  strategy: "vertexai_mistral_ocr"

Esempio con parser di documenti locale (nessuna API esterna necessaria):

ocr:
  strategy: "document_parser"

mistralModel

KeyTypeDescriptionExample
mistralModelStringIl modello Mistral da utilizzare per l'elaborazione OCR. Per le distribuzioni Azure, questo deve corrispondere al nome della tua distribuzione. Per Google Vertex AI, questo deve corrispondere al nome del modello nella tua distribuzione.Optional. Specifies which Mistral model should be used when the strategy is set to mistral_ocr, azure_mistral_ocr, or vertexai_mistral_ocr.
ocr:
  mistralModel: "mistral-ocr-latest"

Per distribuzioni Azure:

ocr:
  mistralModel: "deployed-mistral-ocr-2503" # Your Azure deployment name

Per le distribuzioni Google Vertex AI:

ocr:
  mistralModel: "mistral-ocr-2505" # Your Vertex AI model name

apiKey

KeyTypeDescriptionExample
apiKeyStringLa chiave API per il servizio OCR. Non utilizzata per Google Vertex AI (utilizza l'autenticazione tramite account di servizio via GOOGLE_SERVICE_KEY_FILE).Optional. Defaults to the environment variable OCR_API_KEY if not specified.
ocr:
  apiKey: "your-ocr-api-key"

baseURL

KeyTypeDescriptionExample
baseURLStringL'URL di base per l'API del servizio OCR. Per Google Vertex AI, questo viene costruito automaticamente dalle credenziali dell'account di servizio.Optional. Defaults to the environment variable OCR_BASEURL if not specified.
ocr:
  baseURL: "https://your-ocr-service.com/api"

strategy

KeyTypeDescriptionExample
strategyStringLa strategia OCR da utilizzare.Determines which OCR service to use. Options are "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser", or "custom_ocr". Defaults to "mistral_ocr".
ocr:
  strategy: "custom_ocr"

Strategie disponibili:

  • mistral_ocr: Utilizza le funzionalità OCR di Mistral tramite la Mistral API standard.
  • azure_mistral_ocr: Utilizza i modelli Mistral OCR distribuiti su Azure AI Foundry.
  • vertexai_mistral_ocr: Utilizza i modelli Mistral OCR distribuiti su Google Cloud Vertex AI.
  • document_parser: Utilizza l'estrazione di testo locale per file PDF, DOCX, XLS/XLSX e OpenDocument. Non è richiesta alcuna API esterna. Viene inoltre eseguito automaticamente per i caricamenti di file degli agenti quando non è presente alcuna configurazione ocr e come fallback quando una strategia OCR configurata fallisce.
  • custom_ocr: Utilizza un servizio OCR personalizzato specificato dal baseURL (non ancora implementato).

Com’è questa guida?