OCR voor documenten
Leer hoe je Optical Character Recognition (OCR) configureert om tekstextractie in de bestandsuploadfuncties van LibreChat te verbeteren.
OCR (Optical Character Recognition) in LibreChat is een optionele uitbreiding voor tekstextractie uit bestanden.
Uploaden als tekst
De "Upload as Text" functie (vanuit de chat) werkt op dezelfde manier:
- Bestanden die overeenkomen met
fileConfig.ocr.supportedMimeTypesgebruiken OCR indien beschikbaar - Valt terug op tekstverwerking als OCR niet is geconfigureerd
- Vooral nuttig voor afbeeldingen met tekst, gescande documenten en complexe PDF's
- Verwerkingsprioriteit: OCR > STT > tekstverwerking
- Zie de Upload as Text documentatie voor details.
Bestandscontext (voor agents)
Wanneer je bestanden uploadt via de sectie File Context van de Agent Builder:
- Tekst wordt standaard geëxtraheerd met behulp van tekstparsing (OCR/STT indien geconfigureerd en het bestand overeenkomt)
- Geëxtraheerde tekst wordt opgeslagen als onderdeel van de systeeminstructies van de agent
- De agent kan naar deze context verwijzen in alle gesprekken
- OCR-service is optioneel - de functie werkt zonder deze service door middel van tekstparsing
Bestanden die zijn geüpload als "File Context" worden verwerkt om tekst te extraheren, die vervolgens wordt toegevoegd aan de systeeminstructies van de Agent. Dit is ideaal voor documenten, codebestanden, PDF's of afbeeldingen met tekst waarbij de volledige tekstinhoud moet worden opgenomen in de instructies van de agent.
Let op: De geëxtraheerde tekst is opgenomen in de systeeminstructies van de agent.
Optionele OCR-configuratie
Zowel Agent File Context als Upload as Text werken direct uit de doos met behulp van tekstparsing. Om de extractiekwaliteit voor afbeeldingen en gescande documenten te verbeteren, kun je optioneel een OCR-service configureren:
# 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"Let op: De context functionaliteit is standaard ingeschakeld. Je hoeft OCR (de ocr functionaliteit) alleen te configureren als je een verbeterde extractiekwaliteit wilt voor afbeeldingen en gescande documenten.
Overzicht van OCR-mogelijkheden
OCR-functionaliteit in LibreChat maakt het volgende mogelijk:
- Extraheer tekst uit afbeeldingen en documenten
- Behoud de documentstructuur en opmaak
- Verwerk complexe lay-outs, inclusief tekst in meerdere kolommen
- Verwerk tabellen, vergelijkingen en andere gespecialiseerde inhoud
- Werken met meertalige inhoud
OCR-strategieën
LibreChat ondersteunt meerdere OCR-strategieën om aan verschillende implementatiebehoeften en vereisten te voldoen. Kies de strategie die het beste past bij uw infrastructuur en compliance-eisen.
1. Mistral OCR (Standaard)
De standaardstrategie maakt direct gebruik van de cloud API-service van Mistral. Dit is de eenvoudigste configuratie en vereist alleen een API-sleutel van Mistral.
Omgevingsvariabelen:
# `.env`
OCR_API_KEY=your-mistral-api-key
# OCR_BASEURL=https://api.mistral.ai/v1 # this is the default valueConfiguratie:
# `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"Belangrijkste functies:
- Behoud van documentstructuur: Behoudt opmaak zoals koppen, alinea's, lijsten en tabellen
- Meertalige ondersteuning: Verwerkt tekst in meerdere talen en schriften
- Complex Layout Handling: Verwerkt tekst met meerdere kolommen en gemengde inhoud
- Wiskundige expressieherkenning: Verwerkt vergelijkingen en formules nauwkeurig
- High-Speed Processing: Verwerkt tot 2000 pagina's per minuut
Overwegingen:
- Kosten: Het gebruik van Mistral OCR kan kosten met zich meebrengen aangezien het een betaalde API-service is (hoewel er mogelijk gratis proefversies beschikbaar zijn)
- Gegevensprivacy: Gegevens die via Mistral OCR worden verwerkt, vallen onder de cloudomgeving van Mistral en hun servicevoorwaarden.
- Documentbeperkingen:
- Maximale bestandsgrootte: 50 MB
- Maximale documentlengte: 1.000 pagina's
2. Azure Mistral OCR
Voor organisaties die Azure AI Foundry gebruiken, is het mogelijk om Mistral OCR-modellen te implementeren in uw Azure-infrastructuur. Momenteel is het Mistral OCR 2503-model beschikbaar voor Azure-implementatie.
Configuratie:
# `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 strategyAzure Model Information: Je kunt het nieuwste Mistral OCR-model dat beschikbaar is op Azure AI Foundry hier verkennen (vereist een Azure-abonnement):
https://ai.azure.com/explore/models/mistral-ocr-2503
3. Google Vertex AI Mistral OCR
Voor organisaties die gebruikmaken van Google Cloud Platform, is het mogelijk om Mistral OCR-modellen te implementeren op uw Google Cloud Vertex AI-infrastructuur.
Omgevingsvariabelen:
# `.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": "..."
}'Configuratie:
# `librechat.yaml`
ocr:
mistralModel: "mistral-ocr-2505" # Model name as deployed in Vertex AI
strategy: "vertexai_mistral_ocr" # Use Google Vertex AI strategySetup-vereisten:
- Implementeer een Mistral OCR-model op Google Vertex AI (bijv. mistral-ocr-2505)
- Maak een service account aan met de juiste rechten om toegang te krijgen tot het Vertex AI endpoint
- Download het JSON-sleutelbestand van het serviceaccount
- Stel de
GOOGLE_SERVICE_KEY_FILEomgevingsvariabele in met behulp van een van de ondersteunde methoden
4. Aangepaste OCR (Gepland)
Ondersteuning voor aangepaste OCR-providers en door de gebruiker gedefinieerde strategieën staat gepland voor toekomstige releases.
5. Bestanden uploaden naar provider (Direct)
Voor ondersteunde LLM-providers (OpenAI, AzureOpenAI, Anthropic, Google en AWS Bedrock) en hun respectievelijke modellen kunnen bestanden nu rechtstreeks naar de provider-API's worden verzonden als berichtbijlagen, waardoor de provider zijn eigen native OCR-implementaties kan gebruiken om bestanden te verwerken via de optie Upload to Provider in het vervolgkeuzemenu voor bestandsbijlagen.
Momenteel bieden alle vijf de bovengenoemde providers ondersteuning voor afbeeldingen en PDF's, waarbij Google ook ondersteuning biedt voor audio- en videobestanden wanneer deze worden gebruikt in combinatie met compatibele multimodale modellen. AWS Bedrock ondersteunt daarnaast CSV-, DOC-, DOCX-, XLS-, XLSX-, HTML-, TXT- en Markdown-documenten.
Azure OpenAI PDF-upload waarschuwing
Voor Azure OpenAI endpoints is de optie Upload to Provider voor PDF-bestanden alleen beschikbaar bij gebruik van de Responses API. De Chat Completions API van Azure OpenAI ondersteunt afbeeldingen, maar ondersteunt geen PDF-bestandsbijlagen.
Als je 'Upload to Provider' niet ziet als optie voor PDF's in het bijlagen-dropdownmenu van je chat met Azure OpenAI, zorg er dan voor dat de Responses API-parameter is ingeschakeld in het Parameters-paneel.
Let op: Standaard OpenAI endpoints ondersteunen PDF-uploads in zowel Chat Completions als Responses API's.
Limieten voor het uploaden van documenten naar AWS Bedrock
AWS Bedrock ondersteunt documentuploads via de Converse API voor de volgende formaten: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT en Markdown (.md)
Beperkingen:
- Maximale bestandsgrootte per document: 4.5 MB
- Bestandsnamen worden opgeschoond om te voldoen aan de naamgevingsvereisten van Bedrock (alfanumeriek, spaties, koppeltekens, haakjes, vierkante haken; maximaal 200 tekens)
Voor meer details over de Bedrock-configuratie, zie de AWS Bedrock setup guide.
Gedetailleerde configuratie
Voor aanvullende, gedetailleerde configuratie-opties, zie de OCR Config Object Structure.
OCR-verwerkingsconfiguratie
Bepaal welke bestandstypen met OCR worden verwerkt met behulp van fileConfig:
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$"Bestanden die overeenkomen met deze patronen zullen OCR gebruiken wanneer:
- Geüpload naar de bestandscontext van de agent (altijd, indien OCR is geconfigureerd)
- Geüpload als tekst in de chat (indien OCR is geconfigureerd; anders wordt teruggevallen op tekstverwerking)
Voor meer details over de configuratie van bestandsverwerking, zie File Config Object Structure.
Gebruiksscenario's voor Agent File Context
Agent File Context is ideaal voor:
- Persistente Agent-kennis: Voeg documentatie, beleid of referentiemateriaal toe aan de systeeminstructies van een agent
- Gespecialiseerde Agents: Creëer agents met domeinspecifieke kennis uit documenten
- Document-Based Assistants: Bouw agents die altijd verwijzen naar specifieke handleidingen of gidsen
- Code Files: Voeg codevoorbeelden of bibliotheken toe in de instructies voor de agent
- Gestructureerde data: Voeg CSV, JSON of andere gestructureerde data toe waar de agent naar kan verwijzen
Wanneer OCR is geconfigureerd, verwerkt File Context ook:
- Verwerking van gescande documenten: Extraheer en sla tekst op uit afbeeldingen of gescande PDF's
- Afbeeldingstekstextractie: Extraheer tekst uit screenshots of foto's van documenten
Voor tijdelijke documentvragen in de chat, zie Upload as Text.
Beperkingen
- De nauwkeurigheid van tekstextractie kan variëren afhankelijk van het bestandstype, de beeldkwaliteit, de complexiteit van het document en de tekstduidelijkheid.
- Sommige gespecialiseerde opmaak of ongebruikelijke lay-outs worden mogelijk niet perfect behouden
- Zeer grote documenten kunnen worden afgekapt vanwege tokenbeperkingen van de onderliggende AI-modellen.
- Voor het beste resultaat met afbeeldingen en gescande documenten, configureer een OCR-service
Toekomstige verbeteringen
LibreChat is van plan om OCR-mogelijkheden uit te breiden in toekomstige releases:
- Ondersteuning voor aangepaste OCR-providers
- Een
user_providedstrategie-optie waarmee gebruikers hun voorkeurs-OCR-service kunnen kiezen - Integratie met open-source OCR-oplossingen
- Verbeterde opties voor documentverwerking
- Fijnmazigere controle over OCR-instellingen
- Mistral is van plan om hun OCR API beschikbaar te maken via hun cloudpartners, zoals GCP en AWS, en via enterprise self-hosting voor organisaties met strikte vereisten op het gebied van gegevensprivacy (bron)
- LibreChat bevat momenteel niet de geparseerde afbeeldingsinhoud van het OCR-proces in zijn antwoorden, ook al kunnen services zoals Mistral's OCR API deze bieden in het resultaat. Deze functie wordt mogelijk ondersteund in toekomstige updates.
Voor meer informatie over het configureren van OCR, zie de OCR Config Object Structure.
Hoe is deze gids?