Ollama-OCR: Ekstraksi Teks dari Gambar dan PDF dengan Model AI Vision Canggih

Ollama-OCR: Ekstraksi Teks dari Gambar dan PDF dengan Model AI Vision Canggih

By Reggi, 11 Jul 2026

Pernahkah kamu perlu mengeluarkan teks dari gambar atau dokumen PDF? Seringkali pekerjaan itu bisa memakan banyak waktu. Untungnya, ada alat bantu baru yang bernama Ollama-OCR, sebuah paket Optical Character Recognition (OCR) yang canggih. Ia dirancang untuk mempermudah proses ekstraksi teks dari berbagai format, baik itu gambar maupun PDF, dengan memanfaatkan model bahasa vision (VLM) terbaru yang berjalan melalui Ollama.

Ollama-OCR hadir sebagai paket Python dan juga aplikasi web Streamlit. Ini memberikan fleksibilitas bagi para developer maupun pengguna umum yang menginginkan antarmuka visual yang mudah.

Fitur Utama Ollama-OCR yang Bikin Penasaran

Ollama-OCR dibekali dengan berbagai fitur yang menjadikannya pilihan menarik untuk kebutuhan ekstraksi teks. Berikut beberapa di antaranya:

  • Dukungan PDF dan Gambar: Kamu tidak perlu lagi repot memisahkan file. Ollama-OCR bisa menangani keduanya.
  • Beragam Model Vision: Integrasi dengan berbagai VLM memungkinkan kamu memilih model sesuai kebutuhan, dari yang cepat hingga yang paling akurat.
  • Format Output Fleksibel: Hasil ekstraksi bisa kamu dapatkan dalam berbagai format, mulai dari teks biasa hingga data terstruktur.
  • Batch Processing: Kamu bisa memproses banyak file sekaligus, bahkan dengan pelacakan progres.
  • Custom Prompts: Ini fitur menarik, di mana kamu bisa memberikan instruksi spesifik kepada model tentang teks apa yang harus diekstrak.
  • Dukungan Bahasa: Kamu bisa menentukan bahasa teks untuk akurasi OCR yang lebih baik.

Mengenal Lebih Dekat Model Vision yang Digunakan

Kekuatan Ollama-OCR terletak pada kemampuannya memanfaatkan berbagai model vision bahasa. Setiap model punya karakteristiknya sendiri:

Model VisionFitur UtamaCatatan
LLaVAModel efisien untuk pemrosesan real-timeTerkadang bisa menghasilkan output yang kurang akurat
Llama 3.2 VisionModel canggih dengan akurasi tinggi, terutama untuk dokumen kompleksDirekomendasikan untuk hasil yang presisi
Granite3.2-visionModel ringkas dan efisien, dirancang khusus untuk memahami dokumen visual, mampu mengekstraksi konten dari tabel, grafik, infografis, plot, dan diagramIdeal untuk analisis dokumen terstruktur
MoondreamModel kecil yang dirancang agar berjalan efisien di perangkat edgeCocok untuk lingkungan dengan sumber daya terbatas
Minicpm-vMampu memproses gambar dengan rasio aspek apa pun dan resolusi hingga 1.8 juta piksel, misalnya 1344x1344Fleksibel untuk berbagai ukuran dan bentuk gambar

Format Output yang Tersedia

Setelah teks diekstrak, kamu bisa memilih format output yang paling sesuai dengan kebutuhanmu:

  • Markdown Format: Output berupa string Markdown yang mempertahankan format teks, termasuk header dan list.
  • Text Format: Output berupa string teks biasa yang bersih dan sederhana.
  • JSON Format: Output berupa objek JSON yang berisi teks hasil ekstraksi.
  • Structured Format: Output berupa objek terstruktur yang berisi teks hasil ekstraksi, cocok untuk data terorganisir.
  • Key-Value Pairs: Output berupa dictionary yang berisi informasi berlabel yang diekstrak.
  • Table Format: Ekstraksi khusus untuk semua data tabular yang ditemukan.

