Web Analytics

BIRD-Interact

⭐ 678 stars French by bird-bench

🌐 Langue

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

License Leaderboard HuggingFace Python OpenAI

⚠️ Annonce

Veuillez noter qu'avant votre processus d'évaluation, lorsque Docker charge les bases de données, des erreurs peuvent parfois survenir en raison de l'incohérence de l'environnement (cela ne terminera pas le processus mais apparaîtra dans les logs Docker). En conséquence, certaines bases de données peuvent ne pas se charger correctement, ce qui conduit à des bases de données vides. Cela entraînera des résultats d'évaluation anormalement bas. 👉 Par conséquent, nous recommandons fortement de vérifier les logs Docker pour toute erreur avant d'exécuter l'évaluation et de vérifier que toutes les bases de données ont été chargées avec succès.

👉 Nous avons mis à jour les Directives de soumission, où les agents personnalisés sont désormais supportés. N'hésitez pas à consulter nos directives de soumission détaillées ici.

📰 Actualités

Il présente tous les détails, la méthodologie et l'évaluation de notre benchmark interactif text-to-SQL. 👉 Consultez-le pour en savoir plus sur les idées derrière BIRD-Interact.

C'est un défi — les meilleurs LLMs n'obtiennent qu'un taux de réussite de 16,33%, avec seulement 10,0% sur les portions c-interact et a-interact. 👉 Pour plus de détails, veuillez visiter notre site du projet.

Si vous souhaitez un accès anticipé, veuillez envoyer un email comme indiqué sur le site pour un téléchargement automatique.

Les versions complètes LiveSQLBench-Base et -Large arrivent bientôt !

🧸 Aperçu

BIRD-INTERACT, un benchmark interactif text-to-SQL, réinvente l’évaluation Text-to-SQL sous l’angle des interactions dynamiques. L’environnement mélange une base de connaissances hiérarchique, la documentation de la base de données et un simulateur d’utilisateur piloté par fonctions afin de recréer des environnements d’entreprise authentiques couvrant l’ensemble des 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 étant validée par des cas de test exécutables. Les évaluations typiques déclenchent de 1 968 à 5 496 tours d’interaction entre le modèle et le simulateur utilisateur, tandis que les modèles de raisonnement de pointe ne résolvent actuellement que ≈24% et ≈18% des tâches, ce qui souligne le défi du benchmark.

✅ Deux Modes d'Évaluation

BIRD-INTERACT prend en charge deux modes d’évaluation comme mentionné ci-dessus :

🐣 Version Allégée

Nous publions une version allégée de BIRD-INTERACT, bird-interact-lite-exp, qui comprend 270 tâches réelles de haute qualité spécifiquement pour PostgreSQL. Il s’agit d’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 Moy. (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 | 💎 Bon Chat | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 Bon 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 | ⚪ Basique |

#### 2. Performance a-Interact Text-to-SQL | Rang | Nom du Modèle | Récompense Normalisée | Coût Moy. (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 | 💎 Bonne Interaction | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Bonne Interaction | | 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 de départ/Budget de patience utilisateur, mesurés par notre monnaie virtuelle bird-coin*s . Voir bird_interact_agent/README.md pour plus de détails.

Échelle du Temps d’Interaction (ITS)

L’Échelle du Temps d’Interaction (ITS) désigne la capacité d’un modèle à augmenter continuellement ses performances finales via des 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 progresser, montrant que le modèle peut maintenir une communication efficace sur une longue durée de dialogue. Actuellement, seul claude-3-7-sonnet satisfait la loi ITS.

Mise en place de l’environnement

> Si vous souhaitez simplement évaluer sur bird-interact-lite, vous pouvez commenter le service postgresql_full dans docker-compose.yml pour accélérer la mise en place 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.
  • données : Chaque instance de données contient les parties principales suivantes :
  • 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 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 : Requêtes SQL à exécuter avant la solution ou la prédiction.
  • clean_up_sql : 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 étiquetées.
  • external_knowledge : Les connaissances externes liées à la tâche spécifique.
  • évaluation : Le code d'évaluation est disponible dans le répertoire ./evaluation.
  • Réalisé par : BIRD Team & Google Cloud
  • Licence : cc-by-sa-4.0
  • Carte du jeu de données HuggingFace : bird-interact-lite
et bird-interact-full pour PostgreSQL ; et mini-interact pour SQLite.

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.
Cela créera un nouveau fichier à l'emplacement /path/to/bird_interact_data.jsonl contenant les données combinées.

(2) Remplacez ensuite les données publiques originales par les données combinées :

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

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.