BIRD-INTERACT 1.0

⚠️ Thông báo
Xin lưu ý rằng trước khi quá trình đánh giá bắt đầu, khi Docker tải các cơ sở dữ liệu, đôi khi có thể xảy ra lỗi do môi trường không nhất quán (những lỗi này sẽ không kết thúc quá trình nhưng sẽ xuất hiện trong nhật ký Docker). Do đó, một số cơ sở dữ liệu có thể không tải đúng cách, dẫn đến cơ sở dữ liệu trống. Điều này sẽ khiến kết quả đánh giá thấp bất thường. 👉 Vì vậy, chúng tôi khuyến nghị mạnh mẽ kiểm tra nhật ký Docker để phát hiện lỗi trước khi chạy đánh giá và xác minh rằng tất cả các cơ sở dữ liệu đã được tải thành công.👉 Chúng tôi đã cập nhật Hướng dẫn Nộp bài, trong đó hỗ trợ bộ khung tác nhân tùy chỉnh. Vui lòng xem hướng dẫn nộp bài chi tiết tại đây.
📰 Tin tức
- [2025-11-06] 🐛 Sửa lỗi & 🐳 Cập nhật Docker: Đã cập nhật phiên bản sqlglot lên 26.16.4 để sửa lỗi trình phân tích cú pháp SQL không phân tích chính xác cho trình mô phỏng người dùng. Bạn có thể khắc phục bằng cách cài đặt lại bằng
pip install sqlglot==26.16.4trong môi trườngbird_interact_eval. Hình ảnhbird_interact_evalcũng đã được cập nhật, bạn cũng có thể tải về và tạo lại containerbird_interact_eval. - [2025-10-21] 🐳 Cập nhật Docker: Chúng tôi đã thêm Docker cho môi trường Full DB. Và đã đẩy 3 hình ảnh Docker (Base/Full DB Env và môi trường đánh giá cho cả
a-Interactvàc-Interact) lên Docker Hub để thuận tiện cho việc thiết lập môi trường. Không cần tải DB dumps và xây dựng hình ảnh thủ công! - [2025-10-08] 📝 Bài báo Bird-Interact của chúng tôi hiện đã được công khai!
- [2025-08-26] 🚀 Chúng tôi vui mừng thông báo ra mắt bộ BIRD-Interact-Full (600)!
c-interact và a-interact.
👉 Để biết thêm chi tiết, vui lòng truy cập website dự án.- [2025-08-26] 📬 Chúng tôi sẽ gửi Ground Truth & Test cases tới danh sách email trong tuần này.
- [2025-08-26] 💾 Ngoài ra, chúng tôi cũng đã phát hành phiên bản SQLite của LiveSQLBench-Lite để thuận tiện hơn cho nghiên cứu cục bộ.
- [2025-08-22] Sửa lỗi: Trong mã nguồn Bird-Interact-Agent, chúng tôi đã khắc phục một lỗi khiến khi đánh giá SQL giai đoạn 2, SQL giai đoạn 1 được lưu trữ không thể thực thi thành công, dẫn đến tỷ lệ thành công của Giai đoạn 2 thấp hơn. Lỗi này chỉ ảnh hưởng đến các tác vụ mà sql giai đoạn 1 thực hiện một số thao tác trên cơ sở dữ liệu, ví dụ như CREATE table, v.v.
🧸 Tổng quan
BIRD-INTERACT, một bộ đánh giá text-to-SQL tương tác, tái định nghĩa việc đánh giá Text-to-SQL qua lăng kính các tương tác động. Môi trường kết hợp một cơ sở tri thức phân cấp, tài liệu cơ sở dữ liệu và một trình mô phỏng người dùng dựa trên chức năng để tái tạo môi trường doanh nghiệp thực tế với đầy đủ thao tác CRUD. Nó cung cấp hai chế độ kiểm thử khắt khe: (1) Tương tác hội thoại bị động và (2) Tương tác chủ động kiểu Agentic, bao gồm 600 tác vụ được chú thích như Business Intelligence (BI), thao tác CRUD, v.v., mỗi tác vụ đều có các ca kiểm thử thực thi. Các đánh giá điển hình kích hoạt từ 1.968-5.496 lượt tương tác giữa mô hình và trình mô phỏng người dùng, trong khi các mô hình suy luận hiện đại chỉ giải được ≈24% và ≈18% tác vụ, nhấn mạnh độ khó của bộ đánh giá này.
✅ Hai chế độ đánh giá
BIRD-INTERACT hỗ trợ hai chế độ đánh giá như đã nêu trên:
- c-Interact: Tương tác hội thoại, là chế độ bị động và luồng công việc cố định. Mã nguồn và thông tin chi tiết có trong
bird_interact_conv. - a-Interact: Tương tác chủ động kiểu Agentic, là chế độ chủ động nhập vai nơi luồng công việc động và do mô hình dẫn dắt. Mã nguồn và thông tin chi tiết có trong
bird_interact_agent.
🐣 Phiên bản rút gọn
Chúng tôi phát hành phiên bản rút gọn của BIRD-INTERACT, bird-interact-lite-exp, bao gồm 270 tác vụ thực tế chất lượng cao dành riêng cho PostgreSQL. Đây là điểm bắt đầu tốt để thử nghiệm nhanh.
🦜 Phiên bản đầy đủ
Phiên bản đầy đủ của BIRD-INTERACT, bird-interact-full, là bộ đánh giá toàn diện bao gồm 600 tác vụ cho PostgreSQL. Nó bao phủ nhiều loại thao tác SQL và truy vấn người dùng. Phiên bản đầy đủ sẽ ra mắt sớm.
Kết quả hiệu năng mô hình trên BIRD-INTERACT-FULL
#### 1. Hiệu năng c-Interact Text-to-SQL | Hạng | Tên mô hình | Phần thưởng chuẩn hóa | Chi phí TB (USD)/Tác vụ | Cấp độ | |:----:|:-------------------|:---------------------:|:------------------------:|:--------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Chat Xuất sắc |
| 2 | O3-Mini | 20.27 | $0.07 | 🏆 Chat xuất sắc | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 Chat tốt | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 Chat tốt | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ Tiêu chuẩn | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ Tiêu chuẩn | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ Cơ bản |
#### 2. Hiệu suất a-Interact Text-to-SQL | Hạng | Tên Mô Hình | Thưởng Chuẩn Hóa | Chi Phí TB (USD)/Tác vụ | Cấp độ | |:----:|:-------------------|:-----------------:|:-----------------------:|:--------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 Tương tác xuất sắc | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 Tương tác xuất sắc | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 Tương tác tốt | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Tương tác tốt | | 5 | O3-Mini | 16.43 | $0.06 | ✨ Tiêu chuẩn | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ Tiêu chuẩn | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ Cơ bản |
\ Tham số Ngân sách: Ngân sách Khởi tạo/Ngân sách Kiên nhẫn Người dùng, đo bằng đơn vị tiền ảo bird-coin*s. Xem chi tiết tại bird_interact_agent/README.md.
Quy mô Thời gian Tương tác (ITS)
Quy mô Thời gian Tương tác (ITS) chỉ khả năng của mô hình trong việc liên tục cải thiện hiệu suất cuối cùng thông qua các lượt tương tác nhiều lần. Khi hiệu suất tương tác này vượt qua hiệu suất lý tưởng của mô hình với tác vụ đã chỉ định đầy đủ, không mơ hồ, ta nói rằng nó thỏa mãn định luật ITS. Khi sự kiên nhẫn của người dùng tăng lên và số lượt tương tác tích lũy, hiệu suất tiếp tục cải thiện, thể hiện rằng mô hình có thể duy trì giao tiếp hiệu quả qua các đoạn hội thoại kéo dài. Hiện tại, chỉ có claude-3-7-sonnet thỏa mãn định luật ITS.
Thiết lập Môi trường
- Chạy các container Docker cho cơ sở dữ liệu bird-interact-lite, cơ sở dữ liệu bird-interact-full, và môi trường đánh giá:
bird-interact-lite, bạn có thể comment dịch vụ postgresql_full trong docker-compose.yml để tăng tốc thiết lập môi trường.
Khởi động môi trường bằng lệnh:
cd env
docker compose pull
docker compose up -d
``
Chờ vài phút để khởi tạo cơ sở dữ liệu. Bạn có thể theo dõi tiến trình xây dựng bằng cách:
`bash
docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
`
Nếu hoàn thành, bạn sẽ thấy các bản ghi mà không có lỗi như sau:
`bash
bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection
`
Nếu bạn đã tạo các container trước đó và muốn tạo lại chúng, bạn có thể chạy lệnh sau:
`bash
docker compose down -v # this cmd removes the containers and the volumes
docker compose pull # pull the latest images from Docker Hub
docker compose up -d --force-recreate # build and start the containers again. --force-recreate means force the recreation of the containers.
# Or docker compose up -d --force-recreate bird_interact_eval to only recreate the bird_interact_eval container about evalution code environment.
`
Điều này chạy 3 container sử dụng các ảnh dựng sẵn từ Docker Hub:
bird_interact_postgresql: Cơ sở dữ liệu PostgreSQL cho bird-interact-lite
bird_interact_postgresql_full: Cơ sở dữ liệu PostgreSQL cho bird-interact-full
bird_interact_eval: Môi trường đánh giá cho cả a-Interact và c-Interact. Bây giờ, bạn có thể khởi động môi trường đánh giá bằng cách thực hiện lệnh sau:
`bash
docker compose exec bird_interact_eval bash
`
- (Tùy chọn) Tự xây dựng môi trường (nếu bạn muốn xây dựng các image từ đầu):
- Tải về các file dump của cơ sở dữ liệu
- bird-interact-lite. Giải nén và đổi tên thành
env/postgre_table_dumps.
bird-interact-full. Giải nén và đổi tên thành env/postgre_table_dumps_full.
Tự xây dựng môi trường bằng cách chạy docker-compose.build.yml.
`bash
cd env/
docker compose -f docker-compose.build.yml build
docker compose -f docker-compose.build.yml up -d
`- (Khuyến nghị) Kiểm tra các container cơ sở dữ liệu đã được xây dựng và chạy thành công.
- In nhật ký xây dựng container để đảm bảo rằng các cơ sở dữ liệu đã được xây dựng thành công mà không có lỗi:
`bash
docker logs bird_interact_postgresql > build_bird_interact_postgresql.log 2>&1
docker logs bird_interact_postgresql_full > build_bird_interact_postgresql_full.log 2>&1
`
Nếu xảy ra lỗi, "Đã xảy ra lỗi trong quá trình nhập:" sẽ được in ra trong các tập tin nhật ký.- Kiểm tra xem các container cơ sở dữ liệu có đang hoạt động tốt không.
Sử dụng script Python do chúng tôi cung cấp để xác minh siêu dữ liệu cơ sở dữ liệu:
`bash
docker compose exec bird_interact_eval bash
cd /app/env
python check_db_metadata.py --host bird_interact_postgresql
python check_db_metadata.py --host bird_interact_postgresql_full
`
Kết quả mong đợi:
- bird-interact-lite:
- 📈 Tổng số Cơ sở dữ liệu: 18
- 📋 Tổng số Bảng: 175
- 🔢 Tổng số Cột: 2286
- 📈 Số hàng trung bình mỗi bảng: 1.038,48
- 💾 Tổng dung lượng: 207,15 MB (ước lượng)
- bird-interact-full:
- 📈 Tổng số Cơ sở dữ liệu: 22
- 📋 Tổng số Bảng: 244
- 🔢 Tổng số Cột: 2011
- 📈 Số hàng trung bình mỗi bảng: 1.121,19
- 💾 Tổng dung lượng: 272,00 MB (ước lượng)
📦 Chi tiết Bộ dữ liệu
Mô tả Bộ dữ liệu
- Cơ sở dữ liệu: Toàn bộ cơ sở dữ liệu PostgreSQL có thể tải về từ bird-interact-lite và bird-interact-full.
- data: Mỗi trường hợp dữ liệu chứa các phần chính sau:
selected_database: Tên cơ sở dữ liệu.
query: Truy vấn người dùng rõ ràng.
amb_user_query: Truy vấn người dùng đã được chèn sự mơ hồ.
user_query_ambiguity: Những điểm mơ hồ được thêm vào truy vấn người dùng.
non_critical_ambiguity: Sự mơ hồ không quan trọng như thứ tự, giới hạn, v.v.
knowledge_ambiguity: Sự mơ hồ do giấu kiến thức bên ngoài.
sol_sql: Giải pháp SQL chuẩn xác.
preprocess_sql: Các truy vấn SQL chạy trước khi thực hiện giải pháp hoặc dự đoán.
clean_up_sql: Các truy vấn SQL chạy sau các trường hợp kiểm thử để hoàn tác các thay đổi đã thực hiện trên cơ sở dữ liệu.
test_cases: Tập hợp các trường hợp kiểm thử để xác thực SQL dự đoán đã được chỉnh sửa.
follow_up: Các câu hỏi tiếp theo đã được gán nhãn.
external_knowledge: Kiến thức bên ngoài liên quan đến nhiệm vụ cụ thể.evaluation: Mã đánh giá có sẵn tại thư mục ./evaluation.
Được tuyển chọn bởi: Đội BIRD & Google Cloud
Giấy phép: cc-by-sa-4.0
HuggingFace Dataset Card: bird-interact-lite
và bird-interact-full
Sử dụng Bộ Dữ Liệu
Để tránh rò rỉ dữ liệu do tự động thu thập, chúng tôi không bao gồm các sql giải pháp GT và các trường hợp kiểm thử cùng với dữ liệu.
vui lòng gửi email tới bird.bench25@gmail.com với tiêu đề chứa thẻ
[bird-interact-lite GT&Test Cases] hoặc [bird-interact-full GT&Test Cases] để nhận bộ dữ liệu ground truth và các trường hợp kiểm thử cho bộ dữ liệu bird-interact-lite hoặc bird-interact-full, sẽ được gửi tự động.Kết hợp dữ liệu công khai với ground truth và các trường hợp kiểm thử
Sau đó sử dụng đoạn script sau để kết hợp dữ liệu công khai với ground truth và các trường hợp kiểm thử:
Lấy phiên bản đầy đủ làm ví dụ:
(1) Chạy:
bash
python combine_public_with_gt.py /path/to/bird-interact-full/bird_interact_data.jsonl /path/to/bird_interact_full_gt_kg_testcases_08022.jsonl /path/to/bird_interact_data.jsonl # bird_interact_full_gt_kg_testcases_08022.jsonl is the data of ground-truth fields, which is obtained by emailing us.
bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlĐiều này sẽ tạo một tệp mới tại/path/to/bird_interact_data.jsonlvới dữ liệu đã được kết hợp.(2) Sau đó thay thế dữ liệu công khai gốc bằng dữ liệu đã kết hợp:
Tương tự cho các phiên bản khác: bird-interact-lite, phiên bản mini, v.v. Chỉ cần đặt đúng đường dẫn cho dữ liệu công khai, dữ liệu thực tế và các trường hợp kiểm thử, sau đó thay thế dữ liệu công khai bằng dữ liệu đã kết hợp.
. Xem chi tiết tại