OCR untuk Dokumen
Pelajari cara mengonfigurasi Optical Character Recognition (OCR) untuk meningkatkan ekstraksi teks pada fitur unggah file di LibreChat.
OCR (Optical Character Recognition) di LibreChat adalah peningkatan opsional untuk ekstraksi teks dari file.
Unggah sebagai Teks
Fitur "Upload as Text" (dari chat) bekerja dengan cara yang sama:
- File yang cocok dengan
fileConfig.ocr.supportedMimeTypesmenggunakan OCR jika tersedia - Beralih ke penguraian teks jika OCR tidak dikonfigurasi
- Sangat berguna untuk gambar dengan teks, dokumen hasil pindai, dan PDF yang kompleks
- Prioritas pemrosesan: OCR > STT > text parsing
- Lihat dokumentasi Upload as Text untuk detail selengkapnya.
Konteks File (untuk agen)
Saat Anda mengunggah file melalui bagian File Context di Agent Builder:
- Teks diekstraksi menggunakan penguraian teks secara default (OCR/STT jika dikonfigurasi dan file cocok)
- Teks yang diekstrak disimpan sebagai bagian dari instruksi sistem agen
- Agen dapat mereferensikan konteks ini di semua percakapan
- Layanan OCR bersifat opsional - fitur ini tetap berfungsi tanpanya dengan menggunakan penguraian teks (text parsing)
File yang diunggah sebagai "File Context" diproses untuk mengekstrak teks, yang kemudian ditambahkan ke instruksi sistem Agent. Ini ideal untuk dokumen, file kode, PDF, atau gambar dengan teks di mana Anda memerlukan konten teks lengkap untuk disertakan dalam instruksi agent.
Catatan: Teks yang diekstrak disertakan dalam instruksi sistem agen.
Konfigurasi OCR Opsional
Baik Agent File Context maupun Upload as Text berfungsi secara langsung (out-of-the-box) menggunakan penguraian teks. Untuk meningkatkan kualitas ekstraksi bagi gambar dan dokumen yang dipindai, Anda dapat mengonfigurasi layanan OCR secara opsional:
# 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"Catatan: Kapabilitas context diaktifkan secara default. Anda hanya perlu mengonfigurasi OCR (kapabilitas ocr) jika Anda menginginkan kualitas ekstraksi yang ditingkatkan untuk gambar dan dokumen yang dipindai.
Gambaran Umum Kemampuan OCR
Fungsi OCR di LibreChat memungkinkan:
- Ekstrak teks dari gambar dan dokumen
- Pertahankan struktur dan pemformatan dokumen
- Memproses tata letak kompleks termasuk teks multi-kolom
- Menangani tabel, persamaan, dan konten khusus lainnya
- Bekerja dengan konten multibahasa
Strategi OCR
LibreChat mendukung berbagai strategi OCR untuk memenuhi kebutuhan dan persyaratan penerapan yang berbeda. Pilih strategi yang paling sesuai dengan infrastruktur dan persyaratan kepatuhan Anda.
1. Mistral OCR (Default)
Strategi default menggunakan layanan cloud API Mistral secara langsung. Ini adalah pengaturan paling sederhana dan hanya memerlukan API key dari Mistral.
Variabel Lingkungan:
# `.env`
OCR_API_KEY=your-mistral-api-key
# OCR_BASEURL=https://api.mistral.ai/v1 # this is the default valueKonfigurasi:
# `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"Fitur Utama:
- Pelestarian Struktur Dokumen: Mempertahankan pemformatan seperti header, paragraf, daftar, dan tabel
- Dukungan Multibahasa: Memproses teks dalam berbagai bahasa dan skrip
- Penanganan Tata Letak Kompleks: Menangani teks multi-kolom dan konten campuran
- Pengenalan Ekspresi Matematika: Memproses persamaan dan rumus secara akurat
- Pemrosesan Berkecepatan Tinggi: Memproses hingga 2000 halaman per menit
Pertimbangan:
- Biaya: Menggunakan Mistral OCR mungkin dikenakan biaya karena ini adalah layanan API berbayar (meskipun uji coba gratis mungkin tersedia)
- Privasi Data: Data yang diproses melalui Mistral OCR tunduk pada lingkungan cloud Mistral dan ketentuan layanan mereka
- Batasan Dokumen:
- Ukuran file maksimum: 50 MB
- Panjang dokumen maksimum: 1.000 halaman
2. Azure Mistral OCR
Untuk organisasi yang menggunakan Azure AI Foundry, Anda dapat men-deploy model Mistral OCR ke infrastruktur Azure Anda. Saat ini, model Mistral OCR 2503 tersedia untuk deployment Azure.
Konfigurasi:
# `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 strategyInformasi Model Azure: Anda dapat menjelajahi model Mistral OCR terbaru yang tersedia di Azure AI Foundry di sini (memerlukan langganan Azure):
https://ai.azure.com/explore/models/mistral-ocr-2503
3. Google Vertex AI Mistral OCR
Untuk organisasi yang menggunakan Google Cloud Platform, Anda dapat men-deploy model Mistral OCR ke infrastruktur Google Cloud Vertex AI Anda.
Variabel Lingkungan:
# `.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": "..."
}'Konfigurasi:
# `librechat.yaml`
ocr:
mistralModel: "mistral-ocr-2505" # Model name as deployed in Vertex AI
strategy: "vertexai_mistral_ocr" # Use Google Vertex AI strategyPersyaratan Penyiapan:
- Deploy model Mistral OCR ke Google Vertex AI (contoh: mistral-ocr-2505)
- Buat akun layanan dengan izin yang sesuai untuk mengakses endpoint Vertex AI
- Unduh file kunci JSON akun layanan
- Atur variabel lingkungan
GOOGLE_SERVICE_KEY_FILEmenggunakan salah satu metode yang didukung
4. OCR Kustom (Direncanakan)
Dukungan untuk penyedia OCR kustom dan strategi yang ditentukan pengguna direncanakan untuk rilis mendatang.
5. Unggah File ke Provider (Langsung)
Untuk Penyedia LLM yang didukung (OpenAI, AzureOpenAI, Anthropic, Google, dan AWS Bedrock) serta model masing-masing, file sekarang dapat dikirim langsung ke API penyedia sebagai lampiran pesan, yang memungkinkan penyedia untuk menggunakan implementasi OCR bawaan mereka sendiri guna memproses file menggunakan opsi Upload to Provider di menu tarik-turun lampiran file.
Saat ini kelima penyedia yang disebutkan di atas menawarkan dukungan untuk gambar dan PDF, dengan Google juga menyertakan dukungan untuk file audio dan video jika digunakan bersama dengan model multimodal yang kompatibel. AWS Bedrock juga mendukung dokumen CSV, DOC, DOCX, XLS, XLSX, HTML, TXT, dan Markdown.
Peringatan Unggah PDF Azure OpenAI
Untuk endpoint Azure OpenAI, opsi Upload to Provider untuk file PDF hanya tersedia saat menggunakan Responses API. Chat Completions API milik Azure OpenAI mendukung gambar tetapi tidak mendukung lampiran file PDF.
Jika Anda tidak melihat 'Upload to Provider' sebagai opsi untuk PDF di menu tarik-turun lampiran obrolan Anda dengan Azure OpenAI, pastikan parameter Responses API diaktifkan di panel Parameters.
Catatan: endpoint OpenAI standar mendukung unggahan PDF baik di API Chat Completions maupun Responses.
Batas Unggah Dokumen AWS Bedrock
AWS Bedrock mendukung unggahan dokumen melalui Converse API untuk format berikut: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT, dan Markdown (.md)
Batasan:
- Ukuran file maksimum per dokumen: 4.5 MB
- Nama file dibersihkan agar sesuai dengan persyaratan penamaan Bedrock (alfanumerik, spasi, tanda hubung, tanda kurung, tanda kurung siku; maksimal 200 karakter)
Untuk detail lebih lanjut mengenai konfigurasi Bedrock, lihat panduan pengaturan AWS Bedrock.
Konfigurasi Terperinci
Untuk opsi konfigurasi tambahan yang lebih mendetail, lihat OCR Config Object Structure.
Konfigurasi Pemrosesan OCR
Kontrol jenis file mana yang diproses dengan OCR menggunakan 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$"File yang cocok dengan pola ini akan menggunakan OCR saat:
- Diunggah ke konteks file agen (selalu, jika OCR dikonfigurasi)
- Diunggah sebagai teks dalam obrolan (jika OCR dikonfigurasi; jika tidak, akan kembali ke penguraian teks)
Untuk detail lebih lanjut mengenai konfigurasi pemrosesan file, lihat File Config Object Structure.
Kasus Penggunaan untuk Konteks File Agen
Konteks File Agen sangat ideal untuk:
- Persistent Agent Knowledge: Tambahkan dokumentasi, kebijakan, atau materi referensi ke instruksi sistem agen
- Agen Terspesialisasi: Buat agen dengan pengetahuan khusus domain dari dokumen
- Asisten Berbasis Dokumen: Membangun agen yang selalu merujuk pada manual atau panduan tertentu
- Code Files: Sertakan contoh kode atau pustaka dalam instruksi agen
- Data Terstruktur: Tambahkan CSV, JSON, atau data terstruktur lainnya untuk dijadikan referensi oleh agen
Saat OCR dikonfigurasi, File Context juga menangani:
- Pemrosesan Dokumen Terpindai: Ekstrak dan simpan teks dari gambar atau PDF terpindai
- Ekstraksi Teks Gambar: Ekstraksi teks dari tangkapan layar atau foto dokumen
Untuk pertanyaan dokumen sementara dalam obrolan, lihat Upload as Text.
Batasan
- Akurasi ekstraksi teks dapat bervariasi tergantung pada jenis file, kualitas gambar, kompleksitas dokumen, dan kejelasan teks.
- Beberapa pemformatan khusus atau tata letak yang tidak biasa mungkin tidak dipertahankan dengan sempurna
- Dokumen yang sangat besar mungkin akan terpotong karena keterbatasan token dari model AI yang mendasarinya.
- Untuk hasil terbaik dengan gambar dan dokumen yang dipindai, konfigurasikan layanan OCR
Peningkatan di Masa Mendatang
LibreChat berencana untuk memperluas kemampuan OCR pada rilis mendatang:
- Dukungan untuk penyedia OCR kustom
- Opsi strategi
user_providedyang akan memungkinkan pengguna untuk memilih layanan OCR pilihan mereka - Integrasi dengan solusi OCR sumber terbuka
- Opsi pemrosesan dokumen yang ditingkatkan
- Kontrol yang lebih terperinci atas pengaturan OCR
- Mistral berencana untuk menyediakan API OCR mereka melalui mitra cloud mereka, seperti GCP dan AWS, serta swa-hosting perusahaan untuk organisasi dengan persyaratan privasi data yang ketat (sumber)
- LibreChat saat ini tidak menyertakan konten gambar yang telah diurai dari proses OCR dalam responsnya, meskipun layanan seperti Mistral's OCR API may provide hal tersebut dalam hasilnya. Fitur ini mungkin akan didukung pada pembaruan mendatang.
Untuk informasi lebih lanjut mengenai konfigurasi OCR, lihat Struktur Objek Konfigurasi OCR.
Bagaimana panduan ini?