Web Analytics

BIRD-Interact

⭐ 453 stars German by bird-bench

🌐 Sprache

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Lizenz Bestenliste HuggingFace Python OpenAI

⚠️ Ankündigung

Bitte beachten Sie, dass beim Laden der Datenbanken mit Docker vor Ihrem Evaluierungsprozess gelegentlich Fehler aufgrund von Umgebungsinkonsistenzen auftreten können (diese beenden den Prozess nicht, erscheinen aber in den Docker-Logs). Dadurch kann es vorkommen, dass einige Datenbanken nicht korrekt geladen werden und somit leer bleiben. Dies führt zu ungewöhnlich niedrigen Bewertungsergebnissen. 👉 Daher empfehlen wir dringend, vor der Ausführung der Bewertung die Docker-Logs auf Fehler zu prüfen und sicherzustellen, dass alle Datenbanken erfolgreich geladen wurden.

👉 Wir haben die Einreichungsrichtlinien aktualisiert, in denen die Unterstützung von benutzerdefinierten Agenten-Gerüsten vorgesehen ist. Schauen Sie sich gerne unsere ausführlichen Einreichungsrichtlinien hier an.

📰 Neuigkeiten

Es stellt alle Details, die Methodik und die Evaluation unseres interaktiven Text-zu-SQL-Benchmarks vor. 👉 Schauen Sie sich das an und erfahren Sie mehr über die Ideen hinter BIRD-Interact.

Das ist eine harte Nuss — die besten LLMs erreichen nur eine 16,33% Erfolgsrate, mit lediglich 10,0% für die c-interact- und a-interact-Teile. 👉 Für weitere Details besuchen Sie bitte unsere Projektwebsite.

Wenn Sie frühzeitig Zugriff wünschen, senden Sie bitte wie auf der Seite beschrieben eine E-Mail für einen automatischen Download.

Die vollständigen Versionen LiveSQLBench-Base und -Large folgen in Kürze!

🧸 Überblick

BIRD-INTERACT, ein interaktiver Text-zu-SQL-Benchmark, definiert Text-zu-SQL-Bewertung neu durch die Linse dynamischer Interaktionen. Die Umgebung vereint eine hierarchische Wissensbasis, Datenbankdokumentation und einen funktionsgesteuerten Nutzersimulator, um authentische Unternehmensumgebungen für vollständige CRUD-Operationen nachzubilden. Es bietet zwei strenge Testmodi: (1) passiver Konversationeller Interaktionsmodus und (2) aktiver Agentischer Interaktionsmodus, mit 600 annotierten Aufgaben, darunter Business Intelligence (BI), CRUD-Operationen usw., jeweils durch ausführbare Testfälle abgesichert. Typische Bewertungen lösen 1.968–5.496 Interaktionsturns zwischen Modell und Nutzersimulator aus, während aktuelle State-of-the-Art-Modelle derzeit nur ≈24 % und ≈18 % der Aufgaben lösen und so die Herausforderung des Benchmarks unterstreichen.

✅ Zwei Bewertungsmodi

BIRD-INTERACT unterstützt zwei Bewertungsmodi, wie oben erwähnt:

🐣 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 ein breites Spektrum an 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 | Ø Kosten (USD)/Aufgabe | Level | |:----:|:-------------------|:----------------------:|:----------------------:|:------------------:| | 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 |

\ Budgetparameter: Startbudget/Benutzer-Geduldsbudget, gemessen in unserer virtuellen Währung bird-coin*s . Weitere Einzelheiten finden Sie unter bird_interact_agent/README.md.

Interaction-Time Scaling (ITS)

Interaction-Time Scaling (ITS) beschreibt die Fähigkeit eines Modells, seine Endleistung durch mehrfache Interaktionen kontinuierlich zu steigern. Übertrifft diese interaktive Leistung die idealisierte Einzelschritt-Leistung des Modells bei einer vollständig spezifizierten, eindeutigen Aufgabe, so erfüllt es das ITS-Gesetz. Mit wachsender Geduld der Nutzer und zunehmenden Interaktionsrunden verbessert sich die Leistung weiter, was zeigt, dass das Modell über längere Dialoge hinweg effektive Kommunikation aufrechterhalten kann. Aktuell erfüllt nur claude-3-7-sonnet das ITS-Gesetz.

Umgebungseinrichtung

> Wenn Sie nur auf bird-interact-lite evaluieren möchten, können Sie den postgresql_full Service in der docker-compose.yml auskommentieren, um die Einrichtung der Umgebung zu beschleunigen. Starten Sie die Umgebung mit folgendem Befehl:
   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
  • 💾 Gesamtgröß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
  • 💾 Gesamtgröß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.
  • data: 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, etc.
  • knowledge_ambiguity: Die durch maskiertes externes Wissen erzeugten Mehrdeutigkeiten.
  • sol_sql: Die korrekte SQL-Lösung.
  • preprocess_sql: SQL-Abfragen, die vor der Ausführung der Lösung oder Vorhersage ausgeführt werden.
  • clean_up_sql: SQL-Abfragen, die nach den Testfällen ausgeführt werden, um alle Ä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 in Bezug auf die jeweilige Aufgabe.
  • 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

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.
Dadurch wird eine neue Datei unter /path/to/bird_interact_data.jsonl mit den zusammengeführten Daten erstellt.

(2) Ersetzen Sie dann die ursprünglichen öffentlichen Daten durch die zusammengeführten Daten:

bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonl

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.