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

OCR für Dokumente

Erfahren Sie, wie Sie die optische Zeichenerkennung (OCR) konfigurieren, um die Textextraktion in den Datei-Upload-Funktionen von LibreChat zu verbessern.

OCR (Optical Character Recognition) in LibreChat ist eine optionale Erweiterung zur Textextraktion aus Dateien.

Als Text hochladen

Die Funktion "Upload as Text" (aus dem Chat) funktioniert auf die gleiche Weise:

  • Dateien, die fileConfig.ocr.supportedMimeTypes entsprechen, verwenden OCR, falls verfügbar
  • Fällt auf Text-Parsing zurück, falls OCR nicht konfiguriert ist
  • Besonders nützlich für Bilder mit Text, gescannte Dokumente und komplexe PDFs
  • Verarbeitungspriorität: OCR > STT > Text-Parsing
  • Weitere Einzelheiten finden Sie in der Dokumentation zu Upload as Text.

Dateikontext (für Agents)

Wenn Sie Dateien über den Abschnitt „File Context“ des Agent Builders hochladen:

  1. Text wird standardmäßig durch Text-Parsing extrahiert (OCR/STT, falls konfiguriert und die Datei übereinstimmt).
  2. Extrahierter Text wird als Teil der Systemanweisungen des Agenten gespeichert.
  3. Der Agent kann in allen Unterhaltungen auf diesen Kontext verweisen
  4. Der OCR-Dienst ist optional – die Funktion funktioniert auch ohne ihn durch Text-Parsing

Dateien, die als "File Context" hochgeladen werden, werden verarbeitet, um Text zu extrahieren, der dann den Systemanweisungen des Agenten hinzugefügt wird. Dies ist ideal für Dokumente, Codedateien, PDFs oder Bilder mit Text, bei denen der vollständige Textinhalt in die Anweisungen des Agenten aufgenommen werden soll.

Hinweis: Der extrahierte Text ist in den Systemanweisungen des Agenten enthalten.

Optionale OCR-Konfiguration

Sowohl Agent File Context als auch Upload as Text funktionieren sofort einsatzbereit mittels Text-Parsing. Um die Extraktionsqualität für Bilder und gescannte Dokumente zu verbessern, können Sie optional einen OCR-Dienst konfigurieren:

# librechat.yaml
endpoints:
  agents:
    capabilities:
      - "context"  # Enables both agent file context and upload as text
      - "ocr"      # Optionally enhances both with OCR
 
ocr:
  strategy: "mistral_ocr"
  apiKey: "${OCR_API_KEY}"
  baseURL: "https://api.mistral.ai/v1"
  mistralModel: "mistral-ocr-latest"

Hinweis: Die context-Funktion ist standardmäßig aktiviert. Sie müssen OCR (die ocr-Funktion) nur konfigurieren, wenn Sie eine verbesserte Extraktionsqualität für Bilder und gescannte Dokumente wünschen.

Übersicht der OCR-Funktionen

Die OCR-Funktionalität in LibreChat ermöglicht:

  • Text aus Bildern und Dokumenten extrahieren
  • Behalten Sie die Dokumentstruktur und Formatierung bei
  • Verarbeitung komplexer Layouts, einschließlich mehrspaltigem Text
  • Verarbeitung von Tabellen, Gleichungen und anderen spezialisierten Inhalten
  • Arbeiten mit mehrsprachigen Inhalten

OCR-Strategien

LibreChat unterstützt mehrere OCR-Strategien, um unterschiedlichen Bereitstellungsanforderungen und Bedürfnissen gerecht zu werden. Wählen Sie die Strategie, die am besten zu Ihrer Infrastruktur und Ihren Compliance-Anforderungen passt.

1. Mistral OCR (Standard)

Die Standardstrategie verwendet direkt den Cloud-API-Dienst von Mistral. Dies ist die einfachste Einrichtung und erfordert lediglich einen API-Schlüssel von Mistral.

Umgebungsvariablen:

# `.env`
OCR_API_KEY=your-mistral-api-key
# OCR_BASEURL=https://api.mistral.ai/v1 # this is the default value

Konfiguration:

# `librechat.yaml`
ocr:
  mistralModel: "mistral-ocr-latest"       # Optional: Specify Mistral model, defaults to "mistral-ocr-latest"
  apiKey: "your-mistral-api-key"           # Optional: Defaults to OCR_API_KEY env variable
  baseURL: "https://api.mistral.ai/v1"     # Optional: Defaults to OCR_BASEURL env variable, or Mistral's API if no variable set
  strategy: "mistral_ocr"                  # Optional: Defaults to "mistral_ocr"

