BIRD-INTERACT 1.0

⚠️ Pengumuman
Harap diperhatikan bahwa sebelum proses evaluasi Anda, saat Docker memuat database, kesalahan kadang-kadang dapat terjadi karena inkonsistensi lingkungan (ini tidak akan menghentikan proses tetapi akan muncul di log Docker). Akibatnya, beberapa database mungkin gagal dimuat dengan benar, sehingga database menjadi kosong. Hal ini akan menyebabkan hasil evaluasi menjadi sangat rendah. 👉 Oleh karena itu, kami sangat menyarankan untuk memeriksa log Docker untuk setiap kesalahan sebelum menjalankan evaluasi dan memastikan semua database telah berhasil dimuat.👉 Kami telah memperbarui Pedoman Pengiriman, yang kini mendukung kerangka kerja agen yang telah dikustomisasi. Silakan lihat pedoman pengiriman secara detail di sini.
📰 Berita
- [2025-11-06] 🐛 Perbaikan Bug & 🐳 Update Docker: Memperbarui versi sqlglot ke 26.16.4 untuk memperbaiki bug di mana parser SQL tidak dapat mem-parsing SQL dengan benar untuk simulator pengguna. Anda dapat memperbaikinya dengan menginstal ulang menggunakan
pip install sqlglot==26.16.4di lingkunganbird_interact_eval. Gambarbird_interact_evaljuga telah diperbarui, sehingga Anda juga bisa menariknya dan membuat ulang kontainerbird_interact_eval. - [2025-10-21] 🐳 Update Docker: Kami menambahkan docker untuk Full DB Env. Dan kami telah mengunggah 3 gambar docker (Base/Full DB Env dan lingkungan evaluasi untuk
a-Interactdanc-Interact) ke Docker Hub guna memudahkan penyiapan lingkungan. Tidak perlu mengunduh DB dump dan membangun gambar secara manual! - [2025-10-08] 📝 Makalah Bird-Interact kami kini tersedia untuk publik!
- [2025-08-26] 🚀 Kami sangat senang mengumumkan perilisan set BIRD-Interact-Full (600)!
c-interact dan a-interact.
👉 Untuk detail lebih lanjut, silakan kunjungi website proyek.- [2025-08-26] 📬 Kami akan mengirimkan Ground Truth & Test case ke milis kami minggu ini.
- [2025-08-26] 💾 Sebagai catatan lain, kami juga telah merilis versi SQLite dari LiveSQLBench-Lite untuk penelitian lokal yang lebih mudah.
- [2025-08-22] Perbaikan Bug: Pada kode Bird-Interact-Agent, kami memperbaiki bug di mana saat evaluasi fase-2 SQL, SQL fase-1 yang tersimpan tidak dapat dijalankan dengan sukses, sehingga menurunkan tingkat keberhasilan Fase-2. Bug ini hanya mempengaruhi tugas di mana SQL fase1 melakukan beberapa operasi pada database, seperti CREATE table, dll.
🧸 Ikhtisar
BIRD-INTERACT, sebuah benchmark interaktif text-to-SQL, mengimajinasikan kembali evaluasi Text-to-SQL melalui lensa interaksi dinamis. Lingkungan ini menggabungkan basis pengetahuan hierarkis, dokumentasi basis data, dan simulator pengguna berbasis fungsi untuk menciptakan kembali lingkungan perusahaan yang autentik pada seluruh operasi CRUD. Benchmark ini menawarkan dua mode uji yang ketat: (1) Interaksi Percakapan pasif dan (2) Interaksi Agenik aktif, mencakup 600 tugas beranotasi termasuk Business Intelligence (BI), operasi CRUD dan lain-lain, masing-masing dijaga oleh kasus uji yang dapat dieksekusi. Evaluasi tipikal memicu 1.968-5.496 giliran interaksi antara model dan simulator pengguna, sementara model penalaran mutakhir saat ini hanya menyelesaikan ≈24% dan ≈18% tugas, menekankan tantangan benchmark ini.
✅ Dua Mode Evaluasi
BIRD-INTERACT mendukung dua mode evaluasi seperti yang telah disebutkan di atas:
- c-Interact: Interaksi Percakapan yang merupakan mode pasif dan alur kerjanya tetap. Kode dan informasi detail dapat ditemukan di
bird_interact_conv. - a-Interact: Interaksi Agenik yang merupakan mode aktif yang diwujudkan di mana alur kerja dinamis dan dipimpin oleh model. Kode dan informasi detail dapat ditemukan di
bird_interact_agent.
🐣 Versi Lite
Kami merilis versi lite dari BIRD-INTERACT, bird-interact-lite-exp, yang mencakup 270 tugas berkualitas tinggi dari dunia nyata khusus untuk PostgreSQL. Ini adalah titik awal yang baik untuk eksperimen cepat.
🦜 Versi Lengkap
Versi lengkap dari BIRD-INTERACT, bird-interact-full, merupakan benchmark komprehensif yang mencakup 600 tugas untuk PostgreSQL. Versi ini mencakup berbagai operasi SQL dan kueri pengguna. Versi lengkap akan segera hadir.
Hasil Kinerja Model pada BIRD-INTERACT-FULL
#### 1. Kinerja Text-to-SQL c-Interact | Peringkat | Nama Model | Reward Normalisasi | Biaya Rata-rata (USD)/Tugas | Level | |:---------:|:---------------:|:------------------:|:---------------------------:|:-----------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Chat Sangat Baik | | 2 | O3-Mini | 20,27 | $0,07 | 🏆 Obrolan Luar Biasa | | 3 | Claude-Sonnet-4 | 18,35 | $0,29 | 💎 Obrolan Bagus | | 4 | Qwen-3-Coder-480B | 17,75 | $0,11 | 💎 Obrolan Bagus | | 5 | Deepseek-Chat-V3.1 | 15,15 | $0,12 | ✨ Standar | | 6 | Claude-Sonnet-3.7 | 13,87 | $0,29 | ✨ Standar | | 7 | GPT-5 | 12,58 | $0,08 | ⚪ Dasar |
#### 2. a-Interact Text-to-SQL Performa | Peringkat | Nama Model | Reward Ternormalisasi | Rata-rata Biaya (USD)/Tugas | Level | |:--------:|:-------------------|:---------------------:|:---------------------------:|:------------------------:| | 1 | GPT-5 | 25,52 | $0,24 | 🏆 Interaksi Luar Biasa | | 2 | Claude-Sonnet-4 | 23,28 | $0,51 | 🏆 Interaksi Luar Biasa | | 3 | Claude-Sonnet-3.7 | 17,45 | $0,60 | 💎 Interaksi Bagus | | 4 | Gemini-2.5-Pro | 17,33 | $0,22 | 💎 Interaksi Bagus | | 5 | O3-Mini | 16,43 | $0,06 | ✨ Standar | | 6 | Deepseek-Chat-V3.1 | 13,47 | $0,06 | ✨ Standar | | 7 | Qwen-3-Coder-480B | 10,58 | $0,07 | ⚪ Dasar |
\ Parameter Anggaran: Anggaran Awal/Anggaran Kesabaran Pengguna, diukur dengan mata uang virtual kami bird-coin*s. Lihat bird_interact_agent/README.md untuk detail lebih lanjut.
Skala Waktu Interaksi (ITS)
Skala Waktu Interaksi (ITS) mengacu pada kemampuan model untuk terus meningkatkan performa akhirnya melalui interaksi multi-putaran. Ketika performa interaktif ini melampaui performa ideal model pada tugas satu putaran yang sudah ditentukan dan tidak ambigu, kami katakan model tersebut memenuhi hukum ITS. Saat kesabaran pengguna bertambah dan jumlah putaran interaksi meningkat, performa terus meningkat, menunjukkan bahwa model dapat mempertahankan komunikasi efektif dalam dialog yang panjang. Saat ini, hanya claude-3-7-sonnet yang ditemukan memenuhi hukum ITS.
Persiapan Lingkungan
- Jalankan kontainer Docker untuk database bird-interact-lite, database bird-interact-full, dan lingkungan evaluasi:
bird-interact-lite, Anda bisa memberi komentar pada layanan postgresql_full di docker-compose.yml untuk mempercepat proses setup lingkungan.
Mulai lingkungan dengan menjalankan:
cd env
docker compose pull
docker compose up -d
``
Tunggu beberapa menit untuk inisialisasi basis data. Anda dapat memantau kemajuan pembangunan dengan:
`bash
docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
`
Jika selesai, Anda seharusnya melihat log tanpa kesalahan seperti:
`bash
bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection
`
Jika Anda telah membuat container sebelumnya dan ingin membuatnya kembali, Anda dapat menjalankan perintah berikut:
`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.
`
Ini menjalankan 3 container menggunakan image yang sudah dibangun dari Docker Hub:
bird_interact_postgresql: Database PostgreSQL untuk bird-interact-lite
bird_interact_postgresql_full: Database PostgreSQL untuk bird-interact-full
bird_interact_eval: Lingkungan evaluasi untuk a-Interact dan c-Interact. Sekarang, Anda dapat memulai lingkungan evaluasi dengan menjalankan perintah berikut:
`bash
docker compose exec bird_interact_eval bash
`
- (Opsional) Bangun lingkungan secara manual (jika Anda ingin membangun image dari awal):
- Unduh database dump
- bird-interact-lite. Ekstrak dan ubah namanya menjadi
env/postgre_table_dumps.
bird-interact-full. Ekstrak dan ubah namanya menjadi env/postgre_table_dumps_full.
Bangun lingkungan secara manual dengan menjalankan docker-compose.build.yml.
`bash
cd env/
docker compose -f docker-compose.build.yml build
docker compose -f docker-compose.build.yml up -d
`- (Direkomendasikan) Periksa bahwa kontainer basis data telah dibangun dan berjalan dengan sukses.
- Cetak log pembuatan kontainer untuk memastikan bahwa basis data telah dibangun dengan sukses tanpa kesalahan:
`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
`
Jika terjadi kesalahan, "Terjadi kesalahan selama impor:" akan dicetak di file log.- Periksa apakah kontainer basis data dalam kondisi baik.
Gunakan skrip Python yang kami sediakan untuk memverifikasi metadata basis data:
`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
`
Hasil yang diharapkan:
- bird-interact-lite:
- 📈 Total Basis Data: 18
- 📋 Total Tabel: 175
- 🔢 Total Kolom: 2286
- 📈 Rata-rata Baris per Tabel: 1.038,48
- 💾 Total Ukuran: 207,15 MB (sekitar)
- bird-interact-full:
- 📈 Total Basis Data: 22
- 📋 Total Tabel: 244
- 🔢 Total Kolom: 2011
- 📈 Rata-rata Baris per Tabel: 1.121,19
- 💾 Total Ukuran: 272,00 MB (sekitar)
📦 Detail Dataset
Deskripsi Dataset
- Basis Data: Basis data PostgreSQL lengkap dapat diunduh dari bird-interact-lite dan bird-interact-full.
- data: Setiap instance data berisi bagian utama berikut:
selected_database: Nama basis data.
query: Permintaan pengguna yang jelas.
amb_user_query: Permintaan pengguna dengan ambiguitas yang disisipkan.
user_query_ambiguity: Ambiguitas yang disisipkan ke permintaan pengguna.
non_critical_ambiguity: Ambiguitas non-kritis seperti urutan, batas, dll.
knowledge_ambiguity: Ambiguitas yang dibuat dari pengetahuan eksternal yang disembunyikan.
sol_sql: Solusi SQL kebenaran dasar.
preprocess_sql: Kueri SQL yang dijalankan sebelum mengeksekusi solusi atau prediksi.
clean_up_sql: Kueri SQL yang dijalankan setelah kasus uji untuk membalik perubahan pada basis data.
test_cases: Sekumpulan kasus uji untuk memvalidasi SQL yang dikoreksi hasil prediksi.
follow_up: Pertanyaan lanjutan yang telah diberi label.
external_knowledge: Pengetahuan eksternal yang terkait dengan tugas spesifik.evaluasi: Kode evaluasi tersedia di direktori ./evaluation.
Dikurasi oleh: Tim BIRD & Google Cloud
Lisensi: cc-by-sa-4.0
Kartu Dataset HuggingFace: bird-interact-lite
dan bird-interact-full
Penggunaan Dataset
Untuk menghindari kebocoran data melalui auto-crawling, kami tidak menyertakan sql solusi GT dan kasus uji bersama data.
silakan email bird.bench25@gmail.com dengan tag
[bird-interact-lite GT&Test Cases] atau [bird-interact-full GT&Test Cases] di judul untuk ground truth dan kasus uji untuk dataset bird-interact-lite atau bird-interact-full, yang akan dikirim secara otomatis.Menggabungkan data publik dengan ground truth dan kasus uji
Kemudian gunakan skrip berikut untuk menggabungkan data publik dengan ground truth dan kasus uji:
Ambil versi full sebagai contoh:
(1) Jalankan:
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.jsonlIni akan membuat file baru di/path/to/bird_interact_data.jsonldengan data yang telah digabungkan.(2) Kemudian ganti data publik asli dengan data yang telah digabungkan:
Sama juga untuk versi lainnya: bird-interact-lite, versi mini, dll. Cukup atur jalur yang benar untuk data publik dan ground truth serta test case, lalu ganti data publik dengan data gabungan.
. Lihat