ocr / USAGE_GUIDE.md
upprize's picture
.
21ac63b
# راهنمای استفاده از dots.ocr Space
## نصب و راه‌اندازی
### 1. آپلود به Hugging Face Space
1. فایل‌های پروژه را به یک Hugging Face Space جدید آپلود کنید
2. مطمئن شوید که Space از نوع Gradio است
3. GPU را در تنظیمات Space فعال کنید (توصیه می‌شود: T4 یا بالاتر)
### 2. استفاده از رابط کاربری
بعد از راه‌اندازی Space:
1. تصویر سند خود را آپلود کنید
2. نوع پرامپت را انتخاب کنید:
- **Full Layout + OCR**: تحلیل کامل با bounding box، دسته‌بندی و متن
- **OCR Only**: استخراج ساده متن
- **Layout Detection Only**: فقط تشخیص چیدمان
- **Custom**: پرامپت سفارشی
3. دکمه "Process Document" را بزنید
4. نتیجه را در قالب JSON دریافت کنید
### 3. استفاده از API
#### روش Python:
```python
from gradio_client import Client
# آدرس Space خود را وارد کنید
client = Client("YOUR_USERNAME/YOUR_SPACE_NAME")
# پردازش تصویر
result = client.predict(
image="path/to/your/image.jpg",
prompt_type="Full Layout + OCR (English)",
custom_prompt="",
api_name="/predict"
)
print(result)
```
#### استفاده از اسکریپت آماده:
```bash
# نصب کتابخانه
pip install gradio_client
# اجرای اسکریپت
python api_example.py \
--image your_document.jpg \
--space-url YOUR_SPACE_URL \
--prompt-type "Full Layout + OCR (English)"
```
### 4. استفاده از cURL:
```bash
curl -X POST "YOUR_SPACE_URL/api/predict" \
-H "Content-Type: application/json" \
-d '{
"data": [
{"path": "base64_encoded_image_or_url"},
"Full Layout + OCR (English)",
""
]
}'
```
## فرمت خروجی
### Full Layout + OCR:
```json
[
{
"bbox": [x1, y1, x2, y2],
"category": "Text",
"text": "محتوای متن..."
},
{
"bbox": [x1, y1, x2, y2],
"category": "Table",
"text": "<table>...</table>"
},
{
"bbox": [x1, y1, x2, y2],
"category": "Formula",
"text": "\\LaTeX{formula}"
}
]
```
## نکات مهم
1. **کیفیت تصویر**: برای نتایج بهتر از تصاویر با کیفیت بالا استفاده کنید
2. **رزولوشن**: حداکثر 11,289,600 پیکسل توصیه می‌شود
3. **زبان**: مدل از زبان‌های متعدد پشتیبانی می‌کند
4. **PDF**: فایل‌های PDF با DPI=200 بهترین نتیجه را می‌دهند
## عیب‌یابی
### خطای Out of Memory:
- سایز تصویر را کاهش دهید
- از GPU بزرگتری استفاده کنید
### خروجی نادرست:
- پرامپت دیگری امتحان کنید
- کیفیت تصویر را بهبود دهید
### مدل لود نمی‌شود:
- مطمئن شوید GPU فعال است
- صبر کنید تا مدل دانلود شود (اولین بار کمی طول می‌کشد)
## پشتیبانی
- GitHub: https://github.com/rednote-hilab/dots.ocr
- Hugging Face Model: https://huggingface.co/rednote-hilab/DotsOCR
## مثال‌های کاربردی
### 1. استخراج متن از فاکتور:
```python
result = client.predict(
image="invoice.jpg",
prompt_type="Full Layout + OCR (English)",
custom_prompt=""
)
```
### 2. تشخیص فرمول‌های ریاضی:
```python
result = client.predict(
image="math_document.png",
prompt_type="Full Layout + OCR (English)",
custom_prompt=""
)
# فرمول‌ها به فرمت LaTeX استخراج می‌شوند
```
### 3. استخراج جداول:
```python
result = client.predict(
image="table_document.jpg",
prompt_type="Full Layout + OCR (English)",
custom_prompt=""
)
# جداول به فرمت HTML استخراج می‌شوند
```