【免费下载链接】BIRD-Interact
[ICLR 2026 Oral] BIRD-INTERACT: Re-imagines Text-to-SQL evaluation via lens of dynamic interactions.
BIRD-Interact 是 ICLR 2026 Oral 论文提出的交互式 Text-to-SQL 评测基准,本文将带你完整获取它的三份数据集:Lite 270 任务、Full 600 任务与 Mini-Interact 300 任务,并搞定 PostgreSQL / SQLite 数据库和 Ground Truth 的合并方法。
一、先认识BIRD-Interact:动态交互的Text-to-SQL基准
BIRD-Interact 重新定义了 Text-to-SQL 的评测方式:不再只看单轮问答,而是让用户模拟器(User Simulator)与模型进行多轮对话,逐步消解用户查询中的歧义(Ambiguity),最终验证模型写出的 SQL 是否能真实执行并通过测试用例。
整个基准由三大部件组成,这也是下载数据集时需要一并准备的内容:
| 组成部件 | 说明 |
|---|---|
| 🗄️ 数据库 | Lite/Full 为 PostgreSQL(18/22 个库),Mini-Interact 为 SQLite |
| 📝 任务数据 | 含歧义注入查询、追问、外部知识等字段 |
| ✅ Ground Truth | 标准答案 SQL 与可执行测试用例(需单独申请) |
该基准提供两种评测模式,下载时可根据研究目标选择:
- c-Interact(对话式交互):被动模式,流程固定——澄清歧义 → 提交 SQL → 追问,对应 bird_interact_conv/ 模块
- a-Interact(智能体式交互):主动模式,Agent 自主决定何时查知识库、何时问用户、何时执行 SQL,对应 bird_interact_agent/ 模块
研究还发现,随着"用户耐心值"(交互轮数预算)增加,部分模型的成功率持续上升,展现出 Interaction-Time Scaling(交互时扩展)现象:
二、三大版本怎么选:Lite 270 / Full 600 / Mini-Interact
| 版本 | 任务数 | 数据库 | 特点 | 适用场景 |
|---|---|---|---|---|
| bird-interact-lite | 270 | PostgreSQL(18 库 / 175 表) | 高质量真实业务任务 | 快速实验、上手首选 |
| bird-interact-full | 600 | PostgreSQL(22 库 / 244 表) | 覆盖 BI、CRUD 全操作,当前最强模型成功率仅约 16% | 严肃研究、刷榜 |
| mini-interact | 300 | SQLite | 仅 SELECT,歧义消解与追问解耦,可本地轻量运行 | 无 Docker 环境、个人快速验证 |
💡 新手建议:先用Lite 270跑通流程,再用Mini-Interact做本地调试,最后上Full 600。
三、第一步:克隆仓库获取评测代码
所有数据集的评测脚本、用户模拟器与合并工具都在仓库中,先克隆(这是唯一需要 clone 的步骤):
git clone https://gitcode.com/gh_mirrors/bi/BIRD-Interact仓库中你后续会用到的关键文件:
- README.md:总览、环境搭建与数据集字段说明
- combine_public_with_gt.py:公开数据与 Ground Truth 的合并脚本
- evaluation/:PostgreSQL 四种数据库类型的评测源码
- mini_interact/README.md:Mini-Interact 数据集说明
四、下载Lite 270与Full 600数据集(PostgreSQL版)
1. 获取公开数据
Lite 与 Full 数据集托管在 HuggingFace 上,在 HuggingFace 搜索框中分别查找数据集卡片:
- Lite:
birdsql/bird-interact-lite(270 任务) - Full:
birdsql/bird-interact-full(600 任务)
下载后将数据集放入对应模块的data/目录,例如 bird_interact_conv/ 或 bird_interact_agent/ 下。
⚠️ 注意:为防止数据泄露,公开数据不含
sol_sql(标准答案)和test_cases(测试用例)字段,需要单独申请(见下节)。
2. 申请Ground Truth与Test Cases
官方邮件会自动发送完整字段文件,只需按格式发送邮件到bird.bench25@gmail.com,标题必须带指定标签:
| 数据集 | 邮件标题标签 |
|---|---|
| bird-interact-lite | [bird-interact-lite GT&Test Cases] |
| bird-interact-full | [bird-interact-full GT&Test Cases] |
3. 合并公开数据与Ground Truth
收到 GT 文件后,用仓库根目录的 combine_public_with_gt.py 按instance_id自动合并。以 Full 为例:
# (1) 生成合并后的完整数据文件 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 # (2) 用合并结果替换原公开数据 cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlLite 与 Mini 版本操作相同,只需替换对应的公开数据与 GT 路径。每条任务数据的核心字段(详见 README.md 的 Dataset Details 一节):
amb_user_query:注入歧义的用户查询sol_sql:Ground Truth SQLtest_cases:验证预测 SQL 的可执行测试用例preprocess_sql/clean_up_sql:执行前后对数据库的预处理与还原follow_up/external_knowledge:追问标注与外部知识
4. 加载PostgreSQL数据库
Lite 与 Full 的数据库有两种获取方式:
方式 A:Docker 预构建镜像(推荐),无需手动下载数据库转储文件:
cd env docker compose pull docker compose up -d这会启动三个容器:bird_interact_postgresql(Lite 数据库)、bird_interact_postgresql_full(Full 数据库)和bird_interact_eval(评测环境)。只跑 Lite 可注释掉postgresql_full服务以加快初始化。
方式 B:手动导入,自行下载 Lite / Full 的数据库转储文件(Google Drive 链接见 README.md Environment Setup 一节),解压后分别重命名为env/postgre_table_dumps与env/postgre_table_dumps_full,再使用docker-compose.build.yml构建镜像。
启动后务必检查数据库是否加载成功,在评测容器内执行:
docker compose exec bird_interact_eval bash cd /app/env python check_db_metadata.py --host bird_interact_postgresql # Lite python check_db_metadata.py --host bird_interact_postgresql_full # Full预期结果:Lite 为18 库 / 175 表 / 2286 列,Full 为22 库 / 244 表 / 2011 列。若日志出现Errors occurred during import:,说明数据库未正确加载,评测分数会异常偏低(官方公告特别强调了这一点)。
五、下载Mini-Interact:SQLite本地轻量版
Mini-Interact 是便携版:300 个 SQLite 任务,歧义消解与追问解耦,无需 Docker 即可本地评测。详细说明见 mini_interact/README.md。
获取步骤:
- 在 HuggingFace 中查找数据集卡片
birdsql/mini-interact,下载其中的 SQLite 数据库文件与mini_interact.jsonl数据文件 - 将 SQLite 数据库放入 mini_interact/knowledge_based/mini_interact_conv/data/ 目录,数据文件放为
data/mini_interact.jsonl - 配置模型 API Key 后,通过 mini_interact/knowledge_based/mini_interact_conv/pipeline/run_Mini_Interact.sh 即可运行对话式评测
当前已发布的版本为知识型歧义(Knowledge-Based)版本,仅支持 SELECT 查询;个性化歧义(Personalized)与 CRUD 操作在路线图中,可关注 mini_interact/README.md 的 Roadmap 表格。
六、进阶:使用BIRD-Interact-ADK并行评测
如果你的研究需要替换 Agent 框架或并行跑实验,可以改用官方 ADK 实现 BIRD-Interact-ADK/。它把系统拆成三个独立微服务:system_agent(6000 端口)、user_simulator(6001 端口)、db_environment(6002 端口),支持任意 LiteLLM 兼容的模型,并通过每任务独立数据库副本实现无锁并发:
其数据集加载逻辑与上文完全一致(Lite 18 库 / Full 22 库),详细步骤见 BIRD-Interact-ADK/README.md。
七、常见问题速查
| 问题 | 解决方法 |
|---|---|
| 评测分数异常低 | 检查 Docker 日志,确认数据库全部加载成功,不要跳过元数据校验 |
数据缺sol_sql/test_cases | 正常现象,公开数据刻意剔除,需邮件申请后用 combine_public_with_gt.py 合并 |
| 跑 Full 时连错数据库 | 将 evaluation/ 中postgresql_utils.py的 host 从bird_interact_postgresql改为bird_interact_postgresql_full |
| 用户模拟器解析 SQL 报错 | 在bird_interact_eval环境执行pip install sqlglot==26.16.4(或重建容器) |
到这里,Lite 270、Full 600 与 Mini-Interact 三份数据集、PostgreSQL / SQLite 数据库以及 Ground Truth 的完整获取链路就跑通了。接下来按 bird_interact_conv/README.md、bird_interact_agent/README.md 的 Quick Start 跑通第一组实验即可,祝你在 BIRD-Interact 排行榜上取得好成绩 🐦
【免费下载链接】BIRD-Interact
[ICLR 2026 Oral] BIRD-INTERACT: Re-imagines Text-to-SQL evaluation via lens of dynamic interactions.
相关推荐
Notepad-- 目录查找替换:十分钟三行命令刷掉整个目录的旧版本号
Notepad 目录查找替换:十分钟三行命令刷掉整个目录的旧版本号 同一个配置值散在四十个文件里,挨个打开逐个改,改到第二十遍就开始怀疑人生。Notepad 是
APScheduler任务结果处理完全指南:如何获取和分析任务执行结果
APScheduler任务结果处理完全指南:如何获取和分析任务执行结果 APScheduler是一个功能强大的Python任务调度库,能够帮助开发者轻松管理定时
任务调度后端learn2learn任务转换教程:如何从任何PyTorch数据集创建小样本任务
learn2learn任务转换教程:如何从任何PyTorch数据集创建小样本任务 小样本学习是元学习中的核心挑战,而learn2learn库提供了强大的任务转换
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考