BIRD-INTERACT 1.0

⚠️ Объявление
Обратите внимание, что перед процессом оценки при загрузке баз данных Docker могут периодически возникать ошибки из-за несоответствия среды (они не завершат процесс, но появятся в логах Docker). В результате некоторые базы данных могут загрузиться некорректно, что приведет к пустым базам. Это вызовет аномально низкие результаты оценки. 👉 Поэтому мы настоятельно рекомендуем проверить логи Docker на наличие ошибок перед запуском оценки и убедиться, что все базы данных успешно загружены.👉 Мы обновили Правила подачи заявок, теперь поддерживаются пользовательские шаблоны агентов. Пожалуйста, ознакомьтесь с подробными правилами подачи заявок здесь.
📰 Новости
- [2026-02-08] 🔥🔥🔥 Наша Bird-Interact статья принята на ICLR 2026 (Oral)! Увидимся в Рио 🇧🇷!
- [2025-11-06] 🐛 Исправление ошибки & 🐳 Обновление Docker: Обновлена версия sqlglot до 26.16.4 для устранения ошибки, когда SQL парсер не может корректно разобрать SQL для пользовательского симулятора. Исправить это можно путем повторной установки через
pip install sqlglot==26.16.4в средеbird_interact_eval. Также обновлен образbird_interact_eval, его можно скачать и пересоздать контейнерbird_interact_eval. - [2025-10-21] 🐳 Обновление Docker: Мы добавили docker для полной среды DB. И мы загрузили 3 docker-образа (Base/Full DB Env и среду оценки для
a-Interactиc-Interact) на Docker Hub для облегчения настройки среды. Теперь не нужно скачивать дампы баз данных и вручную собирать образы! - [2025-10-08] 📝 Наша Bird-Interact статья теперь доступна публично!
- [2025-08-26] 🚀 Мы рады объявить о выходе набора BIRD-Interact-Full (600)!
c-interact и a-interact всего 10.0%.
👉 Для получения подробной информации посетите наш сайт проекта.- [2025-08-26] 📬 На этой неделе мы отправим Ground Truth & Test cases по нашей рассылке.
- [2025-08-26] 💾 Кроме того, мы выпустили SQLite-версию LiveSQLBench-Lite для удобных локальных исследований.
- [2025-08-22] Исправление ошибки: В коде Bird-Interact-Agent мы исправили ошибку, при которой при оценке SQL на фазе-2 сохранённый SQL из фазы-1 не мог быть успешно выполнен, что приводило к низкой успешности фазы-2. Эта ошибка затрагивала только те задачи, где SQL фазы-1 выполняет операции с базой данных, например, CREATE table и т.д.
🧸 Обзор
BIRD-INTERACT — это интерактивный бенчмарк text-to-SQL, который переосмысляет оценку Text-to-SQL через призму динамических взаимодействий. Окружение сочетает иерархическую базу знаний, документацию базы данных и пользовательский симулятор на основе функций для воссоздания реальных корпоративных сценариев с полным набором операций CRUD. Доступны два строгих режима тестирования: (1) пассивный Conversational Interaction и (2) активный Agentic Interaction, охватывающие 600 аннотированных задач, включая бизнес-аналитику (BI), CRUD-операции и т.д., каждая снабжена исполняемыми тест-кейсами. Обычная оценка запускает от 1 968 до 5 496 раундов взаимодействия между моделью и симулятором пользователя, при этом современные модели рассуждения решают только ≈24% и ≈18% задач, что подчеркивает сложность бенчмарка.
✅ Два режима оценки
BIRD-INTERACT поддерживает два режима оценки, указанных выше:
- c-Interact: Conversational Interaction — пассивный режим с фиксированным workflow. Код и подробности доступны в
bird_interact_conv. - a-Interact: Agentic Interaction — это активный режим с олицетворением, где workflow динамический и задаётся моделями. Код и подробности доступны в
bird_interact_agent.
🐣 Облегчённая версия
Мы выпускаем облегченную версию BIRD-INTERACT, bird-interact-lite-exp, которая включает 270 высококачественных реальных задач специально для PostgreSQL. Это хороший старт для быстрой апробации.
🦜 Полная версия
Полная версия BIRD-INTERACT, bird-interact-full, — это масштабный бенчмарк, включающий 600 задач для PostgreSQL. Он охватывает широкий спектр SQL-операций и пользовательских запросов. Полная версия скоро будет доступна.
Результаты моделей на BIRD-INTERACT-FULL
#### 1. c-Interact Text-to-SQL Результаты | Rank | Название модели | Нормализованная награда | Средняя стоимость (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 Производительность | Rank | Название модели | Нормализованная награда | Средняя стоимость (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*s. Подробности смотрите в bird_interact_agent/README.md.
Масштабирование времени взаимодействия (ITS)
Масштабирование времени взаимодействия (ITS) относится к способности модели непрерывно увеличивать итоговую производительность за счет многократных взаимодействий. Если эта интерактивная производительность превосходит идеализированную производительность модели при однократном выполнении полностью определенной, недвусмысленной задачи, считается, что модель удовлетворяет закону ITS. По мере роста терпения пользователя и увеличения числа интеракций производительность продолжает расти, демонстрируя, что модель способна поддерживать эффективное общение в длительном диалоге. На данный момент мы обнаружили, что только claude-3-7-sonnet удовлетворяет закону ITS.
Настройка среды
- Запустите контейнеры Docker для базы данных bird-interact-lite, базы данных bird-interact-full и среды оценки:
bird-interact-lite, можете закомментировать postgresql_full service в 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.
`
Это запускает 3 контейнера, используя предсозданные образы из Docker Hub:
bird_interact_postgresql: база данных PostgreSQL для bird-interact-lite
bird_interact_postgresql_full: база данных PostgreSQL для bird-interact-full
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
`
Если возникают ошибки, в файлах журнала будет выведено "Errors occurred during import:".- Проверьте состояние контейнеров базы данных.
Используйте предоставленный нами скрипт на 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 МБ (примерно)
- bird-interact-full:
- 📈 Всего баз данных: 22
- 📋 Всего таблиц: 244
- 🔢 Всего столбцов: 2011
- 📈 Среднее количество строк на таблицу: 1 121,19
- 💾 Общий размер: 272,00 МБ (примерно)
📦 Детали набора данных
Описание набора данных
- База данных: Полная база данных 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: bird-interact-lite
и bird-interact-full
Использование набора данных
Чтобы избежать утечки данных при автоматическом сканировании, мы не включаем эталонные SQL-решения и тестовые примеры вместе с данными.
Пожалуйста, отправьте письмо на bird.bench25@gmail.com с тегом
[bird-interact-lite GT&Test Cases] или [bird-interact-full GT&Test Cases] в заголовке для получения эталонных ответов и тестовых примеров для наборов данных bird-interact-lite или bird-interact-full, которые будут высланы автоматически.Объединение публичных данных с эталонными ответами и тестовыми примерами
Затем используйте следующий скрипт для объединения публичных данных с эталонными ответами и тестовыми примерами:
В качестве примера возьмём полную версию:
(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.
bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlЭто создаст новый файл по адресу/path/to/bird_interact_data.jsonlс объединёнными данными.(2) Затем замените исходные общедоступные данные на объединённые данные:
То же самое для других версий: bird-interact-lite, мини-версия и т.д. Просто укажите правильные пути к открытым данным, эталонным данным и тестовым случаям, а затем замените открытые данные на объединенные данные.
. Подробности смотрите в