File size: 37,261 Bytes
c94eb5c
7f78c01
 
 
 
 
 
 
c94eb5c
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c94eb5c
7f78c01
 
 
 
 
 
 
 
 
 
 
30d2896
7f78c01
 
30d2896
 
 
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77a5091
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c94eb5c
7f78c01
 
c94eb5c
7f78c01
 
 
 
 
 
 
c94eb5c
7f78c01
c94eb5c
7f78c01
 
 
 
c94eb5c
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c94eb5c
7f78c01
 
 
 
c94eb5c
7f78c01
c94eb5c
7f78c01
 
 
 
 
 
 
 
c94eb5c
7f78c01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
---
license: apache-2.0
language:
- vi
- en
- zh
base_model:
- erax-ai/EraX-VL-7B-V1.5
library_name: transformers
tags:
- erax
- multimodal
- erax-vl-7B
- insurance
- ocr
- vietnamese
- bcg
- radiology
- car accidence
- hand-writing
- ancient
pipeline_tag: visual-question-answering

widget:
- src: images/photo-1-16505057982762025719470.webp
  example_title: Test 1
- src: images/vt-don-thuoc-f0-7417.jpeg
  example_title: Test 2
---
<p align="left">
  <img src="/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F63d8d8879dfcfa941d4d7cd9%2FGsQKdaTyn2FFx_cZvVHk3.png%26quot%3B%3C%2Fspan%3E alt="Logo">
</p>


# EraX-VL-7B-V1.5
## Introduction 🎉

