BIRD-INTERACT 1.0

⚠️ Annonce
Veuillez noter qu'avant le processus d'évaluation, lors du chargement des bases de données par Docker, des erreurs peuvent parfois survenir en raison d'une incohérence d'environnement (elles n'arrêtent pas le processus mais apparaissent dans les logs Docker). Par conséquent, certaines bases de données peuvent ne pas se charger correctement, entraînant des bases de données vides. Cela provoquera des résultats d'évaluation anormalement faibles. 👉 Nous vous recommandons donc fortement de vérifier les logs Docker pour toute erreur avant de lancer l'évaluation et de vérifier que toutes les bases de données ont bien été chargées.👉 Nous avons mis à jour les Directives de soumission, où les squelettes d'agents personnalisés sont pris en charge. N'hésitez pas à consulter nos directives de soumission détaillées ici.
📰 Actualités
- [2026-02-08] 🔥🔥🔥 Notre article Bird-Interact a été accepté à ICLR 2026 (Oral) ! Rendez-vous à Rio 🇧🇷 !
- [2025-11-06] 🐛 Correction de bug & 🐳 Mise à jour Docker : Mise à jour de sqlglot en version 26.16.4 pour corriger le bug empêchant l'analyse correcte du SQL pour le simulateur utilisateur. Vous pouvez corriger cela en réinstallant avec
pip install sqlglot==26.16.4dans l'environnementbird_interact_eval. L'imagebird_interact_evalest également mise à jour, vous pouvez donc la récupérer et recréer le conteneurbird_interact_eval. - [2025-10-21] 🐳 Mise à jour Docker : Nous avons ajouté le docker pour l'environnement Full DB. Nous avons également publié 3 images docker (Base/Full DB Env et l'environnement d'évaluation pour
a-Interactetc-Interact) sur Docker Hub pour faciliter la configuration de l'environnement. Plus besoin de télécharger les dumps de base de données ni de construire les images manuellement ! - [2025-10-08] 📝 Notre article Bird-Interact est désormais disponible publiquement !
- [2025-08-26] 🚀 Nous sommes ravis d’annoncer la sortie du BIRD-Interact-Full (600) !
c-interact et a-interact.
👉 Pour plus de détails, veuillez visiter notre site du projet.- [2025-08-26] 📬 Nous enverrons les Ground Truth & cas de test à notre liste de diffusion cette semaine.
- [2025-08-26] 💾 Par ailleurs, nous avons également publié une version SQLite de LiveSQLBench-Lite pour faciliter la recherche locale.
- [2025-08-22] Correction de bug : Dans le code Bird-Interact-Agent, nous avons corrigé un bug qui, lors de l'évaluation des SQL de phase 2, empêchait l'exécution réussie du SQL de phase 1 stocké, entraînant un taux de réussite plus faible en phase 2. Ce bug n'affecte que les tâches où le sql de phase 1 effectue des opérations sur la base de données, par exemple CREATE table, etc.
🧸 Aperçu
BIRD-INTERACT, un benchmark interactif text-to-SQL, réinvente l'évaluation Text-to-SQL à travers le prisme des interactions dynamiques. L'environnement combine une base de connaissances hiérarchique, la documentation de base de données et un simulateur d'utilisateur orienté fonctions pour recréer des environnements d'entreprise authentiques à travers toutes les opérations CRUD. Il propose deux modes de test rigoureux : (1) Interaction Conversationnelle passive et (2) Interaction Agentique active, couvrant 600 tâches annotées incluant Business Intelligence (BI), opérations CRUD, etc., chacune accompagnée de cas de test exécutables. Les évaluations typiques génèrent 1 968 à 5 496 tours d'interaction entre le modèle et le simulateur utilisateur, tandis que les modèles de raisonnement les plus avancés ne résolvent actuellement que ≈24 % et ≈18 % des tâches, soulignant le défi du benchmark.
✅ Deux modes d'évaluation
BIRD-INTERACT prend en charge deux modes d'évaluation comme mentionné ci-dessus :
- c-Interact : Interaction conversationnelle qui est un mode passif et le flux de travail est fixe. Le code et les informations détaillées sont disponibles dans
bird_interact_conv. - a-Interact : Interaction agentique, un mode actif incarné où le flux de travail est dynamique et guidé par les modèles. Le code et les informations détaillées sont disponibles dans
bird_interact_agent.
🐣 Version Lite
Nous publions une version allégée de BIRD-INTERACT, bird-interact-lite-exp, qui inclut 270 tâches réelles de haute qualité spécialement pour PostgreSQL. C'est un bon point de départ pour une expérimentation rapide.
🦜 Version Complète
La version complète de BIRD-INTERACT, bird-interact-full, est un benchmark complet qui inclut 600 tâches pour PostgreSQL. Elle couvre un large éventail d'opérations SQL et de requêtes utilisateur. La version complète arrive bientôt.
Résultats de performance des modèles sur BIRD-INTERACT-FULL
#### 1. Performance c-Interact Text-to-SQL | Rang | Nom du modèle | Récompense normalisée | Coût moyen (USD)/Tâche | Niveau | |:----:|:-------------------|:-----------------:|:-------------------:|:------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Chat excellent | | 2 | O3-Mini | 20.27 | $0.07 | 🏆 Chat excellent | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 Chat bon | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 Chat bon | | 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 | ⚪ Basique |
#### 2. a-Interact Text-to-SQL Performance | Rank | Nom du modèle | Récompense normalisée | Coût moyen (USD)/Tâche | Niveau | |:----:|:-------------------|:----------------------:|:-----------------------:|:--------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 Interaction excellente | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 Interaction excellente | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 Interaction bonne | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Interaction bonne | | 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 | ⚪ Basique |
\ Paramètres de budget : Budget initial/Budget de patience utilisateur, mesuré par notre monnaie virtuelle bird-coin*s. Consultez bird_interact_agent/README.md pour plus de détails.
Échelonnage du temps d'interaction (ITS)
L’échelonnage du temps d’interaction (ITS) désigne la capacité d’un modèle à augmenter continuellement sa performance finale lors d’interactions multi-tours. Lorsque cette performance interactive dépasse la performance idéalisée du modèle sur une tâche entièrement spécifiée et non ambiguë en un seul tour, on dit qu’il satisfait la loi ITS. À mesure que la patience de l’utilisateur augmente et que les tours d’interaction s’accumulent, la performance continue de s’améliorer, démontrant que le modèle peut maintenir une communication efficace sur un dialogue prolongé. Actuellement, nous ne trouvons que claude-3-7-sonnet qui satisfait la loi ITS.
Configuration de l’environnement
- Exécutez les conteneurs Docker pour la base de données bird-interact-lite, la base de données bird-interact-full et l’environnement d’évaluation :
bird-interact-lite, vous pouvez commenter le service postgresql_full dans docker-compose.yml pour accélérer la configuration de l’environnement.
Lancez l’environnement en exécutant :
cd env
docker compose pull
docker compose up -d
``
Attendez quelques minutes pour l'initialisation de la base de données.
Vous pouvez suivre l'avancement de la construction en :
`bash
docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
`
Si vous avez terminé, vous devriez voir les journaux sans erreurs comme :
`bash
bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection
`
Si vous avez déjà créé des conteneurs et souhaitez les recréer, vous pouvez exécuter la commande suivante :
`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.
`
Cela lance 3 conteneurs utilisant des images pré-construites depuis Docker Hub :
bird_interact_postgresql : Base de données PostgreSQL pour bird-interact-lite
bird_interact_postgresql_full : Base de données PostgreSQL pour bird-interact-full
bird_interact_eval : Environnement d'évaluation pour a-Interact et c-Interact. Vous pouvez maintenant démarrer l'environnement d'évaluation en exécutant la commande suivante :
`bash
docker compose exec bird_interact_eval bash
`
- (Optionnel) Construisez l'environnement manuellement (si vous souhaitez créer les images à partir de zéro) :
- Téléchargez les dumps de base de données
- bird-interact-lite. Décompressez et renommez-le en
env/postgre_table_dumps.
bird-interact-full. Décompressez et renommez-le en env/postgre_table_dumps_full.
Construisez l'environnement manuellement en lançant docker-compose.build.yml.
`bash
cd env/
docker compose -f docker-compose.build.yml build
docker compose -f docker-compose.build.yml up -d
`- (Recommandé) Vérifiez que les conteneurs de base de données sont construits et fonctionnent correctement.
- Affichez les journaux de construction des conteneurs pour vous assurer que les bases de données sont créées avec succès sans erreurs :
`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
`
Si des erreurs surviennent, "Des erreurs sont survenues lors de l'importation :" sera affiché dans les fichiers journaux.- Vérifiez si les conteneurs de la base de données sont en bon état.
Utilisez notre script Python fourni pour vérifier les métadonnées de la base de données :
`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
`
Résultats attendus :
- bird-interact-lite :
- 📈 Bases de données totales : 18
- 📋 Tables totales : 175
- 🔢 Colonnes totales : 2286
- 📈 Moyenne de lignes par table : 1 038,48
- 💾 Taille totale : 207,15 Mo (environ)
- bird-interact-full :
- 📈 Bases de données totales : 22
- 📋 Tables totales : 244
- 🔢 Colonnes totales : 2011
- 📈 Moyenne de lignes par table : 1 121,19
- 💾 Taille totale : 272,00 Mo (environ)
📦 Détails du jeu de données
Description du jeu de données
- Base de données : La base de données PostgreSQL complète peut être téléchargée depuis bird-interact-lite et bird-interact-full.
- data : Chaque instance de données contient les éléments principaux suivants :
selected_database : Le nom de la base de données.
query : La requête utilisateur non ambiguë.
amb_user_query : La requête utilisateur avec des ambiguïtés injectées.
user_query_ambiguity : Les ambiguïtés injectées dans la requête utilisateur.
non_critical_ambiguity : Les ambiguïtés non critiques comme l’ordre, la limite, etc.
knowledge_ambiguity : Les ambiguïtés créées par des connaissances externes masquées.
sol_sql : La solution SQL de référence.
preprocess_sql : Les requêtes SQL à exécuter avant d’exécuter la solution ou la prédiction.
clean_up_sql : Les requêtes SQL à exécuter après les cas de test pour annuler les modifications apportées à la base de données.
test_cases : Un ensemble de cas de test pour valider le SQL corrigé prédit.
follow_up : Les questions de suivi annotées.
external_knowledge : Les connaissances externes liées à la tâche spécifique.evaluation : Le code d’évaluation est disponible dans le répertoire ./evaluation.
Préparé par : Équipe BIRD & Google Cloud
Licence : cc-by-sa-4.0
Fiche de jeu de données HuggingFace : bird-interact-lite
et bird-interact-full
Utilisations du jeu de données
Pour éviter toute fuite de données par auto-crawling, nous n'incluons pas les solutions SQL GT ni les cas de test avec les données.
Veuillez envoyer un e-mail à bird.bench25@gmail.com avec le tag
[bird-interact-lite GT&Test Cases] ou [bird-interact-full GT&Test Cases] dans le titre pour obtenir la vérité terrain et les cas de test du jeu de données bird-interact-lite ou bird-interact-full, qui vous seront envoyés automatiquement.Combiner les données publiques avec la vérité terrain et les cas de test
Utilisez ensuite le script suivant pour combiner les données publiques avec la vérité terrain et les cas de test :
Prenons la version complète comme exemple :
(1) Exécutez :
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.jsonlCela créera un nouveau fichier à l'emplacement/path/to/bird_interact_data.jsonlcontenant les données combinées.(2) Remplacez ensuite les données publiques originales par les données combinées :
Idem pour les autres versions : bird-interact-lite, version mini, etc. Il suffit de définir les bons chemins pour les données publiques, la vérité terrain et les cas de test, puis de remplacer les données publiques par les données combinées.
. Consultez