Web Analytics

BIRD-Interact

⭐ 453 stars Italian by bird-bench

🌐 Lingua

BIRD-INTERACT 1.0 Logo HKU Logo Google Cloud

License Leaderboard HuggingFace Python OpenAI

⚠️ Annuncio

Si prega di notare che prima del processo di valutazione, quando Docker carica i database, occasionalmente possono verificarsi errori a causa di incoerenze nell'ambiente (questi non interromperanno il processo ma appariranno nei log di Docker). Di conseguenza, alcuni database potrebbero non caricarsi correttamente, risultando in database vuoti. Questo causerà risultati di valutazione anormalmente bassi. 👉 Pertanto, raccomandiamo vivamente di controllare i log di Docker per eventuali errori prima di eseguire la valutazione e verificare che tutti i database siano stati caricati correttamente.

👉 Abbiamo aggiornato le Linee guida per l'invio, ora sono supportati gli scaffolding agent personalizzati. Sentitevi liberi di consultare le nostre linee guida dettagliate per l'invio qui.

📰 Novità

Presenta tutti i dettagli, la metodologia e la valutazione del nostro benchmark interattivo text-to-SQL. 👉 Scopri di più sulle idee dietro BIRD-Interact.

È davvero impegnativo — i migliori LLM raggiungono solo un 16.33% di successo, con appena 10.0% sulle sezioni c-interact e a-interact. 👉 Per maggiori dettagli, visita il nostro sito del progetto.

Se desideri l'accesso anticipato, invia un'email come indicato sul sito per un download automatico.

Le versioni complete LiveSQLBench-Base e -Large arriveranno presto!

🧸 Panoramica

BIRD-INTERACT, un benchmark interattivo text-to-SQL, re-immagina la valutazione Text-to-SQL attraverso la lente delle interazioni dinamiche. L'ambiente combina una base di conoscenza gerarchica, documentazione del database e un simulatore utente basato su funzioni per ricreare ambienti aziendali autentici su tutte le operazioni CRUD. Offre due rigorose modalità di test: (1) Interazione Conversazionale passiva e (2) Interazione Agentica attiva, coprendo 600 compiti annotati tra cui Business Intelligence (BI), operazioni CRUD, ecc., ciascuno protetto da casi di test eseguibili. Le valutazioni tipiche generano da 1.968 a 5.496 turni di interazione tra modello e simulatore utente, mentre i modelli di ragionamento all'avanguardia risolvono attualmente solo ≈24% e ≈18% dei compiti, evidenziando la sfida del benchmark.

✅ Due Modalità di Valutazione

BIRD-INTERACT supporta due modalità di valutazione come sopra menzionato:

🐣 Versione Lite

Stiamo rilasciando una versione lite di BIRD-INTERACT, bird-interact-lite-exp, che include 270 compiti reali di alta qualità specificamente per PostgreSQL. È un buon punto di partenza per rapidi esperimenti.

🦜 Versione Completa

La versione completa di BIRD-INTERACT, bird-interact-full, è un benchmark completo che include 600 compiti per PostgreSQL. Copre un'ampia gamma di operazioni SQL e richieste utente. La versione completa arriverà presto.

Risultati delle Prestazioni dei Modelli su BIRD-INTERACT-FULL

#### 1. Prestazioni c-Interact Text-to-SQL | Rank | Nome Modello | Ricompensa Normalizzata | Costo Medio (USD)/Compito | Livello | |:----:|:-------------------|:----------------------:|:-------------------------:|:-------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Chat Eccellente | | 2 | O3-Mini | 20,27 | $0,07 | 🏆 Chat Eccellente | | 3 | Claude-Sonnet-4 | 18,35 | $0,29 | 💎 Chat Buona | | 4 | Qwen-3-Coder-480B | 17,75 | $0,11 | 💎 Chat Buona | | 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 | ⚪ Base |

#### 2. a-Interact Text-to-SQL Prestazioni | Pos. | Nome Modello | Ricompensa Norm. | Costo Medio (USD)/Task | Livello | |:----:|:-------------------|:-----------------:|:----------------------:|:--------------------------:| | 1 | GPT-5 | 25,52 | $0,24 | 🏆 Interazione Eccellente | | 2 | Claude-Sonnet-4 | 23,28 | $0,51 | 🏆 Interazione Eccellente | | 3 | Claude-Sonnet-3.7 | 17,45 | $0,60 | 💎 Interazione Buona | | 4 | Gemini-2.5-Pro | 17,33 | $0,22 | 💎 Interazione Buona | | 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 | ⚪ Base |

\ Parametri di Budget: Budget Iniziale/Budget di Pazienza Utente, misurati tramite la nostra valuta virtuale bird-coin*s . Consulta bird_interact_agent/README.md per maggiori dettagli.

Interaction-Time Scaling (ITS)

Interaction-Time Scaling (ITS) si riferisce alla capacità di un modello di aumentare continuamente la propria performance finale tramite interazioni multi-turno. Quando questa performance interattiva supera la performance idealizzata single-turn su un task completamente specificato e non ambiguo, si dice che soddisfa la legge ITS. All’aumentare della pazienza dell’utente e del numero di turni d’interazione, le prestazioni continuano a migliorare, dimostrando che il modello può mantenere una comunicazione efficace in un dialogo esteso. Attualmente, solo claude-3-7-sonnet risulta soddisfare la legge ITS.

