Web Analytics

BIRD-Interact

⭐ 678 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) пассивное Разговорное взаимодействие и (2) активное Агентное взаимодействие, охватывающих 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* . Подробнее см. в 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.
  • Куратор: Команда BIRD и Google Cloud
  • Лицензия: cc-by-sa-4.0
  • Карта набора данных HuggingFace: bird-interact-lite
и bird-interact-full для PostgreSQL; и mini-interact для SQLite.

Использование набора данных

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