Ứng dụng demo chuyển đổi câu hỏi tiếng Việt thành câu truy vấn SQL, sử dụng mô hình ngôn ngữ lớn (LLM) và TruLens để đánh giá độ tin cậy.
- Chuyển đổi câu hỏi tiếng Việt thành câu truy vấn SQL
- Hỗ trợ tải lên file schema và dữ liệu mẫu
- Hiển thị kết quả truy vấn dưới dạng bảng
- Đánh giá độ tin cậy của câu truy vấn bằng TruLens
- Giao diện người dùng thân thiện với Bootstrap 5
- Python 3.8+
- Flask
- OpenAI API key
- TruLens
- Các thư viện Python khác (xem requirements.txt)
- Clone repository:
git clone <repository-url>
cd Text2SQL
- Tạo và kích hoạt môi trường ảo:
python -m venv venv
source venv/bin/activate # Linux/Mac
# hoặc
venv\Scripts\activate # Windows
- Cài đặt các dependencies:
pip install -r requirements.txt
- Thiết lập biến môi trường:
export OPENAI_API_KEY=your_api_key_here
Text2SQL/ ├── src/ │ ├── static/ │ │ └── index_trulens.html # Giao diện người dùng │ ├── routes/ │ │ └── api_trulens.py # API endpoints │ └── utils/ │ └── trulens_utils.py # Tiện ích TruLens ├── grocery_sales_schema.json # Schema mẫu ├── default.sqlite # Database mẫu ├── requirements.txt └── README.md
- Khởi động server Flask:
python src/app.py
- Mở trình duyệt và truy cập:
http://localhost:5000
-
Schema và dữ liệu mẫu đã được dump sẵn vào DB Grocery.db thông qua setup_db.py.
-
Nhập câu hỏi tiếng Việt vào ô input
-
Nhấn nút "Gửi" hoặc Enter để thực hiện truy vấn
- Người dùng nhập câu hỏi tiếng Việt
- Hệ thống chuyển đổi câu hỏi thành câu truy vấn SQL
- TruLens đánh giá độ tin cậy của câu truy vấn
- Kết quả được hiển thị dưới dạng bảng
- Người dùng có thể xem chi tiết đánh giá của TruLens
- "Chi nhánh nào đang bán tốt nhất tính theo tiêu chí quantity_sold?"
- "Top 5 sản phẩm bán chạy nhất trong tháng 1/2024"
- "Tổng doanh thu theo từng chi nhánh"
Mọi đóng góp đều được hoan nghênh! Vui lòng tạo issue hoặc pull request để đóng góp.
Nếu bạn có bất kỳ câu hỏi hoặc góp ý nào, vui lòng tạo issue trong repository.