last ...
This commit is contained in:
@@ -0,0 +1,244 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>مستند فنی: اجرای مدل GGUF برای OCR چندزبانه با Ollama</title>
|
||||
<style>
|
||||
/* قالب ثابت مستندات */
|
||||
body {
|
||||
font-family: 'Tahoma', 'Segoe UI', Arial, sans-serif;
|
||||
line-height: 1.8;
|
||||
color: #333;
|
||||
background-color: #f4f6f8;
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
}
|
||||
.container {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
background: #ffffff;
|
||||
padding: 35px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 6px 16px rgba(0,0,0,0.08);
|
||||
}
|
||||
.header {
|
||||
border-bottom: 3px solid #2c3e50;
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.header h1 {
|
||||
color: #2c3e50;
|
||||
margin: 0;
|
||||
font-size: 26px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.meta-info {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 15px;
|
||||
margin-top: 20px;
|
||||
font-size: 14px;
|
||||
color: #444;
|
||||
}
|
||||
.meta-info span {
|
||||
background: #e8ecef;
|
||||
padding: 6px 14px;
|
||||
border-radius: 6px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.section {
|
||||
margin-bottom: 35px;
|
||||
}
|
||||
.section h2 {
|
||||
color: #2980b9;
|
||||
border-right: 5px solid #2980b9;
|
||||
padding-right: 15px;
|
||||
font-size: 22px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.step {
|
||||
background: #f8fbff;
|
||||
border: 1px solid #d6e4f0;
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
margin-bottom: 20px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
.step:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.05);
|
||||
}
|
||||
.step h3 {
|
||||
margin-top: 0;
|
||||
color: #1a5276;
|
||||
font-size: 18px;
|
||||
}
|
||||
code {
|
||||
background: #2d3436;
|
||||
color: #55efc4;
|
||||
padding: 3px 8px;
|
||||
border-radius: 5px;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 14px;
|
||||
direction: ltr;
|
||||
display: inline-block;
|
||||
}
|
||||
pre {
|
||||
background: #2d3436;
|
||||
color: #dfe6e9;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
overflow-x: auto;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.footer {
|
||||
margin-top: 50px;
|
||||
padding-top: 25px;
|
||||
border-top: 2px solid #eee;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
color: #777;
|
||||
}
|
||||
.note {
|
||||
background: #fff8e1;
|
||||
border: 1px solid #ffecb3;
|
||||
color: #856404;
|
||||
padding: 15px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
border-right: 4px solid #ffc107;
|
||||
}
|
||||
ul, ol {
|
||||
padding-right: 25px;
|
||||
}
|
||||
li {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<!-- سربرگ مستند -->
|
||||
<div class="header">
|
||||
<h1>مستند فنی: معرفی و اجرای مدل GGUF برای OCR چندزبانه با Ollama</h1>
|
||||
<div class="meta-info">
|
||||
<span>توسعهدهنده: هادی خزاعی اصل</span>
|
||||
<span>شرکت: فن آوران ساحر علم</span>
|
||||
<span>تاریخ تدوین: شنبه، ۱۱ مهر ۱۴۰۵</span>
|
||||
<span>نسخه مستند: 1.0.0</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- بخش ۱: مقدمه -->
|
||||
<div class="section">
|
||||
<h2>۱. مقدمه و هدف</h2>
|
||||
<p>این مستند با هدف راهنمایی گامبهگام مهندسان و توسعهدهندگان برای انتخاب، دانلود و اجرای بهینهترین مدلهای بینایی-زبانی (Vision-Language) با فرمت GGUF جهت انجام عملیات OCR (بازشناسی نوری کاراکتر) روی اسناد چندزبانه با استفاده از ابزار Ollama تهیه شده است.</p>
|
||||
</div>
|
||||
|
||||
<!-- بخش ۲: معرفی مدلها -->
|
||||
<div class="section">
|
||||
<h2>۲. معرفی مدلهای پیشنهادی</h2>
|
||||
<p>بر اساس جستوجوهای تخصصی در پلتفرم Hugging Face، مدلهای زیر بهترین عملکرد را برای OCR چندزبانه در قالب GGUF و با سازگاری کامل با Ollama ارائه میدهند:</p>
|
||||
|
||||
<div class="step">
|
||||
<h3>گزینه اول (پیشنهاد ویژه): Qwen2.5-VL (نسخه 7B یا 3B)</h3>
|
||||
<p>مدل Qwen2.5-VL قابلیتهای OCR خود را به سطح جدیدی ارتقا داده و از پشتیبانی چندزبانه، چندسناریویی و تشخیص متن در جهتهای مختلف برخوردار است [[34]]. این مدل توسط تیم Qwen در Alibaba Cloud توسعه یافته و سازگاری عالی با Ollama دارد [[30]].</p>
|
||||
<ul>
|
||||
<li><strong>حجم و کارایی:</strong> نسخه 3B برای سیستمهای با منابع محدود و نسخه 7B برای دقت بالاتر در اسناد پیچیده پیشنهاد میشود.</li>
|
||||
<li><strong>پشتیبانی زبانی:</strong> پشتیبانی ذاتی و قدرتمند از فارسی، انگلیسی، عربی، چینی و بیش از 30 زبان دیگر.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="step">
|
||||
<h3>گزینه دوم: DeepSeek-OCR (نسخه GGUF)</h3>
|
||||
<p>این مدل بهطور خاص برای انجام OCR با توکنهای کارآمد طراحی شده و متنهای چاپی و دستنویس را در زبانهای اصلی شناسایی میکند [[1]]. نسخه GGUF این مدل (مانند <code>NexaAI/DeepSeek-OCR-GGUF</code>) برای استنتاج محلی بهینهسازی شده است [[4]].</p>
|
||||
</div>
|
||||
|
||||
<div class="step">
|
||||
<h3>گزینه سوم: Unlimited-OCR-GGUF</h3>
|
||||
<p>یک مدل بینایی-زبانی 3 میلیارد پارامتری که بر پایه DeepSeek-OCR ساخته شده و عملکرد آن را در وظایف تخصصی OCR ارتقا میدهد [[2]].</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- بخش ۳: پیشنیازها -->
|
||||
<div class="section">
|
||||
<h2>۳. پیشنیازهای سیستم</h2>
|
||||
<ul>
|
||||
<li>نصب بودن آخرین نسخه <strong>Ollama</strong> (نسخه 0.13.0 یا بالاتر برای پشتیبانی بهینه از مدلهای بینایی پیشنهاد میشود) [[41]].</li>
|
||||
<li>حداقل 8 گیگابایت رم (برای نسخه 3B) یا 16 گیگابایت رم (برای نسخه 7B).</li>
|
||||
<li>اتصال پایدار به اینترنت برای دانلود اولیه وزنهای مدل.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- بخش ۴: راهنمای گامبهگام -->
|
||||
<div class="section">
|
||||
<h2>۴. راهنمای گامبهگام اجرا</h2>
|
||||
|
||||
<div class="step">
|
||||
<h3>گام ۱: اجرای مستقیم مدل Qwen2.5-VL از طریق Ollama (سادهترین روش)</h3>
|
||||
<p>ترمینال یا خط فرمان خود را باز کرده و دستور زیر را اجرا کنید. این دستور بهطور خودکار مدل را دانلود و محیط تعاملی را راهاندازی میکند:</p>
|
||||
<pre><code>ollama run qwen2.5vl</code></pre>
|
||||
<p>برای استفاده از نسخه سبکتر و سریعتر، میتوانید از دستور <code>ollama run qwen2.5vl:3b</code> استفاده نمایید.</p>
|
||||
</div>
|
||||
|
||||
<div class="step">
|
||||
<h3>گام ۲: اجرای مدلهای GGUF سفارشی از Hugging Face</h3>
|
||||
<p>اگر میخواهید از نسخههای خاص کوانتایز شده (مانند <code>unsloth/Qwen2.5-VL-7B-Instruct-GGUF</code>) استفاده کنید، مراحل زیر را دنبال کنید:</p>
|
||||
<ol>
|
||||
<li>فایل مدل GGUF مورد نظر (مثلاً با کوانتایزیشن <code>Q4_K_M</code>) را از Hugging Face دانلود کنید.</li>
|
||||
<li>در همان دایرکتوری، یک فایل متنی با نام <code>Modelfile</code> (بدون پسوند) ایجاد کنید.</li>
|
||||
<li>محتوای فایل <code>Modelfile</code> را به صورت زیر تنظیم کنید:</li>
|
||||
</ol>
|
||||
<pre><code>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
|
||||
</code></pre>
|
||||
<ol start="4">
|
||||
<li>مدل سفارشی را در Ollama بسازید:</li>
|
||||
</ol>
|
||||
<pre><code>ollama create qwen2.5vl-ocr-custom -f Modelfile</code></pre>
|
||||
<ol start="5">
|
||||
<li>مدل ساخته شده را اجرا کنید:</li>
|
||||
</ol>
|
||||
<pre><code>ollama run qwen2.5vl-ocr-custom</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="step">
|
||||
<h3>گام ۳: نحوه ارسال تصویر برای عملیات OCR</h3>
|
||||
<p>پس از اجرای مدل در محیط تعاملی Ollama، میتوانید مسیر محلی تصویر یا سند خود را وارد کرده و درخواست استخراج متن کنید. مثال:</p>
|
||||
<pre><code>/path/to/your/document.jpg
|
||||
لطفاً تمام متن موجود در این تصویر را به دقت استخراج کن و به زبان فارسی خروجی بده.</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- بخش ۵: نکات بهینهسازی -->
|
||||
<div class="section">
|
||||
<h2>۵. نکات بهینهسازی و عیبیابی</h2>
|
||||
<div class="note">
|
||||
<strong>نکته تخصصی:</strong> برای اسناد چندزبانه که شامل زبان فارسی هستند، مدلهای سری Qwen-VL به دلیل آموزش گسترده روی دادههای چندزبانه، عملکرد بسیار بهتری نسبت به مدلهای اختصاصی OCR قدیمی دارند [[35]].
|
||||
</div>
|
||||
<ul>
|
||||
<li><strong>کاهش مصرف حافظه:</strong> همواره از کوانتایزیشنهای <code>Q4_K_M</code> یا <code>Q5_K_M</code> استفاده کنید که تعادل عالی بین دقت و سرعت ارائه میدهند.</li>
|
||||
<li><strong>خطای Vision:</strong> اگر مدل تصویر را نخواند، مطمئن شوید که نسخه Ollama شما بهروز است و از فرمتهای تصویری استاندارد مانند JPG، PNG یا WebP استفاده میکنید.</li>
|
||||
<li><strong>افزایش دقت خروجی:</strong> پارامتر <code>temperature</code> را در <code>Modelfile</code> روی مقادیر پایین (مانند 0.1 یا 0.2) تنظیم کنید تا مدل خلاقیت کمتر و وفاداری بیشتری به متن اصلی تصویر داشته باشد.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- پاورقی -->
|
||||
<div class="footer">
|
||||
<p>تمامی حقوق مادی و معنوی این مستند متعلق به شرکت <strong>فن آوران ساحر علم</strong> میباشد.</p>
|
||||
<p>توسعه و تدوین: <strong>هادی خزاعی اصل</strong> | تاریخ بازنگری: شنبه، ۱۱ مهر ۱۴۰۵</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user