Setup dell’Ambiente

> Se vuoi solo valutare su bird-interact-lite, puoi commentare il servizio postgresql_full in docker-compose.yml per velocizzare il setup dell’ambiente. Avvia l’ambiente eseguendo:
   cd env
   docker compose pull 
   docker compose up -d
   ``
   Attendere alcuni minuti per l'inizializzazione del database. 
   
  Puoi monitorare l'avanzamento della costruzione tramite:
  `bash
  docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
  `
  Se completato, dovresti vedere i log senza errori come:

`bash bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection ` Se hai già creato dei container e desideri ricrearli, puoi eseguire il seguente comando: `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. ` Questo avvia 3 container utilizzando immagini predefinite da Docker Hub:

  • bird_interact_postgresql: Database PostgreSQL per bird-interact-lite
  • bird_interact_postgresql_full: Database PostgreSQL per bird-interact-full
  • bird_interact_eval: Ambiente di valutazione per entrambi a-Interact e c-Interact.
Ora puoi avviare l'ambiente di valutazione eseguendo il seguente comando: `bash docker compose exec bird_interact_eval bash `

  • (Opzionale) Costruisci l'ambiente manualmente (se vuoi creare le immagini da zero):
  • Scarica i dump del database
  • bird-interact-lite. Decomprimi e rinominalo come env/postgre_table_dumps.
  • bird-interact-full. Decomprimi e rinominalo come env/postgre_table_dumps_full.
  • Costruisci l'ambiente manualmente eseguendo docker-compose.build.yml.
`bash cd env/ docker compose -f docker-compose.build.yml build docker compose -f docker-compose.build.yml up -d `

  • (Consigliato) Verificare che i container del database siano stati creati e siano in esecuzione correttamente.
  • Stampare i log di costruzione dei container per assicurarsi che i database siano stati creati correttamente senza errori:
`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 ` Se si verificano errori, "Si sono verificati errori durante l'importazione:" verrà stampato nei file di log.

  • Verificare che i container del database siano in buone condizioni.
Utilizzare il nostro script Python fornito per verificare i metadati del database:
`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 ` Risultati attesi:
  • bird-interact-lite:
  • 📈 Database Totali: 18
  • 📋 Tabelle Totali: 175
  • 🔢 Colonne Totali: 2286
  • 📈 Media Righe per Tabella: 1.038,48
  • 💾 Dimensione Totale: 207,15 MB (circa)
  • bird-interact-full:
  • 📈 Database Totali: 22
  • 📋 Tabelle Totali: 244
  • 🔢 Colonne Totali: 2011
  • 📈 Media Righe per Tabella: 1.121,19
  • 💾 Dimensione Totale: 272,00 MB (circa)

📦 Dettagli del Dataset

Descrizione del Dataset

  • Database: Il database PostgreSQL completo può essere scaricato da bird-interact-lite e bird-interact-full.
  • data: Ogni istanza di dati contiene le seguenti parti principali:
  • selected_database: Il nome del database.
  • query: La query dell’utente non ambigua.
  • amb_user_query: La query dell’utente con ambiguità iniettate.
  • user_query_ambiguity: Le ambiguità iniettate nella query dell’utente.
  • non_critical_ambiguity: Le ambiguità non critiche come order, limit, ecc.
  • knowledge_ambiguity: Le ambiguità create mascherando conoscenze esterne.
  • sol_sql: La soluzione SQL di riferimento.
  • preprocess_sql: Query SQL da eseguire prima della soluzione o della previsione.
  • clean_up_sql: Query SQL da eseguire dopo i test per annullare eventuali modifiche al database.
  • test_cases: Un insieme di casi di test per validare la SQL corretta prevista.
  • follow_up: Le domande di follow up etichettate.
  • external_knowledge: Le conoscenze esterne relative al compito specifico.
  • evaluation: Il codice di valutazione è disponibile nella directory ./evaluation.
  • Curato da: BIRD Team & Google Cloud
  • Licenza: cc-by-sa-4.0
  • HuggingFace Dataset Card: bird-interact-lite
e bird-interact-full

Utilizzo del Dataset

Per evitare il data leakage tramite auto-crawling, non includiamo le soluzioni GT sql e i casi di test insieme ai dati. si prega di inviare una email a bird.bench25@gmail.com con il tag [bird-interact-lite GT&Test Cases] oppure [bird-interact-full GT&Test Cases] nell’oggetto per ottenere le soluzioni ground truth e i casi di test per i dataset bird-interact-lite o bird-interact-full, che saranno inviati automaticamente.

Unire i dati pubblici con ground truth e casi di test

Utilizzare quindi il seguente script per unire i dati pubblici con ground truth e casi di test:

Prendiamo la versione completa come esempio: (1) Esegui:

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.
Questo creerà un nuovo file in /path/to/bird_interact_data.jsonl con i dati combinati.

(2) Quindi sostituisci i dati pubblici originali con i dati combinati:

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

Lo stesso vale per le altre versioni: bird-interact-lite, versione mini, ecc. Basta impostare i percorsi corretti per i dati pubblici, la ground truth e i casi di test, e poi sostituire i dati pubblici con i dati combinati.