BIRD-INTERACT 1.0

⚠️ Annuncio
Si prega di notare che prima del processo di valutazione, durante il caricamento dei database da parte di Docker, possono occasionalmente verificarsi errori dovuti a inconsistenze dell'ambiente (questi non termineranno il processo ma appariranno nei log di Docker). Di conseguenza, alcuni database potrebbero non caricarsi correttamente, risultando vuoti. Questo comporterà risultati di valutazione anormalmente bassi. 👉 Pertanto, consigliamo vivamente di controllare i log di Docker per eventuali errori prima di eseguire la valutazione e di verificare che tutti i database siano stati caricati con successo.👉 Abbiamo aggiornato le Linee Guida per la Sottomissione, dove ora sono supportati gli scaffolds agent personalizzati. Sentitevi liberi di consultare le nostre linee guida dettagliate per la sottomissione qui.
📰 Novità
- [2026-02-08] 🔥🔥🔥 Il nostro articolo Bird-Interact è stato accettato all’ICLR 2026 (Oral)! Ci vediamo a Rio 🇧🇷!
- [2025-11-06] 🐛 Correzione bug & 🐳 Aggiornamento Docker: Aggiornata la versione di sqlglot a 26.16.4 per correggere il bug che impediva al parser SQL di analizzare correttamente le query nella simulazione utente. Puoi risolvere reinstallando con
pip install sqlglot==26.16.4nell’ambientebird_interact_eval. L’immaginebird_interact_evalè stata aggiornata, quindi puoi anche scaricarla e ricreare il containerbird_interact_eval. - [2025-10-21] 🐳 Aggiornamento Docker: Abbiamo aggiunto il docker per il Full DB Env. E abbiamo caricato 3 immagini docker (Base/Full DB Env e ambiente di valutazione sia per
a-Interactchec-Interact) su Docker Hub per facilitare la configurazione dell’ambiente. Non è più necessario scaricare i dump dei DB e costruire manualmente le immagini! - [2025-10-08] 📝 Il nostro articolo Bird-Interact è ora pubblicamente disponibile!
- [2025-08-26] 🚀 Siamo entusiasti di annunciare il rilascio del set BIRD-Interact-Full (600)!
c-interact e a-interact.
👉 Per maggiori dettagli, visita il nostro sito del progetto.- [2025-08-26] 📬 Questa settimana invieremo i Ground Truth & Test cases alla nostra mailing list.
- [2025-08-26] 💾 Inoltre, abbiamo rilasciato una versione SQLite di LiveSQLBench-Lite per facilitare la ricerca locale.
- [2025-08-22] Correzione Bug: Nel codice Bird-Interact-Agent, abbiamo corretto un bug che durante la valutazione della fase-2 SQL, la SQL della fase-1 memorizzata non poteva essere eseguita con successo, portando a un tasso di successo inferiore della Fase-2. Questo bug riguarda solo quei task in cui la sql della fase1 esegue alcune operazioni sul database, ad esempio CREATE table, ecc.
🧸 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 knowledge base gerarchica, documentazione del database e un simulatore utente guidato da funzioni per ricreare ambienti aziendali autentici su tutte le operazioni CRUD. Offre due rigorose modalità di test: (1) Conversational Interaction passiva e (2) Agentic Interaction attiva, coprendo 600 task annotati tra cui Business Intelligence (BI), operazioni CRUD ecc., ciascuno protetto da test case eseguibili. Le valutazioni tipiche attivano 1.968-5.496 turni di interazione tra modello e simulatore utente, mentre i modelli di ragionamento all'avanguardia attualmente risolvono solo ≈24% e ≈18% dei task, sottolineando la sfida del benchmark.
✅ Due Modalità di Valutazione
BIRD-INTERACT supporta due modalità di valutazione come menzionato sopra:
- c-Interact: Conversational Interaction che è una modalità passiva e il flusso di lavoro è fisso. Il codice e le informazioni dettagliate sono disponibili in
bird_interact_conv. - a-Interact: Agentic Interaction che è una modalità attiva incarnata in cui il flusso di lavoro è dinamico e guidato dai modelli. Il codice e le informazioni dettagliate sono disponibili in
bird_interact_agent.
🐣 Versione Lite
Stiamo rilasciando una versione lite di BIRD-INTERACT, bird-interact-lite-exp, che include 270 task reali di alta qualità specifici per PostgreSQL. È un buon punto di partenza per sperimentazioni rapide.
🦜 Versione Completa
La versione completa di BIRD-INTERACT, bird-interact-full, è un benchmark completo che include 600 task per PostgreSQL. Copre un'ampia gamma di operazioni SQL e query utente. La versione completa sarà disponibile a breve.
Risultati delle Prestazioni dei Modelli su BIRD-INTERACT-FULL
#### 1. c-Interact Text-to-SQL Prestazioni | Rank | Nome Modello | Normalized Reward | Costo Medio (USD)/Task | 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 Buono | | 4 | Qwen-3-Coder-480B | 17,75 | $0,11 | 💎 Chat Buono | | 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 | Rank | 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 | 💎 Buona Interazione | | 4 | Gemini-2.5-Pro | 17,33 | $0,22 | 💎 Buona Interazione | | 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, misurato nella 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 sua prestazione finale tramite interazioni multi-turno. Quando questa prestazione interattiva supera quella idealizzata a turno singolo su un task completamente specificato e non ambiguo, diciamo che soddisfa la legge ITS. All'aumentare della pazienza dell'utente e del numero di turni di interazione, la prestazione continua a migliorare, dimostrando che il modello può mantenere una comunicazione efficace su dialoghi estesi. Attualmente, solo claude-3-7-sonnet soddisfa la legge ITS.
Configurazione dell'Ambiente
- Avvia i container Docker per il database bird-interact-lite, il database bird-interact-full e l'ambiente di valutazione:
bird-interact-lite, puoi commentare il servizio postgresql_full in docker-compose.yml per velocizzare la configurazione 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.
bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlQuesto creerà un nuovo file in/path/to/bird_interact_data.jsonlcon i dati combinati.(2) Quindi sostituisci i dati pubblici originali con i dati combinati:
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.
. Consulta