# 📋 Hướng Dẫn Chạy OCR Batch Sadi với Qwen

**Cập nhật:** 2026-04-23  
**Model:** Qwen VL (openrouter/qwen3.5-397b-a17b)

---

## 🚀 Cách 1: Chạy Thủ Công Từng Batch (Khuyến Nghị)

### Bước 1: Chạy OCR với Qwen

```bash
# Vào workspace
cd /opt/openclaw/.openclaw/workspace

# Chạy script OCR
bash scripts/ocr-sadi-batch.sh 126-130
```

### Bước 2: Hiệu Đínhh Thủ Công

1. Mở file raw: `Chuan Muc Sadi/extracted/Sadi-126-130-qwen.md`
2. Đọc chậm với checklist 80+ lỗi (5-10 phút/5 trang)
3. Lưu file đã hiệu đính: `Sadi-126-130-edited.md`

### Bước 3: Báo Cáo Kết Quả

Gửi báo cáo qua Telegram với format:
```
📊 BÁO CÁO OCR BATCH SADI-XXX-XXX
✅ Hoàn thành: [thời gian]
📄 Số trang: X trang
📈 Độ chính xác: ~XX%
🔧 Số lỗi đã sửa: ~XX lỗi
```

---

## ⚡ Cách 2: Chạy Tự Động với Sessions Spawn

### Chạy Tất Cả 15 Batch

```bash
# Batch 1-5
sessions_spawn --task "OCR batch Sadi-126-130 với Qwen VL" --runtime subagent --label "ocr-126-130"
sessions_spawn --task "OCR batch Sadi-131-135 với Qwen VL" --runtime subagent --label "ocr-131-135"
sessions_spawn --task "OCR batch Sadi-136-140 với Qwen VL" --runtime subagent --label "ocr-136-140"
sessions_spawn --task "OCR batch Sadi-141-145 với Qwen VL" --runtime subagent --label "ocr-141-145"
sessions_spawn --task "OCR batch Sadi-146-150 với Qwen VL" --runtime subagent --label "ocr-146-150"

# Batch 6-10
sessions_spawn --task "OCR batch Sadi-151-155 với Qwen VL" --runtime subagent --label "ocr-151-155"
sessions_spawn --task "OCR batch Sadi-156-160 với Qwen VL" --runtime subagent --label "ocr-156-160"
sessions_spawn --task "OCR batch Sadi-161-165 với Qwen VL" --runtime subagent --label "ocr-161-165"
sessions_spawn --task "OCR batch Sadi-166-170 với Qwen VL" --runtime subagent --label "ocr-166-170"
sessions_spawn --task "OCR batch Sadi-171-175 với Qwen VL" --runtime subagent --label "ocr-171-175"

# Batch 11-15
sessions_spawn --task "OCR batch Sadi-176-180 với Qwen VL" --runtime subagent --label "ocr-176-180"
sessions_spawn --task "OCR batch Sadi-181-185 với Qwen VL" --runtime subagent --label "ocr-181-185"
sessions_spawn --task "OCR batch Sadi-186-190 với Qwen VL" --runtime subagent --label "ocr-186-190"
sessions_spawn --task "OCR batch Sadi-191-195 với Qwen VL" --runtime subagent --label "ocr-191-195"
sessions_spawn --task "OCR batch Sadi-196-200 với Qwen VL" --runtime subagent --label "ocr-196-200"
```

**Lưu ý:**
- ⚠️ Không chạy tất cả cùng lúc — cách nhau 20 phút
- ⚠️ Mỗi session tốn ~30-50K tokens
- ✅ Theo dõi tiến độ: `sessions_list`

---

## 📁 Cấu Trúc File

```
Chuan Muc Sadi/
├── Sadi-126-130.pdf          # File gốc
├── extracted/
│   ├── Sadi-126-130-qwen.md  # Raw OCR
│   └── Sadi-126-130-edited.md # Đã hiệu đính
scripts/
├── ocr-sadi-batch.sh         # Script OCR
└── sadi-ocr-cronjobs.sh      # Cron config
obsidian/
├── Tam-Bao-Quy-Trinh-OCR.md  # Quy trình
└── Tam-Bao-OCR-Checklist.md  # Checklist lỗi
```

---

## ⚠️ Lưu Ý Quan Trọng

### Model OCR
- ✅ **Qwen VL** (openrouter/qwen3.5-397b-a17b)
- ❌ **KHÔNG dùng Gemini** — kém chính xác hơn 5-8%

### Thời Gian
- OCR: ~30-45 giây/batch
- Hậu xử lý: ~2 giây/batch
- Hiệu đính: **5-10 phút/batch** (quan trọng nhất!)

### Token Usage
- Mỗi batch: ~30-50K tokens
- 15 batch: ~450-750K tokens
- Khuyến nghị: Chạy 3-5 batch/ngày

---

## 📊 Checklist Mỗi Batch

- [ ] File PDF tồn tại trong workspace
- [ ] OCR với Qwen (KHÔNG Gemini)
- [ ] Lưu file `-qwen.md`
- [ ] Chạy script hậu xử lý (nếu cần)
- [ ] Hiệu đính thủ công với checklist 80+ lỗi
- [ ] Lưu file `-edited.md`
- [ ] Báo cáo kết quả qua Telegram
- [ ] Cập nhật daily note

---

## 🆘 Xử Lý Sự Cố

### OCR Kém Chính Xác (<85%)
- Kiểm tra file PDF có rõ không
- Thử OCR lại với prompt khác
- Dành nhiều thời gian hiệu đính hơn

### Script Hậu Xử Lý Lỗi
- Kiểm tra file `scripts/fix_myanmar_ocr.py`
- Chạy thủ công: `python3 scripts/fix_myanmar_ocr.py file.md`
- Đọc lại file sau khi chạy script

### Token Hết Hạn
- Chờ reset (thường vào đầu ngày)
- Giảm số batch chạy cùng lúc
- Ưu tiên batch quan trọng trước

---

**Tags:** #huong-dan #ocr #sadi #qwen #automation
