Spaces:
Sleeping
Sleeping
metadata
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ộ)
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
📡 API Endpoint
POST /chat- Body:
{ "query": "Câu hỏi của bạn" } - Response:
{ "answer": "Câu trả lời từ chatbot" }
- Body:
Ví dụ:
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.