BIRD-INTERACT 1.0

⚠️ Ankündigung
Bitte beachten Sie, dass beim Laden der Datenbanken durch Docker vor Ihrem Evaluierungsprozess gelegentlich Fehler aufgrund von Umgebungsinkonsistenzen auftreten können (diese beenden den Prozess nicht, erscheinen jedoch in den Docker-Logs). Dadurch kann es sein, dass einige Datenbanken nicht korrekt geladen werden und leer bleiben. Dies führt zu ungewöhnlich niedrigen Auswertungsergebnissen. 👉 Wir empfehlen daher dringend, vor der Ausführung der Auswertung die Docker-Logs auf Fehler zu überprüfen und sicherzustellen, dass alle Datenbanken erfolgreich geladen wurden.👉 Wir haben die Einreichungsrichtlinien aktualisiert, in denen individuelle Agenten-Scaffolds unterstützt werden. Sehen Sie sich gerne unsere detaillierten Einreichungsrichtlinien hier an.
📰 Neuigkeiten
- [2026-03-29] 🔥🔥🔥 BIRD-Interact-ADK: Wir veröffentlichen BIRD-Interact-ADK, eine Google-ADK-basierte Implementierung mit modularer 3-Microservices-Architektur (Agent, Benutzersimulator und DB-Umgebung). Sie können Ihren eigenen Agenten, Benutzersimulator oder DB-Umgebung einfach austauschen. Unterstützt parallele Ausführung und jeden LiteLlm-kompatiblen LLM-Anbieter. Wir empfehlen diese Implementierung für Ihre Forschung.
- [2026-02-08] 🔥🔥🔥 Unser Bird-Interact Paper wurde bei der ICLR 2026 (Oral) angenommen! Wir sehen uns in Rio 🇧🇷!
- [2025-11-06] 🐛 Bugfix & 🐳 Docker-Update: Aktualisierung der sqlglot-Version auf 26.16.4, um den Fehler zu beheben, dass der SQL-Parser das SQL für den Benutzersimulator nicht korrekt parsen kann. Sie können dies beheben, indem Sie
pip install sqlglot==26.16.4in derbird_interact_eval-Umgebung ausführen. Dasbird_interact_eval-Image wurde ebenfalls aktualisiert, sodass Sie es auch neu ziehen und denbird_interact_eval-Container neu erstellen können. - [2025-10-21] 🐳 Docker-Update: Wir haben das Docker-Image für die vollständige DB-Umgebung hinzugefügt. Und wir haben 3 Docker-Images (Basis/Vollständige DB-Umgebung und die Evaluierungsumgebung für sowohl
a-Interactals auchc-Interact) auf Docker Hub bereitgestellt, um die Einrichtung zu erleichtern. Sie müssen die DB-Dumps nicht mehr manuell herunterladen und die Images selbst bauen! - [2025-10-08] 📝 Unser Bird-Interact Paper ist jetzt öffentlich verfügbar!
- [2025-08-26] 🚀 Wir freuen uns, die Veröffentlichung des BIRD-Interact-Full (600) Sets bekannt zu geben!
c-interact und a-interact Anteilen.
👉 Für weitere Details besuchen Sie bitte unsere Projektwebseite.- [2025-08-26] 📬 Wir werden diese Woche die Ground Truth & Testfälle an unsere Mailingliste versenden.
- [2025-08-26] 💾 Außerdem haben wir eine SQLite-Version von LiveSQLBench-Lite veröffentlicht, um lokale Forschung zu erleichtern.
- [2025-08-22] Fehlerbehebung: Im Bird-Interact-Agent-Code haben wir einen Fehler behoben, bei dem beim Auswerten von Phase-2-SQL das gespeicherte Phase-1-SQL nicht erfolgreich ausgeführt werden konnte, was zu einer geringeren Erfolgsrate in Phase-2 führte. Dieser Fehler betrifft nur Aufgaben, bei denen Phase-1-SQL Operationen auf der Datenbank ausführt, z.B. CREATE table usw.
🧸 Überblick
BIRD-INTERACT, ein interaktives Text-zu-SQL-Benchmark, definiert Text-zu-SQL-Bewertung durch dynamische Interaktionen neu. Die Umgebung verbindet eine hierarchische Wissensbasis, Datenbankdokumentation und einen funktionsgesteuerten Nutzersimulator, um authentische Unternehmensumgebungen über alle CRUD-Operationen hinweg nachzubilden. Es bietet zwei strenge Testmodi: (1) passives Konversationelles Interagieren und (2) aktives Agentisches Interagieren und umfasst 600 annotierte Aufgaben, darunter Business Intelligence (BI), CRUD-Operationen usw., jeweils geschützt durch ausführbare Testfälle. Typische Auswertungen lösen 1.968–5.496 Interaktionsturns zwischen Modell und Nutzersimulator aus, während aktuelle State-of-the-Art-Modelle nur ≈24% bzw. ≈18% der Aufgaben lösen – das unterstreicht die Herausforderung des Benchmarks.
✅ Zwei Bewertungsmodi
BIRD-INTERACT unterstützt wie oben erwähnt zwei Bewertungsmodi:
- c-Interact: Konversationelles Interagieren ist ein passiver Modus und der Ablauf ist festgelegt. Den Code und detaillierte Informationen finden Sie in
bird_interact_conv. - a-Interact: Agentisches Interagieren ist ein verkörperter, aktiver Modus, bei dem der Ablauf dynamisch und modellgeführt ist. Den Code und detaillierte Informationen finden Sie in
bird_interact_agent.
🐣 Lite-Version
Wir veröffentlichen eine Lite-Version von BIRD-INTERACT, bird-interact-lite-exp, die 270 hochwertige Aufgaben aus der Praxis speziell für PostgreSQL enthält. Dies ist ein guter Ausgangspunkt für schnelle Experimente.
🦜 Vollversion
Die Vollversion von BIRD-INTERACT, bird-interact-full, ist ein umfassender Benchmark mit 600 Aufgaben für PostgreSQL. Sie deckt eine breite Palette von SQL-Operationen und Nutzeranfragen ab. Die Vollversion erscheint in Kürze.
Modellergebnisse auf BIRD-INTERACT-FULL
#### 1. c-Interact Text-to-SQL Leistung | Rang | Modellname | Normalisierte Belohnung | Durchschnittliche Kosten (USD)/Aufgabe | Stufe | |:----:|:-------------------|:----------------------:|:--------------------------------------:|:------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Exzellenter Chat| | 2 | O3-Mini | 20.27 | $0.07 | 🏆 Exzellenter Chat| | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 Guter Chat | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 Guter Chat | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ Standard | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ Standard | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ Basis |
#### 2. a-Interact Text-to-SQL Leistung | Rang | Modellname | Normalisierte Belohnung | Durchschnittliche Kosten (USD)/Aufgabe | Stufe | |:----:|:-------------------|:----------------------:|:--------------------------------------:|:------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 Exzellente Interaktion| | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 Exzellente Interaktion| | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 Gute Interaktion | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Gute Interaktion | | 5 | O3-Mini | 16.43 | $0.06 | ✨ Standard | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ Standard | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ Basis |
\ Budget-Parameter: Startbudget/Nutzer-Geduldsbudget, gemessen in unserer virtuellen Währung bird-coin*s. Siehe bird_interact_agent/README.md für weitere Details.
Interaction-Time Scaling (ITS)
Interaction-Time Scaling (ITS) beschreibt die Fähigkeit eines Modells, seine Endleistung durch mehrstufige Interaktionen kontinuierlich zu steigern. Wenn diese interaktive Leistung die idealisierte Einzelschritt-Leistung des Modells bei einer vollständig spezifizierten, eindeutigen Aufgabe übertrifft, erfüllt das Modell das ITS-Gesetz. Mit wachsender Nutzer-Geduld und zunehmenden Interaktionsrunden verbessert sich die Leistung weiter, was zeigt, dass das Modell effektive Kommunikation auch über längere Dialoge aufrechterhalten kann. Derzeit erfüllt nur claude-3-7-sonnet das ITS-Gesetz.
Umgebungs-Setup
- Starten Sie Docker-Container für die bird-interact-lite-Datenbank, die bird-interact-full-Datenbank und die Evaluierungsumgebung:
bird-interact-lite auswerten möchten, können Sie den postgresql_full-Dienst in der docker-compose.yml auskommentieren, um das Setup zu beschleunigen.
Starten Sie die Umgebung mit:
cd env
docker compose pull
docker compose up -d
``
Warten Sie mehrere Minuten auf die Initialisierung der Datenbank.
Sie können den Fortschritt des Aufbaus verfolgen durch:
`bash
docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
`
Wenn abgeschlossen, sollten Sie die Protokolle ohne Fehler wie folgt sehen:
`bash
bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection
`
Wenn Sie zuvor Container erstellt haben und diese neu erstellen möchten, können Sie den folgenden Befehl ausführen:
`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.
`
Dies startet 3 Container mit vorgefertigten Images von Docker Hub:
bird_interact_postgresql: PostgreSQL-Datenbank für bird-interact-lite
bird_interact_postgresql_full: PostgreSQL-Datenbank für bird-interact-full
bird_interact_eval: Evaluierungsumgebung für sowohl a-Interact als auch c-Interact. Jetzt können Sie die Evaluierungsumgebung durch Ausführen des folgenden Befehls starten:
`bash
docker compose exec bird_interact_eval bash
`- (Optional) Baue die Umgebung manuell (wenn du die Images von Grund auf neu erstellen möchtest):
- Lade die Datenbank-Dumps herunter
- bird-interact-lite. Entpacke und benenne sie um zu
env/postgre_table_dumps.
bird-interact-full. Entpacke und benenne sie um zu env/postgre_table_dumps_full.
Baue die Umgebung manuell, indem du docker-compose.build.yml ausführst.
`bash
cd env/
docker compose -f docker-compose.build.yml build
docker compose -f docker-compose.build.yml up -d
`- (Empfohlen) Überprüfen Sie, ob die Datenbank-Container erfolgreich erstellt und ausgeführt werden.
- Drucken Sie die Container-Build-Logs aus, um sicherzustellen, dass die Datenbanken fehlerfrei erstellt wurden:
`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
`
Wenn Fehler auftreten, wird "Fehler traten während des Imports auf:" in den Logdateien ausgegeben.- Überprüfen Sie, ob die Datenbank-Container in gutem Zustand sind.
Verwenden Sie unser bereitgestelltes Python-Skript, um die Datenbank-Metadaten zu überprüfen:
`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
`
Erwartete Ergebnisse:
- bird-interact-lite:
- 📈 Gesamte Datenbanken: 18
- 📋 Gesamte Tabellen: 175
- 🔢 Gesamte Spalten: 2286
- 📈 Durchschnittliche Zeilen pro Tabelle: 1.038,48
- 💾 Gesamte Größe: 207,15 MB (ungefähr)
- bird-interact-full:
- 📈 Gesamte Datenbanken: 22
- 📋 Gesamte Tabellen: 244
- 🔢 Gesamte Spalten: 2011
- 📈 Durchschnittliche Zeilen pro Tabelle: 1.121,19
- 💾 Gesamte Größe: 272,00 MB (ungefähr)
📦 Datensatzdetails
Datensatzbeschreibung
- Datenbank: Die vollständige PostgreSQL-Datenbank kann von bird-interact-lite und bird-interact-full heruntergeladen werden.
- Daten: Jede Dateninstanz enthält die folgenden Hauptteile:
selected_database: Der Name der Datenbank.
query: Die eindeutige Benutzeranfrage.
amb_user_query: Die Benutzeranfrage mit eingefügten Mehrdeutigkeiten.
user_query_ambiguity: Die in die Benutzeranfrage eingefügten Mehrdeutigkeiten.
non_critical_ambiguity: Die nicht-kritischen Mehrdeutigkeiten wie Reihenfolge, Limit, usw.
knowledge_ambiguity: Die durch maskierte externe Kenntnisse erzeugten Mehrdeutigkeiten.
sol_sql: Die Ground-Truth-SQL-Lösung.
preprocess_sql: SQL-Abfragen, die vor der Ausführung der Lösung oder Vorhersage ausgeführt werden sollen.
clean_up_sql: SQL-Abfragen, die nach den Testfällen ausgeführt werden, um Änderungen an der Datenbank rückgängig zu machen.
test_cases: Eine Reihe von Testfällen zur Validierung der vorhergesagten korrigierten SQL.
follow_up: Die gekennzeichneten Folgefragen.
external_knowledge: Das externe Wissen, das sich auf die jeweilige Aufgabe bezieht.Evaluation: Der Evaluierungscode ist im Verzeichnis ./evaluation verfügbar.
Kuratiert von: BIRD Team & Google Cloud
Lizenz: cc-by-sa-4.0
HuggingFace Dataset Card: bird-interact-lite
und bird-interact-full für PostgreSQL; sowie mini-interact für SQLite.
Datensatzverwendung
Um Datenlecks durch automatisches Crawlen zu vermeiden, enthalten wir keine GT-Lösung-SQLs und Testfälle zusammen mit den Daten.
Bitte senden Sie eine E-Mail an bird.bench25@gmail.com mit dem Tag
[bird-interact-lite GT&Test Cases] oder [bird-interact-full GT&Test Cases] im Betreff, um die Ground Truth und Testfälle für den bird-interact-lite- oder bird-interact-full-Datensatz zu erhalten, die dann automatisch zugesendet werden.Kombinieren Sie die öffentlichen Daten mit der Ground Truth und den Testfällen
Verwenden Sie dann das folgende Skript, um die öffentlichen Daten mit der Ground Truth und den Testfällen zu kombinieren:
Nehmen Sie die Vollversion als Beispiel:
(1) Führen Sie aus:
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.jsonlDadurch wird eine neue Datei unter/path/to/bird_interact_data.jsonlmit den zusammengeführten Daten erstellt.(2) Ersetzen Sie dann die ursprünglichen öffentlichen Daten durch die zusammengeführten Daten:
Dasselbe gilt für die anderen Versionen: bird-interact-lite, Mini-Version usw. Setzen Sie einfach die richtigen Pfade für die öffentlichen Daten sowie den Ground-Truth und die Testfälle und ersetzen Sie dann die öffentlichen Daten durch die kombinierten Daten.
. Siehe