Cara Memulai dengan Paket Python

Untuk kamu para developer, menginstal dan menggunakan Ollama-OCR sebagai paket Python cukup mudah.

Prasyarat: Sebelumnya, pastikan kamu sudah menginstal Ollama di sistemmu. Lalu, tarik model vision yang ingin kamu gunakan:

bash
ollama pull llama3.2-vision:11b ollama pull granite3.2-vision ollama pull moondream ollama pull minicpm-v

Instalasi Paket:

bash
pip install ollama-ocr

Memproses Satu File: Berikut contoh kode untuk memproses satu gambar atau PDF:

python
from ollama_ocr import OCRProcessor # Inisialisasi prosesor OCR ocr = OCRProcessor( model_name='llama3.2-vision:11b', base_url="http://host.docker.internal:11434/api/generate" ) # Memproses gambar atau PDF result = ocr.process_image( image_path="path/to/your/image.png", # Ganti dengan path ke file gambar atau PDF format_type="markdown", # Pilihan: markdown, text, json, structured, key_value custom_prompt="Extract all text, focusing on dates and names.", # Prompt khusus opsional language="English" # Tentukan bahasa teks ) print(result)

Memproses Banyak File (Batch Processing): Ollama-OCR juga mendukung pemrosesan batch untuk banyak gambar sekaligus. Kamu bisa mengatur jumlah max_workers untuk pemrosesan paralel dan melacak progresnya.

python
from ollama_ocr import OCRProcessor # Inisialisasi prosesor OCR dengan pekerja paralel ocr = OCRProcessor( model_name='llama3.2-vision:11b', max_workers=4 # Maksimal pekerja untuk pemrosesan paralel ) # Memproses banyak gambar atau PDF batch_results = ocr.process_batch( input_path="path/to/images/folder", # Direktori atau daftar path gambar format_type="markdown", recursive=True, # Mencari di subdirektori preprocess=True, # Mengaktifkan preprocessing gambar custom_prompt="Extract all text, focusing on dates and names.", # Prompt khusus opsional language="English" # Tentukan bahasa teks ) # Mengakses hasil for file_path, text in batch_results['results'].items(): print(f"\nFile: {file_path}") print(f"Extracted Text: {text}") # Melihat statistik print("\nProcessing Statistics:") print(f"Total images: {batch_results['statistics']['total']}") print(f"Successfully processed: {batch_results['statistics']['successful']}") print(f"Failed: {batch_results['statistics']['failed']}")

Aplikasi Web Streamlit yang User-Friendly

Jika kamu lebih suka antarmuka grafis, Ollama-OCR juga menyediakan aplikasi web Streamlit. Aplikasi ini mendukung pemrosesan batch dan menawarkan antarmuka yang intuitif dengan fitur drag-and-drop, pratinjau gambar, pemrosesan real-time, dan kemampuan mengunduh teks yang diekstrak.

Cara Menjalankan Aplikasi Streamlit:

  1. Clone repositori:
    bash
    git clone https://github.com/imanoop7/Ollama-OCR.git
  2. Masuk ke direktori repositori:
    bash
    cd Ollama-OCR
  3. Instal dependensi:
    bash
    pip install -r requirements.txt
  4. Masuk ke direktori src/ollama_ocr:
    bash
    cd src/ollama_ocr
  5. Jalankan aplikasi Streamlit:
    bash
    streamlit run app.py

Ollama-OCR juga menyediakan contoh notebook di Google Colab untuk demonstrasi penggunaan, serta integrasi dengan tools seperti Autogen dan LangGraph, menunjukkan potensinya dalam alur kerja yang lebih kompleks. Dengan lisensi MIT, proyek ini terbuka untuk kontribusi dan pengembangan lebih lanjut.

Referensi

https://github.com/imanoop7/Ollama-OCR


🔥 Sedang Ramai Dibaca