Ollama-OCR: Hướng dẫn sử dụng OCR mạnh mẽ với Vision Models

ByNgọc Trai MKT22/07/2026in GitHub Tools 0
ollama-ocr

Ollama-OCR là một thư viện Python mã nguồn mở kết hợp sức mạnh của các mô hình ngôn ngữ thị giác (vision language models) thông qua Ollama để trích xuất văn bản từ hình ảnh và file PDF. Công cụ này giải quyết bài toán OCR truyền thống bằng cách tận dụng các mô hình như LLaVA, Llama 3.2 Vision, Granite3.2-vision, Moondream và MiniCPM-V. Nó phù hợp cho các lập trình viên, nhà nghiên cứu và chuyên gia xử lý tài liệu cần một giải pháp OCR linh hoạt, hỗ trợ nhiều định dạng đầu ra (Markdown, JSON, plain text) và xử lý hàng loạt.

Thank you for reading this post, don't forget to subscribe!

Những điểm chính

  • Ollama-OCR cho phép trích xuất văn bản từ ảnh và PDF bằng cách gọi các mô hình thị giác mạnh mẽ qua Ollama, chạy hoàn toàn cục bộ.
  • Hỗ trợ nhiều mô hình (LLaVA, Llama 3.2 Vision, Granite3.2-vision, Moondream, MiniCPM-V) và nhiều định dạng đầu ra (Markdown, plain text, JSON, structured, key-value, table).
  • Tích hợp xử lý hàng loạt với đa luồng, tiền xử lý ảnh, tùy chỉnh prompt và lựa chọn ngôn ngữ.
  • Đi kèm ứng dụng Streamlit thân thiện cho phép kéo thả file và tải kết quả xuống.

Ollama-OCR là gì và giải quyết vấn đề gì?

Ollama-OCR là gì và giải quyết vấn đề gì?
Ollama-OCR là gì và giải quyết vấn đề gì?

Ollama-OCR là một gói Python và ứng dụng Streamlit cho phép bạn trích xuất văn bản từ hình ảnh và tài liệu PDF bằng các mô hình thị giác ngôn ngữ (Vision Language Model – VLM) chạy qua Ollama. Thay vì phụ thuộc vào các dịch vụ OCR đám mây hoặc các thư viện truyền thống dễ sai với tài liệu phức tạp, Ollama-OCR tận dụng khả năng hiểu ngữ cảnh của các mô hình như Llama 3.2 Vision và Granite3.2-vision. Điều này giúp nó xử lý tốt các bảng biểu, biểu đồ, văn bản có nhiều định dạng và thậm chí cả chữ viết tay (tùy mô hình). Nhờ chạy cục bộ qua Ollama, bạn không cần lo về quyền riêng tư dữ liệu hay chi phí API. Bạn có thể xem chi tiết tại repository gốc trên GitHub.

Những tính năng nổi bật của Ollama-OCR?

Những tính năng nổi bật của Ollama-OCR?
Những tính năng nổi bật của Ollama-OCR?

Ollama-OCR tích hợp nhiều tính năng mạnh mẽ giúp nó trở thành công cụ OCR linh hoạt và hiện đại. Bạn có thể chọn giữa năm mô hình thị giác khác nhau tùy theo nhu cầu về độ chính xác và tài nguyên: từ LLaVA nhẹ cho xử lý thời gian thực, đến Llama 3.2 Vision cho tài liệu phức tạp, hay Granite3.2-vision chuyên trích xuất từ bảng biểu và đồ thị. Mỗi mô hình đều có ưu và nhược điểm riêng – ví dụ tác giả ghi chú LLaVA đôi khi cho kết quả sai. Đầu ra có thể được định dạng dưới dạng Markdown, plain text, JSON, structured, key-value hoặc table, phù hợp với nhiều luồng xử lý downstream. Tính năng xử lý hàng loạt cho phép bạn xử lý nhiều ảnh cùng lúc với tiến trình theo dõi, tiền xử lý ảnh và tùy chỉnh prompt. Bạn cũng có thể chỉ định ngôn ngữ văn bản để cải thiện độ chính xác. Ngoài ra, giao diện Streamlit cho phép người dùng không chuyên kéo thả file và tải kết quả xuống ngay lập tức.

Hướng dẫn cài đặt và sử dụng Ollama-OCR?

Hướng dẫn cài đặt và sử dụng Ollama-OCR?
Hướng dẫn cài đặt và sử dụng Ollama-OCR?

