{"id":28368292,"url":"https://github.com/htanh2003/demo_dataplatform","last_synced_at":"2025-07-31T06:38:14.777Z","repository":{"id":295233970,"uuid":"989553600","full_name":"HTAnh2003/Demo_DataPlatform","owner":"HTAnh2003","description":"Đây là mô hình OCR được tinh chỉnh từ Vintern1B (InternVL 1B) với 1 tỷ tham số. Mô hình có khả năng nhận diện văn bản trong nhiều ngữ cảnh khác nhau như chữ viết tay, chữ in, và văn bản trên các đối tượng thực tế.","archived":false,"fork":false,"pushed_at":"2025-06-09T02:29:31.000Z","size":347,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T18:44:01.034Z","etag":null,"topics":["docker","llm","vllm-serve"],"latest_commit_sha":null,"homepage":"https://demo.hoangtienanh.engineer/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HTAnh2003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-24T10:35:09.000Z","updated_at":"2025-06-09T02:29:34.000Z","dependencies_parsed_at":"2025-05-24T11:33:42.839Z","dependency_job_id":"af43fa43-ecb5-48d8-a13d-b8bb7e04e6fe","html_url":"https://github.com/HTAnh2003/Demo_DataPlatform","commit_stats":null,"previous_names":["htanh2003/demo_dataplatform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HTAnh2003/Demo_DataPlatform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTAnh2003%2FDemo_DataPlatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTAnh2003%2FDemo_DataPlatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTAnh2003%2FDemo_DataPlatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTAnh2003%2FDemo_DataPlatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HTAnh2003","download_url":"https://codeload.github.com/HTAnh2003/Demo_DataPlatform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTAnh2003%2FDemo_DataPlatform/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267999788,"owners_count":24178854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","llm","vllm-serve"],"created_at":"2025-05-29T04:10:11.122Z","updated_at":"2025-07-31T06:38:14.766Z","avatar_url":"https://github.com/HTAnh2003.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demo\\_DataPlatform\n\n## Mô tả\n[OCR Model Finetune](https://huggingface.co/TienAnh/Finetune_OCR_1B): \nhttps://huggingface.co/TienAnh/Finetune_OCR_1B\n\n - Mô hình OCR đã được tinh chỉnh từ Vintern1B (InternVL 1B) với 1 tỷ tham số, với khả năng nhận diện văn bản viết tay, chữ in và chữ ở các đối tượng trong thực tế.\n - Chi tiết về cách finetuning mô hình OCR này có thể tham khảo [tại đây](https://github.com/HTAnh2003/VQA-CV-Final/blob/main/VQA-CV-Final-Training.ipynb).\n\n**Kiến trúc mô hình:**\n- Vision Encoder: Các mô hình dựa trên ViT, bộ mã hóa thị giác chuyển đổi hình ảnh đầu vào thành các đặc trưng dưới dạng vector cố định. \n- Projection Layer: Một lớp chiếu (MLP) giúp chuyển đổi đặc trưng hình ảnh từ Vision Encoder sang định dạng tương thích với mô hình ngôn ngữ.\n- Language Model: Sử dụng các LLM như Qwen, LLaMa, … làm backbone để xử lý đặc trưng văn bản và tích hợp với đặc trưng hình ảnh. Sau đó sẽ sinh ra văn bản.\n\n![Model Architecture](./images/kientruc.jpg)\n![ViT Architecture](./images/kientruc2.jpg)\n\n### Dữ liệu\nMô hình được huấn luyện trên 3 tập dữ liệu chính (sử dụng một phần của dữ liệu gốc):\n\n| Nguồn dữ liệu         | Train | Test | Total | Mô tả                                                             |\n|-----------------------|-------|------|-------|-------------------------------------------------------------------|\n| Viet-Table-Markdown   | 11902 | 599  | 12501 | Tập trung vào nhận diện bảng và cấu trúc văn bản in trong các tài liệu tiếng Việt. |\n| Viet-Handwriting      | 9500  | 500  | 10000 | Tập trung vào nhận diện chữ viết tay tiếng Việt.                   |\n| OpenViVQA             | 7423  | 419  | 7842  | Tập trung vào nhận diện văn bản trong các hình ảnh thực tế, bao gồm biển báo, văn bản trên đối tượng, v.v. |\n| **Tổng dữ liệu**      | 28826 | 1518 | 30344 |                                                                   |\n\n\n\n## Hướng dẫn cài đặt và sử dụng mô hình OCR\nTriển khai `TienAnh/Finetune_OCR_1B` sử dụng `vllm`.\n\n## Yêu cầu\n\n* **Python**: 3.8+\n* **GPU**: Hỗ trợ CUDA\n* **Thư viện cần thiết**: `vllm`, `torch`\n\n---\n\n## Hướng dẫn sử dụng\n\n### 1. Chạy server\n\n```bash\nvllm serve TienAnh/Finetune_OCR_1B --port 8000 --dtype=auto --tensor-parallel-size 2\n```\n\n* `--port`: Cổng server (mặc định 8000).\n* `--dtype=auto`: Tự động chọn loại dữ liệu.\n* `--tensor-parallel-size=2`: Chạy song song trên 2 GPU.\n\n### 2. Truy cập server\n\n```plaintext\nhttp://localhost:8000\n```\n\n\u003e Nếu chạy trên máy chủ từ xa, thay `localhost` bằng địa chỉ IP của máy chủ.\n\n---\n\n## API Mẫu\n\nAPI mẫu được tham khảo trong file `app.py`. File này bao gồm các chức năng:\n\n1. **Upload hình ảnh**: Tải lên ảnh và gửi tới server OCR.\n2. **Hiển thị kết quả**: Trả về văn bản OCR từ hình ảnh đã xử lý.\n\n---\n\n## Cách chạy giao diện web\n\n### 1. Sử dụng Flask App\n\nChạy file `app.py`:\n\n```bash\npython app.py\n```\n\nTruy cập giao diện web tại:\n\n```plaintext\nhttp://localhost:5000\n```\n\n### 2. Sử dụng Docker Compose\n\nSử dụng file `docker-compose.yml` để khởi chạy ứng dụng với domain riêng:\n\n```bash\ndocker-compose up\n```\n\nTruy cập ứng dụng theo domain được cấu hình.\n\n---\n## Lưu ý\n* Đảm bảo đã cài đặt đầy đủ các thư viện cần thiết.\n* Kiểm tra kết nối mạng nếu gặp lỗi khi truy cập server.\n* Nếu gặp lỗi về GPU, kiểm tra driver và cài đặt CUDA.\n* Để dừng server, sử dụng `Ctrl+C` trong terminal nơi bạn đã chạy lệnh `vllm serve`.\n* Để dừng ứng dụng Flask, sử dụng `Ctrl+C` trong terminal nơi bạn đã chạy lệnh `python app.py`.\n* Để dừng Docker Compose, sử dụng lệnh `docker-compose down`.\n## Tài liệu tham khảo\n* [vllm Documentation](https://vllm.readthedocs.io/en/latest/)\n* [InternVL3](https://huggingface.co/OpenGVLab/InternVL3-1B/)\n* [Vintern](https://huggingface.co/5CD-AI/Vintern-1B-v3_5)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhtanh2003%2Fdemo_dataplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhtanh2003%2Fdemo_dataplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhtanh2003%2Fdemo_dataplatform/lists"}