Web Analytics

BIRD-Interact

⭐ 598 stars French by bird-bench

🌐 Langue

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Licence Classement 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 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

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 difficile — les meilleurs LLM n’atteignent 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 e-mail 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 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 :

🐣 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

> 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. 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.
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.