Hauptfunktionen:

  • Bewahrung der Dokumentenstruktur: Behält Formatierungen wie Überschriften, Absätze, Listen und Tabellen bei
  • Mehrsprachige Unterstützung: Verarbeitet Text in mehreren Sprachen und Schriftsystemen
  • Komplexe Layout-Verarbeitung: Unterstützt mehrspaltigen Text und gemischte Inhalte
  • Mathematische Ausdruckserkennung: Verarbeitet Gleichungen und Formeln präzise
  • Hochgeschwindigkeitsverarbeitung: Verarbeitet bis zu 2000 Seiten pro Minute

Überlegungen:

  • Kosten: Die Nutzung von Mistral OCR kann Kosten verursachen, da es sich um einen kostenpflichtigen API-Dienst handelt (obwohl möglicherweise kostenlose Testversionen verfügbar sind).
  • Datenschutz: Daten, die über Mistral OCR verarbeitet werden, unterliegen der Cloud-Umgebung von Mistral und deren Nutzungsbedingungen.
  • Dokumentenbeschränkungen:
    • Maximale Dateigröße: 50 MB
    • Maximale Dokumentenlänge: 1.000 Seiten

2. Azure Mistral OCR

Für Organisationen, die Azure AI Foundry nutzen, können Mistral OCR-Modelle in der Azure-Infrastruktur bereitgestellt werden. Derzeit ist das Modell Mistral OCR 2503 für die Azure-Bereitstellung verfügbar.

Konfiguration:

# `librechat.yaml`
ocr:
  mistralModel: "deployed-mistral-ocr-2503"              # Should match your Azure deployment name
  apiKey: "${AZURE_MISTRAL_OCR_API_KEY}"                 # Reference to your Azure API key in .env
  baseURL: "https://your-deployed-endpoint.models.ai.azure.com/v1"  # Your Azure endpoint
  strategy: "azure_mistral_ocr"                          # Use Azure strategy

Azure Modellinformationen: Sie können das neueste Mistral OCR-Modell, das auf Azure AI Foundry verfügbar ist, hier erkunden (erfordert ein Azure-Abonnement):

https://ai.azure.com/explore/models/mistral-ocr-2503

3. Google Vertex AI Mistral OCR

Für Organisationen, die die Google Cloud Platform nutzen, können Sie Mistral OCR-Modelle in Ihrer Google Cloud Vertex AI-Infrastruktur bereitstellen.

Umgebungsvariablen:

# `.env`
# Option 1: File path
GOOGLE_SERVICE_KEY_FILE=/path/to/your/service-account-key.json
 
# Option 2: URL to fetch the key
GOOGLE_SERVICE_KEY_FILE=https://your-secure-server.com/service-account-key.json
 
# Option 3: Base64 encoded JSON
GOOGLE_SERVICE_KEY_FILE=eyJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsICJwcm9qZWN0X2lkIjogInlvdXItcHJvamVjdC1pZCIsIC4uLn0=
 
# Option 4: Raw JSON string
GOOGLE_SERVICE_KEY_FILE='{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "...",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "..."
}'

Konfiguration:

# `librechat.yaml`
ocr:
  mistralModel: "mistral-ocr-2505"                        # Model name as deployed in Vertex AI
  strategy: "vertexai_mistral_ocr"                       # Use Google Vertex AI strategy

Einrichtungsanforderungen:

  1. Stellen Sie ein Mistral OCR-Modell auf Google Vertex AI bereit (z. B. mistral-ocr-2505)
  2. Erstellen Sie ein Dienstkonto mit den entsprechenden Berechtigungen für den Zugriff auf den Vertex AI endpoint
  3. Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter
  4. Setzen Sie die Umgebungsvariable GOOGLE_SERVICE_KEY_FILE unter Verwendung einer der unterstützten Methoden.

4. Benutzerdefinierte OCR (Geplant)

Die Unterstützung für benutzerdefinierte OCR-Anbieter und benutzerdefinierte Strategien ist für zukünftige Releases geplant.

5. Dateien zum Anbieter hochladen (Direkt)

Für unterstützte LLM-Anbieter (OpenAI, AzureOpenAI, Anthropic, Google und AWS Bedrock) und deren jeweilige Modelle können Dateien nun direkt als Nachrichtenanhänge an die APIs der Anbieter gesendet werden. Dies ermöglicht es dem Anbieter, seine eigenen nativen OCR-Implementierungen zur Analyse der Dateien zu verwenden, indem die Option Upload to Provider im Dropdown-Menü für Dateianhänge ausgewählt wird.

Derzeit bieten alle fünf der genannten Anbieter Unterstützung für Bilder und PDFs, wobei Google bei Verwendung kompatibler multimodaler Modelle auch Unterstützung für Audio- und Videodateien beinhaltet. AWS Bedrock unterstützt zusätzlich CSV-, DOC-, DOCX-, XLS-, XLSX-, HTML-, TXT- und Markdown-Dokumente.

Einschränkung für Azure OpenAI PDF-Uploads