Để bắt đầu, bạn cần cài đặt Ollama và kéo các mô hình mong muốn. Sau đó cài đặt gói và chạy thử. Dưới đây là các bước chi tiết:

  1. Cài đặt Ollama: Truy cập trang chủ Ollama, tải và cài đặt cho hệ điều hành của bạn.
  2. Kéo mô hình cần dùng: Mở terminal và chạy các lệnh như ollama pull llama3.2-vision:11b, ollama pull granite3.2-vision, ollama pull moondream, ollama pull minicpm-v.
  3. Cài đặt gói Ollama-OCR: pip install ollama-ocr (hoặc clone repo và pip install -r requirements.txt nếu muốn chạy Streamlit).
  4. Sử dụng trong Python: Khởi tạo đối tượng OCRProcessor với tên mô hình và base_url Ollama. Ví dụ: ocr = OCRProcessor(model_name='llama3.2-vision:11b'). Sau đó gọi ocr.process_image với đường dẫn ảnh hoặc PDF, format_type mong muốn. Kết quả trả về là chuỗi hoặc JSON.
  5. Chạy giao diện Streamlit: Nếu clone repo, vào thư mục chứa app.py và gõ streamlit run app.py. Trình duyệt sẽ mở giao diện cho phép upload file và xem kết quả.

Lưu ý: Bạn có thể tùy chỉnh base_url nếu Ollama chạy trên máy khác hoặc trong Docker (ví dụ http://host.docker.internal:11434/api/generate).

Ai nên dùng Ollama-OCR – và ai không nên?

Ai nên dùng Ollama-OCR – và ai không nên?
Ai nên dùng Ollama-OCR – và ai không nên?

Ollama-OCR phù hợp với các lập trình viên muốn tích hợp OCR vào ứng dụng nội bộ mà không phụ thuộc vào dịch vụ đám mây. Nó cũng hữu ích cho chuyên gia xử lý tài liệu cần trích xuất thông tin từ bảng biểu, biểu đồ hoặc tài liệu có bố cục phức tạp. Những ai đã quen với hệ sinh thái Ollama và muốn thử nghiệm các mô hình thị giác sẽ thấy nó trực quan. Tuy nhiên, nếu bạn chỉ cần OCR cơ bản với văn bản in đơn giản, các thư viện truyền thống như Tesseract có thể nhanh hơn và nhẹ hơn. Ngoài ra, vì chạy qua Ollama, bạn cần có GPU hoặc CPU đủ mạnh để chạy các mô hình lớn như Llama 3.2 Vision 11B. Nếu bạn không có tài nguyên phần cứng hoặc cần OCR thời gian thực với tốc độ cao, đây có thể không phải lựa chọn tối ưu. Tác giả cũng lưu ý rằng LLaVA đôi khi cho kết quả sai, nên cần kiểm tra lại đầu ra.

Câu hỏi thường gặp

Có cần GPU để chạy Ollama-OCR không?

Không bắt buộc, nhưng các mô hình lớn như llama3.2-vision:11b chạy mượt hơn nhiều trên GPU. Các mô hình nhỏ hơn như Moondream hay Minicpm-v có thể hoạt động trên CPU, nhưng tốc độ sẽ chậm hơn.

Hỗ trợ những ngôn ngữ nào?

Bạn có thể chỉ định tham số language khi gọi OCRProcessor. Tuy nhiên, hiệu quả phụ thuộc vào khả năng của mô hình thị giác đã chọn. Các mô hình như Llama 3.2 Vision hỗ trợ tốt tiếng Anh và nhiều ngôn ngữ Latin khác.

Có thể xử lý file PDF nhiều trang không?

Có, Ollama-OCR hỗ trợ xử lý file PDF. Tuy nhiên, cần lưu ý rằng mỗi trang sẽ được xử lý riêng lẻ. Tác giả khuyến nghị nên chuyển PDF thành các ảnh riêng trước khi dùng batch processing nếu cần tối ưu.

Kết luận

Ollama-OCR là một công cụ mã nguồn mở mạnh mẽ cho phép bạn khai thác các mô hình thị giác ngôn ngữ hiện đại để trích xuất văn bản từ ảnh và PDF một cách linh hoạt và bảo mật. Với hỗ trợ nhiều mô hình, định dạng đầu ra và giao diện Streamlit thân thiện, nó là lựa chọn đáng cân nhắc cho các dự án cần OCR chất lượng cao. Hãy truy cập Ollama-OCR trên GitHub để dùng thử và đóng góp cho dự án.

Related Posts