Web Analytics

BIRD-Interact

⭐ 598 stars Italian by bird-bench

🌐 Lingua

BIRD-INTERACT 1.0 Logo HKU Logo Google Cloud

Licenza Classifica HuggingFace Python OpenAI

⚠️ 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à

Presenta tutti i dettagli, la metodologia e la valutazione del nostro benchmark interattivo text-to-SQL. 👉 Dai un’occhiata per scoprire di più sulle idee dietro BIRD-Interact.

È impegnativo — i migliori LLM raggiungono solo il 16,33% di successo, con appena il 10,0% sulle porzioni 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 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:

🐣 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

> Se vuoi solo valutare su 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.
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.