Web Analytics

BIRD-Interact

⭐ 678 stars Japanese by bird-bench

🌐 言語

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

License Leaderboard HuggingFace Python OpenAI

⚠️ お知らせ

評価プロセスの前に、Dockerがデータベースをロードする際、環境の不一致によるエラーが時折発生する場合があります(これらはプロセスを停止しませんが、Dockerログに表示されます)。その結果、一部のデータベースが正常にロードされず、空のデータベースとなることがあります。これにより評価結果が異常に低くなる場合があります。 👉 したがって、評価を実行する前にDockerログを確認し、エラーがないかチェックし、すべてのデータベースが正常にロードされていることを確認することを強く推奨します。

👉 カスタマイズされたエージェントスキャフォールドがサポートされる提出ガイドラインを更新しました。詳細な提出ガイドラインはこちらをご覧ください。

📰 ニュース

インタラクティブなText-to-SQLベンチマークの詳細、手法、評価を掲載しています。 👉 BIRD-Interactの背景やアイデアをぜひご覧ください。

難易度が高く — 最良のLLMでも成功率はわずか 16.33%c-interacta-interact部分では 10.0% のみです。 👉 詳細については、プロジェクトウェブサイトをご覧ください。

早期アクセスをご希望の場合は、サイトの指示に従ってメールを送信してください。自動ダウンロードが可能です。

完全版の LiveSQLBench-Base および -Large バージョンも近日公開予定です!

🧸 概要

BIRD-INTERACTはインタラクティブなtext-to-SQLベンチマークであり、ダイナミックな対話という観点からText-to-SQL評価を再構築します。 この環境は階層型ナレッジベース、データベースドキュメント、関数駆動型ユーザーシミュレータを組み合わせ、実際のエンタープライズ環境をCRUD操作全体で再現します。 2つの厳格なテストモード:(1)受動的な会話型インタラクションと(2)能動的なエージェンティックインタラクションを提供し、各600件の注釈付きタスク(BI、CRUD操作など)には実行可能なテストケースが用意されています。 一般的な評価ではモデルとユーザーシミュレータ間で1,968~5,496ターンの対話が発生し、最先端の推論モデルでも現状約24%および約18%のタスクしか解決できておらず、本ベンチマークの難易度を示しています。

✅ 2つの評価モード

BIRD-INTERACTは上記の2つの評価モードをサポートしています:

🐣 ライト版

BIRD-INTERACTのライト版 bird-interact-lite-exp を公開します。これはPostgreSQL用の高品質な実タスク270件を含み、素早い実験の出発点として最適です。

🦜 フルバージョン

BIRD-INTERACTのフルバージョン bird-interact-full は600件のPostgreSQLタスクを含む包括的なベンチマークです。広範なSQL操作とユーザー問い合わせを網羅しています。フルバージョンは近日公開予定です。

BIRD-INTERACT-FULLにおけるモデル性能結果

#### 1. c-Interact Text-to-SQL パフォーマンス | 順位 | モデル名 | 正規化報酬 | 平均コスト(USD)/タスク | レベル | |:----:|:----------------------|:-------------------:|:-----------------------:|:--------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 優秀なチャット | | 2 | O3-Mini | 20.27 | $0.07 | 🏆 優秀なチャット | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 良好なチャット | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 良好なチャット | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ 標準 | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ 標準 | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ 基本 |

#### 2. a-Interact Text-to-SQL パフォーマンス | 順位 | モデル名 | 正規化報酬 | 平均コスト(USD)/タスク | レベル | |:----:|:----------------------|:-------------------:|:-----------------------:|:------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 優秀な対話 | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 優秀な対話 | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 良好な対話 | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 良好な対話 | | 5 | O3-Mini | 16.43 | $0.06 | ✨ 標準 | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ 標準 | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ 基本 |

\ 予算パラメータ:開始予算/ユーザー忍耐予算は、仮想通貨 bird-coin* で測定されます。詳細は bird_interact_agent/README.md を参照してください。

Interaction-Time Scaling(ITS)

Interaction-Time Scaling(ITS)とは、モデルが複数回の対話を通じて最終的なパフォーマンスを継続的に向上させる能力を指します。この対話的パフォーマンスが、完全に仕様化された明確なタスクにおける理想化された単一ターンのモデル性能を上回る場合、ITS法則を満たすといいます。ユーザーの忍耐が増し、対話ターンが蓄積されることで、パフォーマンスが向上し続け、モデルが長時間の対話でも効果的なコミュニケーションを維持できることを示します。現在、ITS法則を満たすのは claude-3-7-sonnet のみです。

環境セットアップ

