Safetensors
GGUF
PyTorch
Vietnamese
vision-language
qwen
vlm
conversational
File size: 4,573 Bytes
708e7a7
 
 
 
 
 
 
 
 
 
 
aa149c5
708e7a7
 
 
 
aa149c5
708e7a7
aa149c5
708e7a7
 
 
 
 
 
02dadc4
708e7a7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
02dadc4
 
708e7a7
 
 
7c36767
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708e7a7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
---
language:
- vi
tags:
- vision-language
- qwen
- vlm
- gguf
- pytorch
license: apache-2.0
datasets:
- minhduc168/dataset-qwen-vlm-extract-bill-diagnosis
base_model:
- unsloth/Qwen3-VL-2B-Instruct-bnb-4bit
---

# Qwen3-VL-2B-Instruct Vietnamese Bill Diagnosis (4-bit)

Mô hình **Qwen3-VL-2B-Instruct Vietnamese Bill Diagnosis** được fine-tune cho tác vụ **trích xuất thông tin hóa đơn, phiếu thu, đơn thuốc và chuẩn đoán bệnh tiếng Việt**.  
Model hỗ trợ hiểu hình ảnh và văn bản, phù hợp cho các bài toán OCR nâng cao, document understanding và information extraction.

---

## 🔥 Điểm nổi bật
- ✅ Tối ưu cho **tiếng Việt**
- ✅ Fine-tune cho **bill / invoice / prescription / diagnosis extraction**
- ✅ Phiên bản **4-bit (bnb)** giúp giảm VRAM khi inference
- ✅ Có thể chuyển sang **GGUF** để chạy local CPU
- ✅ Tương thích với `transformers`

---

## 📂 Cấu trúc Repository

- **`/merged_16bit`**  
  Chứa trọng số **bnb 4-bit** để chạy với thư viện `transformers` + `bitsandbytes`.

- **`/gguf`**  
  Phiên bản GGUF dành cho `llama.cpp` hoặc các engine suy luận local.

  **Bao gồm:**
  - `Qwen3-VL-2B-Instruct-Vietnamese.Q4_K_M.gguf` — bản nén 4-bit chất lượng cao  
  - `Qwen3-VL-2B-Instruct-Vietnamese.mmproj.gguf` — file projector xử lý hình ảnh

---

## 🚀 Hướng dẫn sử dụng

### ✅ Với Transformers

```python
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor

model = Qwen2VLForConditionalGeneration.from_pretrained(
    "minhduc168/Qwen3-VL-2B-Instruct-Vietnamese",
    device_map="auto"
)

processor = AutoProcessor.from_pretrained(
    "minhduc168/Qwen3-VL-2B-Instruct-Vietnamese"
)
```
## ⚠️ Lưu ý quan trọng khi dùng GGUF (Vision Model)

Đối với các model Vision-Language như **Qwen3-VL**, khi chuyển sang GGUF:

### Bắt buộc cần 2 file:
1️⃣ **Model chính** (`.gguf`)  
2️⃣ **Projector** (`mmproj.gguf`)  

👉 Thiếu file projector → model **không thể xử lý hình ảnh**.

---

## 📊 Dataset

**Bao gồm:**
- Hóa đơn bán lẻ  
- Phiếu thu  
- Đơn thuốc  
- Chứng từ tiếng Việt
- Chuẩn đoán bệnh 

Định dạng **instruction-following** giúp model trích xuất dữ liệu có cấu trúc chính xác hơn.

### Format mẫu

📌 Example 1 – BILL_OCR

```json
{
  "id": "bill_f18b567055ed4c5d85143770499b2f65",
  "image": "bill_001.jpg",
  "conversations": [
    {
      "from": "human",
      "value": "<image>\n[BILL_OCR] Trích xuất danh sách dịch vụ và thông tin liên quan từ bảng trong ảnh.\nKhông suy đoán hoặc bổ sung thông tin không có trong ảnh."
    },
    {
      "from": "gpt",
      "value": "[
        {
            "stt": 1,
            "ten_dich_vu": "STTOMET 1000mg + 50mg",
            "so_luong": "56",
            "don_vi_tinh": "Viên",
            "don_gia": "5.390",
            "thanh_tien": "301.840"
        },
        {
            "stt": 2,
            "ten_dich_vu": "JARDIANCE DUO 12.5mg + 1000mg",
            "so_luong": "56",
            "don_vi_tinh": "Viên",
            "don_gia": "17.976",
            "thanh_tien": "1.006.656"
        },
        {
            "stt": 3,
            "ten_dich_vu": "Atovze* 20mg+10mg",
            "so_luong": "56",
            "don_vi_tinh": "Viên",
            "don_gia": "6.409",
            "thanh_tien": "358.921"
        },
        {
            "stt": 4,
            "ten_dich_vu": "SADAPRON 300mg",
            "so_luong": "28",
            "don_vi_tinh": "Viên",
            "don_gia": "2.750",
            "thanh_tien": "77.000"
        }
    ]"
    }
  ]
}
```
📌 Example 2 – DIAGNOSIS_EXTRACT

```json
{
  "id": "diag_db2888ccc0de4c4b8e9d39c3e08c104a",
  "image": "diag_001.jpg",
  "conversations": [
    {
      "from": "human",
      "value": "<image>\n[DIAGNOSIS_EXTRACT] Hãy trích xuất và cho biết chẩn đoán trong hình này."
    },
    {
      "from": "gpt",
      "value": "Răng 28: [K07 4] Răng mọc lệch"
    }
  ]
}
```
---

## 🎯 Use Cases

- Trích xuất thông tin hóa đơn tự động  
- Structured OCR  
- Document AI tiếng Việt  
- Medical / pharmacy bill parsing  
- Fintech document processing  

---

## 📌 Gợi ý phần cứng

| Quantization | VRAM đề xuất |
|------------|------------|
| 4-bit bnb  | ~6–8GB |
| GGUF Q4    | Chạy được trên CPU (khuyến nghị ≥16GB RAM) |

---

## License

Apache-2.0