BIRD-INTERACT 1.0

⚠️ Объявление
Пожалуйста, обратите внимание: перед процессом оценки при загрузке баз данных через Docker могут периодически возникать ошибки из-за несоответствия окружения (они не завершают процесс, но отображаются в логах Docker). В результате некоторые базы данных могут не загрузиться корректно, что приведет к пустым базам. Это вызовет аномально низкие результаты оценки. 👉 Поэтому настоятельно рекомендуем проверить логи Docker на наличие ошибок до запуска оценки и убедиться, что все базы данных успешно загружены.👉 Мы обновили Правила подачи, теперь поддерживаются пользовательские шаблоны агентов. Ознакомьтесь с подробными правилами подачи здесь.
📰 Новости
- [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 для Full DB Env. Также были размещены 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.
👉 Подробнее читайте на сайте проекта.- [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 — пассивный режим с фиксированным процессом работы. Код и подробную информацию можно найти в
bird_interact_conv. - a-Interact: Agentic Interaction — воплощённый активный режим, в котором процесс работы динамичен и управляется моделями. Код и подробную информацию можно найти в
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 Производительность | Место | Название модели | Нормализованная награда | Средняя стоимость (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*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 сервис в 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, мини-версия и т.д. Просто укажите правильные пути к открытым данным, эталонным данным и тестовым случаям, а затем замените открытые данные на объединенные данные.
. Для подробностей обратитесь к