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

Struktura obiektu konfiguracji OCR

Przegląd

Obiekt ocr pozwala na skonfigurowanie ustawień optycznego rozpoznawania znaków (OCR) dla aplikacji, umożliwiając ekstrakcję tekstu z obrazów. Ta sekcja zawiera szczegółowy opis struktury obiektu ocr.

W sekcji ocr znajdują się 4 główne pola:

  • mistralModel
  • apiKey
  • baseURL
  • strategy

Uwagi:

  • Jeśli korzystasz z Mistral OCR API, nie musisz edytować swojego pliku librechat.yaml.
    • Aby rozpocząć, potrzebujesz tylko następujących zmiennych środowiskowych: OCR_API_KEY oraz OCR_BASEURL.
  • Funkcjonalność OCR umożliwia aplikacji wyodrębnianie tekstu z obrazów, który może być następnie przetwarzany przez modele AI.
  • Domyślną strategią jest mistral_ocr, która wykorzystuje możliwości OCR firmy Mistral.
  • Możesz również skonfigurować niestandardową usługę OCR, ustawiając strategię na custom_ocr.
  • Modele Mistral OCR wdrożone w Azure mogą być używane poprzez ustawienie strategii na azure_mistral_ocr.
  • Modele Mistral OCR wdrożone w Google Vertex AI mogą być używane poprzez ustawienie strategii na vertexai_mistral_ocr.
    • Wymaga ustawienia zmiennej środowiskowej GOOGLE_SERVICE_KEY_FILE z danymi uwierzytelniającymi konta serwisowego
    • Klucz usługi można podać jako: ścieżkę do pliku, URL, ciąg JSON zakodowany w base64 lub surowy ciąg JSON
    • Identyfikator projektu (Project ID) oraz lokalizacja są automatycznie pobierane z poświadczeń konta serwisowego.
  • Lokalna ekstrakcja tekstu jest dostępna za pośrednictwem document_parser, który wyodrębnia tekst z plików PDF, DOCX, XLS/XLSX oraz OpenDocument bez użycia zewnętrznego API.
    • Wykorzystuje lokalnie pdfjs-dist, mammoth oraz SheetJS — nie jest wymagany klucz API ani base URL
    • Tylko pole strategy jest wymagane; apiKey, baseURL oraz mistralModel są ignorowane
  • Jeśli używasz domyślnego Mistral OCR, możesz opcjonalnie określić konkretny model Mistral, który ma być używany.
  • Parsowanie zmiennych środowiskowych jest obsługiwane dla parametrów apiKey, baseURL oraz mistralModel.
  • Opcja strategii user_provided jest planowana w przyszłych wydaniach, ale nie została jeszcze zaimplementowana.

Automatyczne parsowanie dokumentów (bez wymaganej konfiguracji)

Wbudowany document_parser uruchamia się automatycznie dla plików przesyłanych przez agenta, nawet jeśli w librechat.yaml nie skonfigurowano bloku ocr. Oznacza to, że pliki PDF, DOCX, XLS/XLSX oraz ODS są analizowane od razu po instalacji, bez konieczności dodatkowej konfiguracji.

Logika rozdzielania działa w następujący sposób:

  1. Brak konfiguracji ocr — Gdy plik kontekstowy agenta jest przesyłany, a jego typ MIME pasuje do obsługiwanego typu dokumentu (PDF, DOCX, Excel, ODS), używany jest bezpośrednio document_parser. Dla agenta nie jest wymagane sprawdzanie możliwości OCR.

  2. ocr config istnieje — Skonfigurowana strategia (np. mistral_ocr) jest wypróbowywana jako pierwsza. Jeśli skonfigurowana strategia zawiedzie w czasie wykonywania, document_parser zostanie użyty jako rozwiązanie zastępcze, dzięki czemu ekstrakcja tekstu nadal powiedzie się dla obsługiwanych typów dokumentów.

  3. Żadna z nich nie kończy się powodzeniem — Jeśli zarówno skonfigurowana strategia, jak i parser dokumentów zawiodą (np. plik jest plikiem PDF zawierającym tylko obraz bez osadzonego tekstu), zwracany jest błąd sugerujący, że wymagana jest usługa OCR.

document_parser obsługuje wyłącznie dokumenty tekstowe. W przypadku plików PDF opartych na obrazach lub zeskanowanych dokumentów, nadal wymagana jest skonfigurowana strategia OCR (taka jak mistral_ocr), aby wyodrębnić tekst z obrazów zawartych w tych plikach.

Przykład

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

Przykład z niestandardowym OCR:

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

Przykład z 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"

Przykład z Google Vertex AI Mistral OCR:

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

Przykład z lokalnym parserem dokumentów (nie jest wymagane zewnętrzne API):

ocr:
  strategy: "document_parser"

mistralModel

KeyTypeDescriptionExample
mistralModelStringModel Mistral do wykorzystania przy przetwarzaniu OCR. W przypadku wdrożeń Azure, wartość ta powinna być zgodna z nazwą wdrożenia. W przypadku Google Vertex AI, powinna być zgodna z nazwą modelu w Twoim wdrożeniu.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"

Dla wdrożeń Azure:

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

W przypadku wdrożeń Google Vertex AI:

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

apiKey

KeyTypeDescriptionExample
apiKeyStringKlucz API dla usługi OCR. Nie jest używany w przypadku Google Vertex AI (który korzysta z uwierzytelniania konta serwisowego poprzez GOOGLE_SERVICE_KEY_FILE).Optional. Defaults to the environment variable OCR_API_KEY if not specified.
ocr:
  apiKey: "your-ocr-api-key"

baseURL

KeyTypeDescriptionExample
baseURLStringPodstawowy adres URL dla API usługi OCR. W przypadku Google Vertex AI jest on tworzony automatycznie na podstawie danych uwierzytelniających konta serwisowego.Optional. Defaults to the environment variable OCR_BASEURL if not specified.
ocr:
  baseURL: "https://your-ocr-service.com/api"

strategy

KeyTypeDescriptionExample
strategyStringStrategia OCR do użycia.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"

Dostępne strategie:

  • mistral_ocr: Wykorzystuje możliwości OCR modelu Mistral za pośrednictwem standardowego Mistral API.
  • azure_mistral_ocr: Wykorzystuje modele Mistral OCR wdrożone w Azure AI Foundry.
  • vertexai_mistral_ocr: Wykorzystuje modele Mistral OCR wdrożone w Google Cloud Vertex AI.
  • document_parser: Wykorzystuje lokalną ekstrakcję tekstu dla plików PDF, DOCX, XLS/XLSX oraz OpenDocument. Nie wymaga zewnętrznego API. Uruchamia się również automatycznie w przypadku przesyłania plików przez agenta, gdy nie skonfigurowano ocr, oraz jako mechanizm awaryjny, gdy skonfigurowana strategia OCR zawiedzie.
  • custom_ocr: Używa niestandardowej usługi OCR określonej przez baseURL (jeszcze nie zaimplementowano).

Jaka jest ta instrukcja?