مستند فنی: معرفی و اجرای مدل GGUF برای OCR چندزبانه با Ollama

توسعه‌دهنده: هادی خزاعی اصل شرکت: فن آوران ساحر علم تاریخ تدوین: شنبه، ۱۱ مهر ۱۴۰۵ نسخه مستند: 1.0.0

۱. مقدمه و هدف

این مستند با هدف راهنمایی گام‌به‌گام مهندسان و توسعه‌دهندگان برای انتخاب، دانلود و اجرای بهینه‌ترین مدل‌های بینایی-زبانی (Vision-Language) با فرمت GGUF جهت انجام عملیات OCR (بازشناسی نوری کاراکتر) روی اسناد چندزبانه با استفاده از ابزار Ollama تهیه شده است.

۲. معرفی مدل‌های پیشنهادی

بر اساس جست‌وجوهای تخصصی در پلتفرم Hugging Face، مدل‌های زیر بهترین عملکرد را برای OCR چندزبانه در قالب GGUF و با سازگاری کامل با Ollama ارائه می‌دهند:

گزینه اول (پیشنهاد ویژه): Qwen2.5-VL (نسخه 7B یا 3B)

مدل Qwen2.5-VL قابلیت‌های OCR خود را به سطح جدیدی ارتقا داده و از پشتیبانی چندزبانه، چندسناریویی و تشخیص متن در جهت‌های مختلف برخوردار است [[34]]. این مدل توسط تیم Qwen در Alibaba Cloud توسعه یافته و سازگاری عالی با Ollama دارد [[30]].

  • حجم و کارایی: نسخه 3B برای سیستم‌های با منابع محدود و نسخه 7B برای دقت بالاتر در اسناد پیچیده پیشنهاد می‌شود.
  • پشتیبانی زبانی: پشتیبانی ذاتی و قدرتمند از فارسی، انگلیسی، عربی، چینی و بیش از 30 زبان دیگر.

گزینه دوم: DeepSeek-OCR (نسخه GGUF)

این مدل به‌طور خاص برای انجام OCR با توکن‌های کارآمد طراحی شده و متن‌های چاپی و دست‌نویس را در زبان‌های اصلی شناسایی می‌کند [[1]]. نسخه GGUF این مدل (مانند NexaAI/DeepSeek-OCR-GGUF) برای استنتاج محلی بهینه‌سازی شده است [[4]].

گزینه سوم: Unlimited-OCR-GGUF

یک مدل بینایی-زبانی 3 میلیارد پارامتری که بر پایه DeepSeek-OCR ساخته شده و عملکرد آن را در وظایف تخصصی OCR ارتقا می‌دهد [[2]].

۳. پیش‌نیازهای سیستم

۴. راهنمای گام‌به‌گام اجرا

گام ۱: اجرای مستقیم مدل Qwen2.5-VL از طریق Ollama (ساده‌ترین روش)

ترمینال یا خط فرمان خود را باز کرده و دستور زیر را اجرا کنید. این دستور به‌طور خودکار مدل را دانلود و محیط تعاملی را راه‌اندازی می‌کند:

ollama run qwen2.5vl

برای استفاده از نسخه سبک‌تر و سریع‌تر، می‌توانید از دستور ollama run qwen2.5vl:3b استفاده نمایید.

گام ۲: اجرای مدل‌های GGUF سفارشی از Hugging Face

اگر می‌خواهید از نسخه‌های خاص کوانتایز شده (مانند unsloth/Qwen2.5-VL-7B-Instruct-GGUF) استفاده کنید، مراحل زیر را دنبال کنید:

  1. فایل مدل GGUF مورد نظر (مثلاً با کوانتایزیشن Q4_K_M) را از Hugging Face دانلود کنید.
  2. در همان دایرکتوری، یک فایل متنی با نام Modelfile (بدون پسوند) ایجاد کنید.
  3. محتوای فایل Modelfile را به صورت زیر تنظیم کنید:
FROM ./Qwen2.5-VL-7B-Instruct-Q4_K_M.gguf
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
SYSTEM "شما یک دستیار هوشمند و متخصص در استخراج دقیق متن از تصاویر و اسناد چندزبانه هستید. فقط متن موجود در تصویر را بدون توضیح اضافی بازگردانید."
PARAMETER temperature 0.1
  1. مدل سفارشی را در Ollama بسازید:
ollama create qwen2.5vl-ocr-custom -f Modelfile
  1. مدل ساخته شده را اجرا کنید:
ollama run qwen2.5vl-ocr-custom

گام ۳: نحوه ارسال تصویر برای عملیات OCR

پس از اجرای مدل در محیط تعاملی Ollama، می‌توانید مسیر محلی تصویر یا سند خود را وارد کرده و درخواست استخراج متن کنید. مثال:

/path/to/your/document.jpg
لطفاً تمام متن موجود در این تصویر را به دقت استخراج کن و به زبان فارسی خروجی بده.

۵. نکات بهینه‌سازی و عیب‌یابی

نکته تخصصی: برای اسناد چندزبانه که شامل زبان فارسی هستند، مدل‌های سری Qwen-VL به دلیل آموزش گسترده روی داده‌های چندزبانه، عملکرد بسیار بهتری نسبت به مدل‌های اختصاصی OCR قدیمی دارند [[35]].