eGoV_chatbot / README.md
DrPie's picture
Update README.md
403fdb2 verified
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 FlaskDocker 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" }

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.


📖 Tham khảo