Skip to main content

LibreChat is joining ClickHouse. 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?