Web Analytics

BIRD-Interact

⭐ 453 stars Russian 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% успешных попыток, и лишь 10.0% на разделах c-interact и a-interact. 👉 Подробнее читайте на сайте проекта.

Если вы хотите получить ранний доступ, отправьте письмо согласно инструкции на сайте для автоматической загрузки. Полные версии LiveSQLBench-Base и -Large скоро будут доступны!

🧸 Обзор

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 поддерживает два режима оценки, как указано выше:

🐣 Лёгкая версия

Мы выпускаем облегченную версию 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.

Настройка окружения

> Если вы хотите оценить только на 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.
Это создаст новый файл по адресу /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, мини-версия и т.д. Просто укажите правильные пути к открытым данным, эталонным данным и тестовым случаям, а затем замените открытые данные на объединенные данные.