> bird-interact-lite のみで評価したい場合は、環境セットアップの高速化のため postgresql_full サービスdocker-compose.yml でコメントアウトできます。 環境を起動するには次のコマンドを実行してください:
   cd env
   docker compose pull 
   docker compose up -d
   ``
   データベースの初期化が完了するまで数分待ちます。
   
  ビルドの進行状況は以下で追跡できます。
  `bash
  docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
  `
  完了した場合、エラーなしでログが表示されるはずです。

`bash bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection ` 以前にコンテナを作成していて再作成したい場合は、次のコマンドを実行できます。 `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. ` これはDocker Hubからの事前構築済みイメージを使用して3つのコンテナを起動します:

  • bird_interact_postgresql: bird-interact-lite用のPostgreSQLデータベース
  • bird_interact_postgresql_full: bird-interact-full用のPostgreSQLデータベース
  • bird_interact_eval: a-Interactおよびc-Interact両方の評価環境
次のコマンドを実行することで評価環境を開始できます: `bash docker compose exec bird_interact_eval bash `
  • (オプション)環境を手動で構築する(イメージをゼロから作成したい場合):
  • データベースダンプをダウンロード
  • bird-interact-lite。解凍して env/postgre_table_dumps にリネームしてください。
  • bird-interact-full。解凍して env/postgre_table_dumps_full にリネームしてください。
  • docker-compose.build.yml を実行して環境を手動で構築します。
`bash cd env/ docker compose -f docker-compose.build.yml build docker compose -f docker-compose.build.yml up -d `

  • (推奨)データベースコンテナが正常に構築され、稼働していることを確認してください。
  • コンテナの構築ログを表示し、データベースがエラーなく正常に構築されていることを確認します。
`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 ` エラーが発生した場合、ログファイルに「インポート中にエラーが発生しました:」が出力されます。

  • データベースコンテナが正常であることを確認してください。
提供されたPythonスクリプトを使用してデータベースメタデータを検証してください。
`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 ` 期待される結果:
  • bird-interact-lite:
  • 📈 総データベース数: 18
  • 📋 総テーブル数: 175
  • 🔢 総カラム数: 2286
  • 📈 テーブルごとの平均行数: 1,038.48
  • 💾 総サイズ: 207.15 MB(おおよそ)
  • bird-interact-full:
  • 📈 総データベース数: 22
  • 📋 総テーブル数: 244
  • 🔢 総カラム数: 2011
  • 📈 テーブルごとの平均行数: 1,121.19
  • 💾 総サイズ: 272.00 MB(おおよそ)

📦 データセット詳細

データセットの説明

  • データベース: 完全なPostgreSQLデータベースは bird-interact-lite および bird-interact-full からダウンロードできます。
  • data: 各データインスタンスには以下の主要な部分が含まれます:
  • selected_database: データベース名。
  • query: 曖昧性のないユーザー問い合わせ。
  • amb_user_query: 曖昧さを加えたユーザー問い合わせ。
  • user_query_ambiguity: ユーザー問い合わせに挿入された曖昧性。
  • non_critical_ambiguity: 並び順や上限などの非クリティカルな曖昧性。
  • knowledge_ambiguity: 外部知識をマスキングして生じた曖昧性。
  • sol_sql: 正解SQLソリューション。
  • preprocess_sql: ソリューションや予測を実行する前に実行するSQLクエリ。
  • clean_up_sql: テストケース実行後、データベースの変更を元に戻すためのSQLクエリ。
  • test_cases: 予測された修正SQLを検証するテストケースのセット。
  • follow_up: ラベル付けされたフォローアップ質問。
  • external_knowledge: 特定のタスクに関連する外部知識。
  • evaluation: 評価コードは ./evaluation ディレクトリにあります。
  • キュレーション: BIRDチーム & Google Cloud
  • ライセンス: cc-by-sa-4.0
  • HuggingFace データセットカード: PostgreSQL用 bird-interact-lite
および bird-interact-full;SQLite用 mini-interact

データセットの利用

自動クロールによるデータリークを防ぐため、GTソリューションSQLとテストケースはデータと一緒には含めていません。 bird-interact-liteまたはbird-interact-fullデータセットのグラウンドトゥルースおよびテストケースについては、タイトルに [bird-interact-lite GT&Test Cases] または [bird-interact-full GT&Test Cases] のタグを付けて bird.bench25@gmail.com までメールを送ってください。自動的に送付されます。

公開データとグラウンドトゥルースおよびテストケースの結合

次に、以下のスクリプトを利用して公開データとグラウンドトゥルースおよびテストケースを結合します。

フルバージョンの例: (1) 実行:

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.
これにより、結合されたデータを含む新しいファイルが /path/to/bird_interact_data.jsonl に作成されます。

(2) 次に、元の公開データを結合データで置き換えます。

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

他のバージョン(bird-interact-lite、miniバージョンなど)についても同様です。パブリックデータ、正解データ、テストケースのパスを正しく設定し、その後パブリックデータを結合データに置き換えてください。