Web Analytics

BIRD-Interact

⭐ 598 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% успешных попыток, а на частях c-interact и a-interact всего 10.0%. 👉 Для получения подробной информации посетите наш сайт проекта.

Если вы хотите получить ранний доступ, пожалуйста, отправьте письмо согласно инструкции на сайте для автоматической загрузки.

Полные версии 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 Результаты | 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.

Настройка среды

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