Web Analytics

BIRD-Interact

⭐ 453 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 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 de l'environnement (celles-ci ne mettront pas fin au processus mais apparaîtront dans les logs Docker). Par conséquent, certaines bases de données peuvent ne pas se charger correctement, ce qui entraîne des bases de données vides. Cela peut provoquer des résultats d'évaluation anormalement bas. 👉 Nous recommandons donc fortement de vérifier les logs Docker pour toute erreur avant de lancer l'évaluation et de vous assurer que toutes les bases de données ont bien été chargées avec succès.

👉 Nous avons mis à jour les Directives de soumission, où les structures d'agents personnalisés sont désormais prises en charge. 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. 👉 Découvrez-le pour en savoir plus sur les idées derrière BIRD-Interact.

C'est une tâche difficile — les meilleurs LLMs n'atteignent qu'un taux de réussite de 16,33%, avec seulement 10,0% sur les parties c-interact et a-interact. 👉 Pour plus de détails, veuillez consulter notre site 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 à 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 piloté par fonctions pour 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 protégé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, soulignant le défi du benchmark.

✅ Deux modes d'évaluation

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

🐣 Version Lite

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. C'est un bon point de départ pour des expérimentations rapides.

🦜 Version Complète

La version complète de BIRD-INTERACT, bird-interact-full, est un benchmark exhaustif incluant 600 tâches pour PostgreSQL. Elle couvre une large gamme d'opérations SQL et de requêtes utilisateurs. 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 $ | 🏆 Excellente conversation | | 3 | Claude-Sonnet-4 | 18,35 | 0,29 $ | 💎 Bonne conversation | | 4 | Qwen-3-Coder-480B | 17,75 | 0,11 $ | 💎 Bonne conversation | | 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 | Rang | Nom du modèle | Récompense normalisée | Coût moyen (USD)/Tâche | Niveau | |:----:|:-------------------|:----------------------:|:-----------------------:|:-------------------------:| | 1 | GPT-5 | 25,52 | 0,24 $ | 🏆 Excellente interaction | | 2 | Claude-Sonnet-4 | 23,28 | 0,51 $ | 🏆 Excellente interaction | | 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 initial/Budget de patience utilisateur, mesuré par notre monnaie virtuelle bird-coin*s . Voir bird_interact_agent/README.md pour plus de détails.

Mise à l’échelle du temps d’interaction (ITS)

La mise à l’échelle du temps d’interaction (ITS) fait référence à la capacité d’un modèle à augmenter continuellement sa performance finale grâce à des interactions multi-tours. Lorsque cette performance interactive dépasse la performance idéalisée du modèle en un seul tour sur une tâche pleinement spécifiée et non ambiguë, 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, seul claude-3-7-sonnet satisfait la loi ITS.

Configuration 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 configuration de l’environnement. Démarrez 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.
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.