Für Azure OpenAI-endpoints ist die Option „Upload to Provider“ für PDF-Dateien nur bei Verwendung der Responses API verfügbar. Die Chat Completions API von Azure OpenAI unterstützt Bilder, jedoch keine PDF-Dateianhänge.

Wenn Sie 'Upload to Provider' für PDFs im Dropdown-Menü für Anhänge Ihres Chats mit Azure OpenAI nicht sehen, stellen Sie sicher, dass der API-Parameter Responses im Bereich Parameters aktiviert ist.

Hinweis: Standard OpenAI endpoints unterstützen PDF-Uploads sowohl in Chat Completions als auch in Responses APIs.

AWS Bedrock Dokumenten-Upload-Limits

AWS Bedrock unterstützt Dokumenten-Uploads über die Converse API für die folgenden Formate: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT und Markdown (.md)

Einschränkungen:

  • Maximale Dateigröße pro Dokument: 4,5 MB
  • Dateinamen werden bereinigt, um den Namensanforderungen von Bedrock zu entsprechen (alphanumerisch, Leerzeichen, Bindestriche, Klammern, eckige Klammern; maximal 200 Zeichen).

Weitere Details zur Bedrock-Konfiguration finden Sie im AWS Bedrock-Einrichtungsleitfaden.

Detaillierte Konfiguration

Für zusätzliche, detaillierte Konfigurationsoptionen siehe die OCR Config Object Structure.

OCR-Verarbeitungskonfiguration

Steuern Sie mit fileConfig, welche Dateitypen mittels OCR verarbeitet werden:

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$"

Dateien, die diesen Mustern entsprechen, verwenden OCR, wenn:

  • In den Datei-Kontext des Agents hochgeladen (immer, falls OCR konfiguriert ist)
  • Als Text im Chat hochgeladen (falls OCR konfiguriert ist; andernfalls wird auf Text-Parsing zurückgegriffen)

Weitere Details zur Konfiguration der Dateiverarbeitung finden Sie unter File Config Object Structure.

Anwendungsfälle für Agent File Context

Agent File Context ist ideal für:

  • Persistentes Agentenwissen: Fügen Sie Dokumentationen, Richtlinien oder Referenzmaterialien zu den Systemanweisungen eines Agenten hinzu
  • Spezialisierte Agents: Erstellen Sie Agents mit fachspezifischem Wissen aus Dokumenten
  • Dokumentenbasierte Assistenten: Erstellen Sie Agenten, die immer auf spezifische Handbücher oder Anleitungen verweisen
  • Code-Dateien: Binden Sie Code-Beispiele oder Bibliotheken in die Agenten-Anweisungen ein
  • Strukturierte Daten: Fügen Sie CSV-, JSON- oder andere strukturierte Daten hinzu, auf die der Agent zugreifen kann

Wenn OCR konfiguriert ist, verarbeitet File Context auch:

  • Verarbeitung gescannter Dokumente: Extrahieren und Speichern von Text aus Bildern oder gescannten PDFs
  • Textextraktion aus Bildern: Extrahieren Sie Text aus Screenshots oder Fotos von Dokumenten

Für temporäre Dokumentenfragen im Chat, siehe Upload as Text.

Einschränkungen

  • Die Genauigkeit der Textextraktion kann je nach Dateityp, Bildqualität, Dokumentenkomplexität und Textklarheit variieren.
  • Einige spezialisierte Formatierungen oder ungewöhnliche Layouts werden möglicherweise nicht perfekt beibehalten.
  • Sehr große Dokumente können aufgrund von Token-Beschränkungen der zugrunde liegenden KI-Modelle abgeschnitten werden.
  • Für optimale Ergebnisse bei Bildern und gescannten Dokumenten konfigurieren Sie einen OCR-Dienst.

Zukünftige Erweiterungen

LibreChat plant, die OCR-Funktionen in zukünftigen Versionen zu erweitern:

  • Unterstützung für benutzerdefinierte OCR-Anbieter
  • Eine user_provided Strategieoption, die es Benutzern ermöglicht, ihren bevorzugten OCR-Dienst auszuwählen
  • Integration mit Open-Source-OCR-Lösungen
  • Erweiterte Optionen zur Dokumentenverarbeitung
  • Genauere Kontrolle über OCR-Einstellungen
  • Mistral plant, seine OCR-API über seine Cloud-Partner wie GCP und AWS sowie als Enterprise-Self-Hosting für Unternehmen mit strengen Datenschutzanforderungen verfügbar zu machen (Quelle)
  • LibreChat enthält derzeit nicht den geparsten Bildinhalt aus dem OCR-Prozess in seinen Antworten, obwohl Dienste wie die Mistral's OCR API diese im Ergebnis bereitstellen können. Diese Funktion wird möglicherweise in zukünftigen Updates unterstützt.

Weitere Informationen zur Konfiguration von OCR finden Sie unter OCR Config Object Structure.

Wie finden Sie diese Anleitung?