Spaces:
Sleeping
Sleeping
| title: EGoV Chatbot | |
| emoji: 💻 | |
| colorFrom: red | |
| colorTo: blue | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| # EGoV Chatbot 💻 | |
| EGoV Chatbot là một ứng dụng **chatbot tra cứu thủ tục hành chính** sử dụng dữ liệu từ Hugging Face Hub và cơ chế **hybrid search** (semantic + keyword). | |
| Dự án này được triển khai dưới dạng **Hugging Face Space** với backend **Flask** và **Docker SDK**. | |
| --- | |
| ## 🚀 Tính năng chính | |
| - **Tra cứu thủ tục hành chính** với dữ liệu có sẵn. | |
| - **Hybrid Search**: kết hợp tìm kiếm từ khóa (BM25) và tìm kiếm vector (Sentence Transformers). | |
| - **REST API Endpoint**: `/chat` để nhận câu hỏi và trả về câu trả lời. | |
| - **Tích hợp Hugging Face Hub**: tải dữ liệu và model trực tiếp từ HF Hub bằng token. | |
| --- | |
| ## 📂 Cấu trúc dự án | |
| ``` | |
| ├── app.py # Flask backend chính | |
| ├── requirements.txt # Danh sách thư viện cần cài đặt | |
| ├── Dockerfile # Docker build cho Space | |
| ├── id_to_record.pkl # File mapping id -> dữ liệu thủ tục | |
| ├── toan_bo_du_lieu_final.json # Dữ liệu gốc (tùy chọn) | |
| └── README.md # File này | |
| ``` | |
| --- | |
| ## 🔑 Biến môi trường yêu cầu | |
| Trước khi chạy, cần cung cấp biến môi trường: | |
| - `HF_TOKEN`: Token Hugging Face của bạn (để tải dữ liệu/model từ Hub). | |
| Trong Hugging Face Space, đặt token trong mục **"Settings > Secrets"**. | |
| --- | |
| ## 🐳 Chạy bằng Docker (cục bộ) | |
| ```bash | |
| docker build -t egov-chatbot . | |
| docker run -p 7860:7860 -e HF_TOKEN=your_hf_token egov-chatbot | |
| ``` | |
| Sau đó truy cập: | |
| [http://localhost:7860/chat?query=Thủ tục làm CCCD](http://localhost:7860/chat?query=Thủ%20tục%20làm%20CCCD) | |
| --- | |
| ## 📡 API Endpoint | |
| - **`POST /chat`** | |
| - **Body**: `{ "query": "Câu hỏi của bạn" }` | |
| - **Response**: `{ "answer": "Câu trả lời từ chatbot" }` | |
| Ví dụ: | |
| ```bash | |
| curl -X POST http://localhost:7860/chat \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"query": "Thủ tục cấp giấy khai sinh"}' | |
| ``` | |
| --- | |
| ## 📝 Giấy phép | |
| Dự án sử dụng giấy phép **MIT** – tự do sử dụng và tùy biến. | |
| --- | |
| ## 📖 Tham khảo | |
| - [Hugging Face Hub](https://huggingface.co/) | |
| - [Sentence Transformers](https://www.sbert.net/) | |
| - [BM25 Ranker](https://github.com/castorini/pyserini) | |