Hot on the heels of the popular **<a href="https://huggingface.co/erax-ai/EraX-VL-7B-V1.5" target="_blank">EraX-VL-7B-V1.0 model</a>**, we proudly present **EraX-VL-7B-V2.0-Preview**, another robust multimodal model for **OCR (optical character recognition)** and **VQA (visual question-answering)** that excels in various languages 🌍, with a particular focus on Vietnamese 🇻🇳.  
This model stands out for its precise recognition capabilities across a range of documents 📝, including medical forms 🩺, invoices 🧾, bills of sale 💳, quotes 📄, and medical records 💊. This functionality is expected to be highly beneficial for hospitals 🏥, clinics 💉, insurance companies 🛡️, and other similar applications 📋. Built on the solid foundation of the [erax-ai/EraX-VL-7B-V1.5](https://huggingface.co/erax-ai/EraX-VL-7B-V1.5)[1], which we found to be of high quality and fluent in Vietnamese, `EraX-VL-7B-V2.0-Preview` has been fine-tuned to enhance its performance. 
This model is a "preview-only" version of the final V2.0 which is planned to release after Lunar New Year (Ất Tỵ 2025).
    
**NOTA BENE**: 
- EraX-VL-7B-V1.5 is NOT a typical OCR-only tool likes Tesseract but is a Multimodal LLM-based model. To use it effectively, you may have to **twist your prompt carefully** depending on your tasks.
- Strong capability to do good analytical reasoning with **Radiology images (X-Ray, CT or MRI) across parts of body (chest, brain, other part of body)**.
- Very strong analytical reasoning capability with **car image involved in an accidence** (see examples below), including recomendation on damages and way of fixing it!
- These are preview-release only, expects much strnoger model in final release

**EraX-VL-7B-V2.0-Preview** is a young member of our **EraX's LànhGPT** collection of LLM models.

- **Developed by:**
  - Nguyễn Anh Nguyên ([email protected])
  - Nguyễn Hồ Nam (BCG)
  - Phạm Huỳnh Nhật ([email protected])
  - Phạm Đình Thục ([email protected])
- **Funded by:** [Bamboo Capital Group](https://bamboocap.com.vn) and EraX
- **Model type:** Multimodal Transformer with over 7B parameters
- **Languages (NLP):** Primarily Vietnamese with multilingual capabilities
- **License:** Apache 2.0
- **Fine-tuned from:** [Qwen/Qwen2-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct)
- **Prompt examples:** <a href="https://github.com/EraX-JS-Company/erax-vl-7b-v1/blob/main/prompts/Vietnam_popular_prompts.txt" target="_blank">Some popular prompt examples on Github.</a>

## Benchmarks 📊

## 🏆 LeaderBoard of previous versions:

The EraX-VL-7B-V1.5 achieved exceptionally high performance compared to other models of equal size or even **10 times larger, and we open-source**! You can re-run the benchmark at any time.

<table style="width:75%;">
    <tr>
        <th align="middle" width="300">Models</th>
        <td align="middle" width="150"><b>Open-Source</b></td>
        <td align="middle" width="300"><b>VI-MTVQA</b></td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>EraX-VL-7B-V1.5 🥇 </font></th>
        <td align="middle">✅</td>
        <td align="middle">47.2 </td>
    </tr>
    <tr>
        <th align="middle">Qwen2-VL 72B 🥈 </th>
        <td align="middle">✘</td>
        <td align="middle">41.6 </td>
    </tr>
    <tr>
        <th align="middle">ViGPT-VL 🥉 </th>
        <td align="middle">✘</td>
        <td align="middle">39.1 </td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>EraX-VL-2B-V1.5</font></th>
        <td align="middle"> ✅ </td>
        <td align="middle">38.2 </td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>EraX-VL-7B-V1 </font></th>
        <td align="middle"> ✅ </td>
        <td align="middle">37.6 </td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>Vintern-1B-V2</font></th>
        <td align="middle"> ✅ </td>
        <td align="middle">37.4 </td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>Qwen2-VL 7B </font></th>
        <td align="middle"> ✅ </td>
        <td align="middle">30.0 </td>
    </tr>
    <tr>
        <th align="middle">Claude3 Opus</th>
        <td align="middle">✘</td>
        <td align="middle">29.1 </td>
    </tr>
    <tr>
        <th align="middle">GPT-4o mini </th>
        <td align="middle"> ✘ </td>
        <td align="middle">29.1 </td>
    </tr>
    <tr>
        <th align="middle">GPT-4V</th>
        <td align="middle">✘</td>
        <td align="middle">28.9 </td>
    </tr>
    <tr>
        <th align="middle">Gemini Ultra</th>
        <td align="middle">✘</td>
        <td align="middle">28.6 </td>
    </tr>
     <tr>
        <th align="middle"><font color=darkred>InternVL2 76B</font></th>
        <td align="middle"> ✅ </td>
        <td align="middle">26.9 </td>
    </tr>
    <tr>
        <th align="middle">QwenVL Max</th>
        <td align="middle">✘</td>
        <td align="middle">23.5 </td>
    </tr>
    <tr>
        <th align="middle">Claude3 Sonnet</th>
        <td align="middle">✘</td>
        <td align="middle">20.8 </td>
    </tr>
    <tr>
        <th align="middle">QwenVL Plus</th>
        <td align="middle">✘</td>
        <td align="middle">18.1 </td>
    </tr>
    <tr>
        <th align="middle"><font color=darkred>MiniCPM-V2.5</font></th>
        <td align="middle">✅</td>
        <td align="middle">15.3 </td>
    </tr>
</table>

**The test code for evaluating models in the paper can be found in**: <b><a href="https://github.com/EraX-JS-Company/EraX-MTVQA-Benchmark" target="_blank">EraX-JS-Company/EraX-MTVQA-Benchmark</a></b>

## API trial 🎉
Please contact **[email protected]** for API access inquiry.

## Examples 🧩

### 1. OCR - Optical Character Recognition for Multi-Images

**Example 01: Radiology - Heart Failure CT scan**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V2.0-Preview/resolve/main/MAP-3.jpg" width="500" alt="Heart Failure CT scan" />
    <p>Back View</p>
  </div>
</div>

Hình ảnh cung cấp là một hình ảnh chụp **cắt lớp vi tính (CT) của tim**, cụ thể là hình ảnh mặt cắt ngang của tâm thất trái. 
Các số đo được ghi nhận cho thấy diện tích của tâm thất trái ở cuối tâm trương (End-Diastolic Area - EDA) và cuối tâm thu (End-Systolic Area - ESA) là 0.22 cm² và 0.21 cm² tương ứng. 
Tỷ lệ giữa EDA và ESA (EDV/ESV) là 171.0 ± 7.8 và 106.0 ± 3.6. Những thông số này cho thấy một sự bất thường đáng kể về kích thước và chức năng của tâm thất trái.

**Suy luận:**

Giảm kích thước tâm thất trái: Giá trị EDA và ESA nhỏ hơn bình thường cho thấy sự teo nhỏ của tâm thất trái. Điều này có thể là dấu hiệu của nhiều bệnh lý tim mạch, bao gồm **suy tim, bệnh cơ tim, hoặc bệnh van tim**.

Tăng EDV/ESV: Tỷ lệ EDV/ESV cao hơn bình thường cho thấy sự tăng thể tích tâm thu (ESV) so với thể tích tâm trương (EDV). Điều này cho thấy sự giảm khả năng co bóp của tâm thất trái, dẫn đến việc bơm máu kém hiệu quả.

Tiền sử hút thuốc và uống rượu: Tiền sử hút thuốc và uống rượu nhiều làm tăng nguy cơ mắc các bệnh lý tim mạch, bao gồm suy tim, bệnh động mạch vành, và bệnh cơ tim.

Chẩn đoán ban đầu:

Dựa trên hình ảnh CT và các thông số đo được, bệnh nhân có thể đang gặp phải tình trạng suy tim, có thể là do nhiều nguyên nhân. Cần phải xem xét thêm các yếu tố khác để chẩn đoán chính xác.

**Đề xuất:**

Để xác định nguyên nhân chính xác của tình trạng này, cần thực hiện thêm các xét nghiệm sau:

Điện tâm đồ (ECG): Để đánh giá nhịp tim, sự dẫn truyền xung điện trong tim và phát hiện bất thường về nhịp điệu.
Siêu âm tim (Echocardiogram): Để đánh giá chức năng của các van tim, độ dày thành tâm thất, và khả năng co bóp của tâm thất trái chi tiết hơn.
Xét nghiệm máu: Để đánh giá chức năng thận, gan, và các chỉ số viêm nhiễm. Cũng cần xét nghiệm các chỉ số đánh giá chức năng tim như BNP (Brain Natriuretic Peptide) và NT-proBNP.
Đánh giá lâm sàng toàn diện: Bao gồm hỏi bệnh sử chi tiết, khám thực thể để đánh giá các triệu chứng khác như khó thở, đau ngực, mệt mỏi.

**Mức độ nghiêm trọng:**

Tình trạng này cần được theo dõi và điều trị kịp thời. Sự bất thường về kích thước và chức năng tâm thất trái có thể dẫn đến suy tim tiến triển và các biến chứng nguy hiểm khác. Cần phải có sự đánh giá và điều trị của bác sĩ chuyên khoa tim mạch.

**Example 01: Radiology - Brain cancer MRI scan**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V2.0-Preview/resolve/main/cancers-16-00576-g001%20(1).png" width="500" alt="Brain cancer MRI scan" />
    <p>Back View</p>
  </div>
</div>

**Hình ảnh MRI** cho thấy một khối u lớn ở vùng thái dương phải, có dấu hiệu tăng cường sau khi tiêm thuốc cản quang. Khối u này gây ra **sự dịch chuyển đường giữa và chèn ép các cấu trúc não** xung quanh. 
Đặc điểm hình ảnh gợi ý đây là một khối u ác tính, có khả năng là **glioblastoma (GBM)**. Sự hiện diện của các tổn thương nhỏ khác ở vùng thái dương trái và vùng chẩm trái cho thấy sự di căn hoặc sự phát triển của bệnh lý ác tính.

**Nhận định ban đầu:** Hình ảnh MRI phù hợp với chẩn đoán ban đầu về một **khối u não ác tính**, có khả năng là glioblastoma (GBM), với sự **di căn** hoặc sự phát triển của bệnh lý ác tính ở các vùng khác của não. Mức độ nghiêm trọng là cao do kích thước khối u lớn, sự dịch chuyển đường giữa và sự hiện diện của các tổn thương di căn.

**Các đề xuất và câu hỏi:**
- **Sinh thiết**: Cần tiến hành sinh thiết khối u để xác định chẩn đoán mô bệnh học chính xác và phân loại khối u. Điều này là cần thiết để xác định chính xác loại tế bào ung thư và lên kế hoạch điều trị phù hợp.
- **Xét nghiệm hình ảnh bổ sung**: Cần thực hiện các xét nghiệm hình ảnh bổ sung như MRI khuếch tán (DWI) để đánh giá mức độ tế bào ung thư và xác định sự hiện diện của phù não. PET-CT có thể được chỉ định để đánh giá sự di căn xa.
- **Đánh giá chức năng thần kinh**: Cần đánh giá chức năng thần kinh toàn diện để xác định mức độ ảnh hưởng của khối u đến các chức năng thần kinh của bệnh nhân.
- **Đánh giá chức năng hô hấp và tim mạch**: Do kích thước khối u lớn và sự dịch chuyển đường giữa, cần đánh giá chức năng hô hấp và tim mạch để đảm bảo an toàn cho bệnh nhân trong quá trình phẫu thuật hoặc điều trị.

**Kết luận:** Bệnh nhân cần được điều trị ngay lập tức. Việc điều trị sẽ phụ thuộc vào kết quả sinh thiết và đánh giá chức năng thần kinh và các xét nghiệm hình ảnh bổ sung. Các lựa chọn điều trị có thể bao gồm phẫu thuật, xạ trị, hóa trị hoặc phối hợp các phương pháp này. Đây là một trường hợp khẩn cấp đòi hỏi sự can thiệp y tế kịp thời.

**Example 02: Car accidence analytics**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V2.0-Preview/resolve/main/st-louis-auto-accident-lawyer%20(1).jpg" width="500" alt="Car accidence" />
    <p>Back View</p>
  </div>
</div>

```
{
    "Manufacturer": "Không xác định",
    "Model": "Không xác định",
    "Color": "Xám đậm",
    "seating capacity": "Không xác định",
    "Plate number": "Không xác định",
    "prob": "0.9",
    "conclusion": "YES",
    "bộ phận của xe AI nhìn thấy rất rõ ràng": "Cửa trước bên phải của xe, chắn bùn trước bên phải của xe, gương chiếu hậu bên phải của xe, khung cửa trước bên phải của xe, bánh xe trước bên phải của xe.",
    "góc nhìn xe từ camera": "Ảnh chụp từ phía bên phải của xe, hơi nghiêng về phía trước. Đầu xe nằm ở phía bên phải của ảnh, đuôi xe nằm ngoài phạm vi ảnh.",
    "description": "Hình ảnh cho thấy một chiếc xe màu xám đậm đã bị hư hại nặng ở phía bên phải.  Dựa trên vị trí của các bộ phận bị hư hại, ta có thể suy luận rằng chiếc xe đã bị va chạm mạnh ở phía bên phải.  Không thể xác định được hãng xe, hiệu xe, số chỗ ngồi và biển kiểm soát từ hình ảnh.",
    "Right front door": {
        "material": "Kim loại",
        "damage": "Hư hại nghiêm trọng, móp méo nặng, biến dạng đáng kể.",
        "severity_level": "8",
        "propose": "Thay thế"
    },
    "Right front fender": {
        "material": "Kim loại",
        "damage": "Bị nghiền nát và hư hại nặng.",
        "severity_level": "9",
        "propose": "Thay thế"
    },
    "Right front wheel": {
        "material": "Hợp kim",
        "damage": "Nhìn thấy qua cửa trước bị hư hại; dường như không bị hư hại.",
        "severity_level": "0",
        "propose": "Kiểm tra kỹ hơn"
    },
    "Right side mirror": {
        "material": "Nhựa/Kim loại",
        "damage": "Phần nhìn thấy bị hư hại.",
        "severity_level": "7",
        "propose": "Thay thế"
    },
    "Right front door frame": {
        "material": "Kim loại",
        "damage": "Nhìn thấy, bị hư hại đáng kể.",
        "severity_level": "8",
        "propose": "Gò, hàn, sơn lại"
    }
}
```

**Example 03: Car accidence analytics**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V2.0-Preview/resolve/main/front-left%20(1).jpeg" width="500" alt="Car accidence" />
    <p>Back View</p>
  </div>
</div>

```
{
    "Manufacturer": "Mazda",
    "Model": "3",
    "Color": "Đỏ",
    "seating capacity": "5",
    "Plate number": "37A-131...",
    "prob": "0.9",
    "conclusion": "YES",
    "bộ phận của xe AI nhìn thấy rất rõ ràng": "Phần đầu xe bên trái, đèn pha trước bên trái của xe, cản trước bên trái của xe, chắn bùn trước bên trái của xe, lốp trước bên trái của xe, vành xe trước bên trái của xe, kính chắn gió của xe.",
    "góc nhìn xe từ camera": "Góc nhìn nghiêng phía trước bên trái của xe. Đầu xe nằm ở phía bên trái của ảnh.",
    "description": "Chiếc xe Mazda 3 màu đỏ, biển số 37A-131..., có 5 chỗ ngồi, đã gặp tai nạn ở phía trước bên trái. Thiệt hại tập trung chủ yếu ở phía trước bên trái của xe.",
    "Left headlamp": {
        "material": "Nhựa polycarbonate chịu lực, chịu nhiệt",
        "damage": "Bị hư hại một phần, có thể bị nứt hoặc vỡ. Cần kiểm tra kỹ hơn để xác định mức độ hư hại.",
        "severity_level": "3",
        "propose": "Thay thế"
    },
    "Left front bumper": {
        "material": "Nhựa",
        "damage": "Hư hại nghiêm trọng, biến dạng hoàn toàn.",
        "severity_level": "8",
        "propose": "Thay thế"
    },
    "Left front fender": {
        "material": "Kim loại",
        "damage": "Bị móp méo, biến dạng.",
        "severity_level": "7",
        "propose": "Gò, hàn, sơn lại"
    },
    "Left front tire": {
        "material": "Cao su",
        "damage": "Hình ảnh cho thấy lốp không bị hư hại.",
        "severity_level": "0",
        "propose": ""
    },
    "Left front wheel": {
        "material": "Hợp kim thép",
        "damage": "Hình ảnh cho thấy vành xe không bị hư hại.",
        "severity_level": "0",
        "propose": ""
    },
    "Windshield": {
        "material": "Kính",
        "damage": "Hình ảnh cho thấy kính chắn gió không bị hư hại.",
        "severity_level": "0",
        "propose": ""
    }
}
```

**Example 04: Car accidence analytics**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V2.0-Preview/resolve/main/dich-vu-lam-dong-son-xe-1.jpg" width="500" alt="Car accidence" />
    <p>Back View</p>
  </div>
</div>

```
{
    "Manufacturer": "",
    "Model": "",
    "Color": "Bạc",
    "seating capacity": "",
    "Plate number": "",
    "prob": "0.9",
    "conclusion": "YES",
    "bộ phận của xe AI nhìn thấy rất rõ ràng": "Cửa sau bên phải của xe, tay nắm cửa sau bên phải của xe, phần thân bên dưới cửa sau bên phải của xe (phần ốp gầm), bánh xe sau bên phải của xe.",
    "góc nhìn xe từ camera": "Ảnh chụp từ phía bên phải của xe, nhìn về phía đuôi xe. Đầu xe nằm ở phía bên phải của ảnh, đuôi xe nằm ở phía bên trái của ảnh.",
    "description": "Hình ảnh cho thấy phần thân bên phải của một chiếc xe ô tô màu bạc.  Phần nổi bật nhất là cửa sau bên phải, cho thấy một số vết xước và hư hỏng. Một phần của phần thân bên dưới cửa sau bên phải (ốp gầm) và bánh xe sau bên phải cũng nhìn thấy được.  Không có thông tin về hãng xe, hiệu xe, số chỗ ngồi và biển kiểm soát.",
    "Right rear door": {
        "material": "Kim loại",
        "damage": "Vết xước dài, nông, dọc theo chiều dài của cửa. Có vẻ như là do va chạm nhẹ hoặc cọ xát.",
        "severity_level": "2",
        "propose": "Sơn lại và đánh bóng"
    },
    "Right rear door handle": {
        "material": "Nhựa cứng có lớp mạ trang trí crôm",
        "damage": "Không thấy hư hại rõ ràng trên tay nắm cửa.",
        "severity_level": "0",
        "propose": "Không cần sửa chữa"
    },
    "Right rocker panel": {
        "material": "Kim loại",
        "damage": "Vết xước tương tự như trên cửa sau, kéo dài xuống phần ốp gầm. Có vẻ như là do va chạm nhẹ hoặc cọ xát.",
        "severity_level": "2",
        "propose": "Sơn lại và đánh bóng"
    },
    "Right rear wheel": {
        "material": "Hợp kim thép",
        "damage": "Một phần nhỏ của bánh xe nhìn thấy được, không có dấu hiệu hư hại rõ ràng.",
        "severity_level": "0",
        "propose": "Không cần sửa chữa"
    }
}
```

**Example 05: Citizen identification card**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="images/trinhquangduy_front.jpg" width="500" alt="Front View" />
    <p>Front View</p>
  </div>
  <div style="text-align: center; margin: 0 10px;">
    <img src="images/trinhquangduy_back.jpg" width="500" alt="Back View" />
    <p>Back View</p>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://support.google.com/google-ads/thread/270967947/t%C3%B4i-%C4%91%C3%A3-g%E1%BB%ADi-h%C3%ACnh-%E1%BA%A3nh-c%C4%83n-c%C6%B0%E1%BB%9Bc-c%C3%B4ng-d%C3%A2n-c%E1%BB%A7a-ch%C3%ADnh-t%C3%B4i-%C4%91%E1%BB%83-x%C3%A1c-minh-danh-t%C3%ADnh?hl=vi" target="_blank">Google Support</a>
</p>

```
{
    "Số thẻ": "037094012351",
    "Họ và tên": "TRỊNH QUANG DUY",
    "Ngày sinh": "04/09/1994",
    "Giới tính": "Nam",
    "Quốc tịch": "Việt Nam",
    "Quê quán": "Tân Thành, Kim Sơn, Ninh Bình",
    "Nơi thường trú": "Xóm 6\nTân Thành, Kim Sơn, Ninh Bình",
    "Có giá trị đến": "04/09/2034",
    "Đặc điểm nhân dạng": "sẹo chấm c. 1cm trên đuôi mắt trái",
    "Nơi cấp": "CỤC TRƯỞNG CỤC CẢNH SÁT\nQUẢN LÝ HÀNH CHÍNH VỀ TRẬT TỰ XÃ HỘI",
    "Ngày cấp": "10/12/2022",
    "Cán bộ ký tên": "Nguyễn Quốc Hùng",
    "Mã định danh": "IDVNM0940123513037094012351"
}
```

**Example 06: Driver's License**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="images/nguyenvandung_front.png" width="500" alt="Front View" />
    <p>Front View</p>
  </div>
  <div style="text-align: center; margin: 0 10px;">
    <img src="images/nguyenvandung_back.png" width="500" alt="Back View" />
    <p>Back View</p>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://baophapluat.vn/khoi-to-tai-xe-len-mang-mua-giay-phep-lai-xe-gia-de-chay-xe-post481047.html" target="_blank">Báo Pháp luật</a>
</p>

```
{
  "No.":"400116012313"
  "Fullname":"NGUYỄN VĂN DŨNG"
  "Date_of_birth":"08/06/1979"
  "Nationality":"VIỆT NAM"
  "Address":"X. Quỳnh Hầu, H. Quỳnh Lưu, T. Nghệ An
  Nghệ An, ngày/date 23 tháng/month 04 năm/year 2022"
  "Hang_Class":"FC"
  "Expires":"23/04/2027"
  "Place_of_issue":"Nghệ An"
  "Date_of_issue":"ngày/date 23 tháng/month 04 năm/year 2022"
  "Signer":"Trần Anh Tuấn"
  "Các loại xe được phép":"Ô tô hạng C kéo rơmoóc, đầu kéo kéo sơmi rơmoóc và xe hạng B1, B2, C, FB2 (Motor vehicle of class C with a trailer, semi-trailer truck and vehicles of classes B1, B2, C, FB2)"
  "Mã số":""
}
```

**Example 07: Vehicle Registration Certificate**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 0 10px;">
    <img src="images/nguyentonnhuan.jpg" width="700"/>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://vietnamnet.vn/phan-biet-cac-loai-giay-dang-ky-xe-khi-mua-moto-da-qua-su-dung-541341.html" target="_blank">Báo Vietnamnet</a>
</p>

```
{
    "Tên chủ xe": "NGUYỄN TÔN NHUẬN",
    "Địa chỉ": "KE27 Kp3 P.TTTây Q7",
    "Nhãn hiệu": "HONDA",
    "Số loại": "DYLAN",
    "Màu sơn": "Trắng",
    "Năm sản xuất": "2012",
    "Số máy": "F03E-0057735",
    "Số khung": "SA04F-070410",
    "Dung tích": "152",
    "Số chỗ ngồi": "02",
    "Biển số đăng ký": "59V1-498.89",
    "Đăng ký lần đầu ngày": "08/06/2004",
    "Chức vụ": "Thượng tá",
    "Người ký": "Trần Văn Hiểu"
}
```

**Example 08: Vehicle Registration**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 10 20px;">
    <img src="/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F63d8d8879dfcfa941d4d7cd9%2Fw5WCaQ-k9nupRIQYddcpr.jpeg%26quot%3B width="700"/>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://llumar.com.vn/dang-kiem-xe-o-to/" target="_blank">https://llumar.com.vn</a>
</p>

```
{
    "vehicle": {
        "registration_number": "30A-072.36",
        "vehicle_inspection_number": "2903V-093515",
        "type": "ô tô con",
        "mark": "MERCEDES-BENZ",
        "model_code": "C300 W204",
        "engine_number": "27294732096079",
        "chassis_number": "RLMGF5EX3DV005333",
        "manufactured_year_and_country": "2013, Việt Nam",
        "life_time_limit_to": "",
        "commercial_use": "",
        "modification": ""
    },
    "specifications": {
        "wheel_formula": "4x2",
        "wheel_tread": "1521/1512 (mm)",
        "overall_dimension": "4650 x 1770 x 1429 (mm)",
        "largest_luggage_container_dimension": "",
        "wheelbase": "2760 (mm)",
        "kerb_mass": "1575 (kg)",
        "design_authorized_pay_load": "",
        "design_authorized_total_mass": "2090/2090 (kg)",
        "design_authorized_towed_mass": "",
        "permissible_number_of_pers_carried": "5 chỗ ngồi, 0 chỗ đứng, 0 chỗ nằm",
        "type_of_fuel_used": "Xăng",
        "engine_displacement": "2996 (cm3)",
        "max_output_per_rpm": "170(kW)/6000vph",
        "number": "KC-1292285"
    },
    "inspection_report_number": "2905V-20953/16",
    "valid_until": "31/01/2018",
    "place_date_of_issue": "Hà Nội, ngày 1 tháng 8 năm 2016",
    "inspection_center": "ĐƠN VỊ KIỂM ĐỊNH XE CƠ GIỚI",
    "signature": "Ngọc Tuấn",
    "equipped_with_tachograph": "",
    "inspection_stamp_was_not_issued": "",
    "notes": "Biển đăng ký nền trắng"
}
```

**Example 09: Hand-writing Receipt**

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 10 20px;">
    <img src="/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F63d8d8879dfcfa941d4d7cd9%2F40vIbNdM1cFXwQYNHx7Ag.jpeg%26quot%3B width="500"/>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://tintucketoan.com/cach-viet-hoa-don-hang-hoa-dich-vu-khong-chiu-thue-gtgt/" target="_blank">https://tintucketoan.com/</a>
</p>

```
{
    'Mẫu số': '01GKTKT3/001', 
    'Ký hiệu': 'TC/18P', 
    'Số': '0000030', 
    'Họ tên người mua hàng': None, 
    'Tên đơn vị': 'Công Ty TNHH Kế Toán Hà Nội', 
    'Mã số thuế': '0106235869', 
    'Địa chỉ': 'Số 49 Ngõ 322 Lê Trọng Tấn, phường Khương Mai, quận Thanh Xuân, Hà Nội', 
    'Hình thức thanh toán': 'TM', 
    'STT': None, 
    'Tên hàng hóa, dịch vụ': 'Tra cứu phần mềm thư viện pháp luật trực tuyến', 
    'Đơn vị tính': None, 
    'Số lượng': None, 
    'Đơn giá': '168.000', 
    'Thành tiền': '2.016.000', 
    'Thuế suất GTGT': None, 
    'Tiền thuế GTGT': None, 
    'Tổng cộng tiền thanh toán': '2.016.000', 
    'Số tiền viết bằng chữ': 'Hai triệu, không trăm mười sáu nghìn đồng', 
    'Người bán hàng': 'Bùi Văn Hùng', 
    'Chức vụ người bán hàng': 'TRƯỞNG CHI NHÁNH'
}
```

### 2.1 Image Captioning

<div align="center">
  <img src="/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F63d8d8879dfcfa941d4d7cd9%2Fg5V60A7rI94TH0z3zdSAA.jpeg%26quot%3B%3C%2Fspan%3E width="700"/>
</div>

Hình ảnh là biểu đồ BMI theo tuổi, thể hiện mối quan hệ giữa chỉ số khối cơ thể (BMI) và độ tuổi của trẻ em. Biểu đồ được chia thành các vùng màu khác nhau tương ứng với các mức BMI khác nhau: 

* **Vùng màu đỏ:**  Chỉ số BMI cao hơn 25, cho thấy tình trạng béo phì.
* **Vùng màu vàng:** Chỉ số BMI nằm trong khoảng từ 18 đến 25, cho thấy nguy cơ béo phì.
* **Vùng màu xanh lá cây nhạt:** Chỉ số BMI nằm trong khoảng từ 16 đến 18, cho thấy sức khỏe dinh dưỡng tốt.
* **Vùng màu xanh lá cây đậm:** Chỉ số BMI thấp hơn 16, cho thấy tình trạng thiếu cân.

Trục tung biểu diễn chỉ số BMI, trục hoành biểu diễn tuổi (tính bằng năm). Đường cong màu xám đậm thể hiện đường chuẩn BMI theo tuổi. Các đường cong này cho thấy sự thay đổi BMI theo thời gian, giúp đánh giá sự phát triển cân nặng của trẻ em. Ví dụ, ở trẻ em dưới 3 tuổi, BMI thường dao động trong vùng thiếu cân hoặc sức khỏe dinh dưỡng tốt. Khi trẻ lớn lên, BMI có xu hướng tăng dần, nhưng tốc độ tăng trưởng có thể khác nhau tùy thuộc vào từng cá nhân.  Biểu đồ cũng hiển thị các phần trăm phân vị (Percentile), cho biết tỷ lệ phần trăm trẻ em có BMI thấp hơn hoặc cao hơn so với một nhóm trẻ em cùng độ tuổi. Điều này giúp so sánh BMI của trẻ em với tiêu chuẩn quốc tế.

### 2.2 Image Captioning

<div align="center">
  <img src="https://huggingface.co/erax-ai/EraX-VL-7B-V1.5/resolve/main/images/27vid-Gaza-City-Cover-gqmt-videoSixteenByNine1050%20(1).jpg" width="700"/>
</div>

Hình ảnh chụp một cảnh tượng đầy xúc động và bi thảm, dường như diễn ra ở một khu vực nghèo khó, có thể là một khu định cư hoặc khu ổ chuột. Trung tâm của bức ảnh là một chiếc xe đẩy được kéo bởi một con lừa. Trên xe đẩy có một nhóm người, bao gồm một người đàn ông lớn tuổi có vẻ như là người hướng dẫn, một phụ nữ mặc áo choàng đen, một phụ nữ trẻ mặc áo xám, một bé gái nhỏ được che mặt bằng khăn trùm đầu, và một cậu bé mặc áo xanh lá cây. Họ có vẻ như đang di chuyển từ một khu vực bị tàn phá sang một nơi khác. Xung quanh họ là những mảnh vụn, rác thải và những tòa nhà đổ nát, cho thấy một môi trường sống khó khăn và thiếu thốn. Phía sau họ, có một số người khác đang đi bộ hoặc đi xe đạp, một số người đang mang theo hành lý. Bầu trời trong xanh, nhưng không khí chung của bức ảnh là nặng nề và buồn bã. Có thể đây là một cảnh tượng di cư, tị nạn, hoặc một sự kiện thảm khốc nào đó.

### 3. Multi-turns Visual Question Answering and Reasoning

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
  <div style="text-align: center; margin: 10 20px;">
    <img src="/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F63d8d8879dfcfa941d4d7cd9%2FS2UosY_TOOV5XNn3d4_zL.jpeg%26quot%3B width="700"/>
  </div>
</div>
<p style="text-align: center; font-size: 12px; color: gray; margin-top: 10px;">
  Source: <a href="https://kenh14.vn/bien-cang-thai-trinh-nhap-vien-vi-ngo-doc-dang-dan-to-1-resort-5-sao-thieu-trach-nhiem-voi-khach-hang-20200924214133912.chn" target="_blank">https://kenh14.vn</a>
</p>

- **User**: Hãy cho biết thông tin bệnh nhân

- **Assistant**: Tên: NGUYỄN THỊ THÁI TRINH, Ngày sinh: 09/09/1993, Giới tính: Nữ, Địa chỉ: TÂN ĐỊNH - Q1 - TPHCM, Mã thẻ BHYT: 19169080, Số khám bệnh: 2569501, Mã khu vực (K1/K2/K3): 2

- **User**: Họ được chuẩn đoán bị bệnh gì?

- **Assistant**: Nhiễm trùng đường ruột do vi khuẩn, không xác định loài

- **User**: Người bệnh có tiền sử bệnh không? Nếu có thì là gì?

- **Assistant**: Thiếu Calci do chế độ ăn

- **User**: Bệnh nhân đã thực hiện những xét nghiệm gì?

- **Assistant**: [NQ286] Tổng phân tích tế bào máu ngoại vi (bằng máy đếm laser), [NQ286] Điện giải đồ (Na, K, Cl) [Máu], [NQ286] Đo hoạt độ ALT (GPT) [Máu], [NQ286] Đo hoạt độ AST (GOT) [Máu], [NQ286] Định lượng Calci toàn phần [Máu], [NQ286] Định lượng Creatinin [Máu], [NQ286] Định lượng Glucose [Máu], [NQ286] Định lượng Urê máu [Máu], [NQ286] Siêu âm ổ bụng (gan mật, tụy, lách, thận, bàng quang)

- **User**: Số tiền Vật tư y tế mà người bệnh phải trả là bao nhiêu?

- **Assistant**: 19,708

- **User**: Các loại thuốc dịch truyền người bệnh phải trả là gì, tổng số tiền là bao nhiêu?

- **Assistant**: Atropin Sulfat (Syv2019), Bicefzidim 1g (Syv2019), GONCAL (Syv2019), Lactated Ringer's-500ml (Syv2019), Nước cất pha tiêm 5ml (Syv2019), Sodium Chloride 0.9% -500ml (Syv2019), Vincomid (Syv2019), Vinopa (Syv2019), tổng cộng 45,234 đồng

## Quickstart 🎮

Install the necessary packages:
```curl
python -m pip install git+https://github.com/huggingface/transformers accelerate
python -m pip install qwen-vl-utils
pip install flash-attn --no-build-isolation
```

Then you can use `EraX-VL-7B-V1.5` like this:
```python
import os
import base64
import json

import cv2
import numpy as np
import matplotlib.pyplot as  plt

import torch
from transformers import Qwen2VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info

model_path = "erax/EraX-VL-7B-V1.5"

model = Qwen2VLForConditionalGeneration.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    attn_implementation="eager", # replace with "flash_attention_2" if your GPU is Ampere architecture
    device_map="auto"
)

tokenizer =  AutoTokenizer.from_pretrained(model_path)
# processor = AutoProcessor.from_pretrained(model_path)

min_pixels = 256 * 28 * 28
max_pixels = 1280 * 28 * 28
processor = AutoProcessor.from_pretrained(
     model_path,
     min_pixels=min_pixels,
     max_pixels=max_pixels,
 )

image_path ="image.jpg"

with open(image_path, "rb") as f:
    encoded_image = base64.b64encode(f.read())
decoded_image_text = encoded_image.decode('utf-8')
base64_data = f"data:image;base64,{decoded_image_text}"

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": base64_data,
            },
            {
                "type": "text",
                "text": "Trích xuất thông tin nội dung từ hình ảnh được cung cấp."
            },
        ],
    }
]

# Prepare prompt
tokenized_text = processor.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)

image_inputs, video_inputs = process_vision_info(messages)

inputs = processor(
    text=[ tokenized_text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to("cuda")

# Generation configs
generation_config =  model.generation_config
generation_config.do_sample   = True
generation_config.temperature = 1.0
generation_config.top_k       = 1
generation_config.top_p       = 0.9
generation_config.min_p       = 0.1
generation_config.best_of     = 5
generation_config.max_new_tokens     = 2048
generation_config.repetition_penalty = 1.06

# Inference
generated_ids = model.generate(**inputs, generation_config=generation_config)
generated_ids_trimmed = [
    out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)

print(output_text[0])
```

## References 📑
[1] Qwen team. Qwen2-VL. 2024.

[2] Bai, Jinze, et al. "Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond." arXiv preprint arXiv:2308.12966 (2023).

[4] Yang, An, et al. "Qwen2 technical report." arXiv preprint arXiv:2407.10671 (2024).

[5] Chen, Zhe, et al. "Internvl: Scaling up vision foundation models and aligning for generic visual-linguistic tasks." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024.

[6] Chen, Zhe, et al. "How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites." arXiv preprint arXiv:2404.16821 (2024).

[7] Tran, Chi, and Huong Le Thanh. "LaVy: Vietnamese Multimodal Large Language Model." arXiv preprint arXiv:2404.07922 (2024).


## Contact 🤝
- For correspondence regarding this work or inquiry for API trial, please contact Nguyễn Anh Nguyên at [[email protected]]([email protected]).
- Follow us on <b><a href="https://github.com/EraX-JS-Company" target="_blank">EraX Github</a></b>