BIRD-INTERACT 1.0

⚠️ Aviso
Por favor tenga en cuenta que antes del proceso de evaluación, cuando Docker carga las bases de datos, pueden ocurrir errores ocasionalmente debido a la inconsistencia del entorno (estos no terminarán el proceso pero aparecerán en los registros de Docker). Como resultado, algunas bases de datos pueden no cargarse correctamente, llevando a bases de datos vacías. Esto causará que los resultados de evaluación sean anormalmente bajos. 👉 Por lo tanto, recomendamos encarecidamente revisar los registros de Docker en busca de errores antes de ejecutar la evaluación y verificar que todas las bases de datos se hayan cargado correctamente.👉 Hemos actualizado las Directrices de Envío, donde se soportan los andamios personalizados para agentes. Por favor, revise nuestras directrices detalladas de envío aquí.
📰 Noticias
- [2026-03-29] 🔥🔥🔥 BIRD-Interact-ADK: Lanzamos BIRD-Interact-ADK, una implementación basada en Google ADK con arquitectura modular de 3 microservicios (agente, simulador de usuario y entorno de BD). Cambie fácilmente su propio agente, simulador de usuario o entorno de base de datos. Soporta ejecución paralela y cualquier proveedor LLM compatible con LiteLlm. Recomendamos usar esta implementación para su investigación.
- [2026-02-08] 🔥🔥🔥 ¡Nuestro artículo Bird-Interact ha sido aceptado en ICLR 2026 (Oral)! ¡Nos vemos en Río 🇧🇷!
- [2025-11-06] 🐛 Corrección de errores & 🐳 Actualización de Docker: Actualizamos la versión de sqlglot a 26.16.4 para corregir el error de que el analizador SQL no puede interpretar correctamente el SQL para el simulador de usuario. Puede corregir esto reinstalando con
pip install sqlglot==26.16.4en el entornobird_interact_eval. También se actualizó la imagenbird_interact_eval, por lo que puede descargarla y recrear el contenedorbird_interact_eval. - [2025-10-21] 🐳 Actualización de Docker: Agregamos el docker para el Entorno de BD Completo. Y hemos subido 3 imágenes de docker (Base/Entorno de BD Completo y el entorno de evaluación para
a-Interactyc-Interact) a Docker Hub para facilitar la configuración del entorno. ¡No es necesario descargar los volcados de BD ni construir las imágenes manualmente! - [2025-10-08] 📝 Nuestro artículo Bird-Interact ya está disponible públicamente!
- [2025-08-26] 🚀 ¡Estamos emocionados de anunciar el lanzamiento del conjunto BIRD-Interact-Full (600)!
c-interact y a-interact.
👉 Para más detalles, por favor visite nuestro sitio web del proyecto.- [2025-08-26] 📬 Esta semana enviaremos los casos de referencia y prueba a nuestra lista de correo.
- [2025-08-26] 💾 Por otro lado, también hemos publicado una versión SQLite de LiveSQLBench-Lite para facilitar la investigación local.
- [2025-08-22] Corrección de Error: En el código de Bird-Interact-Agent, corregimos un error que al evaluar SQL de la fase-2, el SQL almacenado de la fase-1 no se podía ejecutar correctamente, lo que provocaba una menor tasa de éxito en la fase-2. Este error solo afecta a tareas donde el sql de la fase1 realiza operaciones en la base de datos, como CREATE table, etc.
🧸 Descripción General
BIRD-INTERACT, un benchmark interactivo de texto a SQL, reimagina la evaluación Text-to-SQL desde la perspectiva de interacciones dinámicas. El entorno combina una base de conocimiento jerárquica, documentación de bases de datos y un simulador de usuario orientado a funciones para recrear entornos empresariales auténticos en operaciones completas CRUD. Ofrece dos modos rigurosos de prueba: (1) Interacción Conversacional pasiva y (2) Interacción Agéntica activa, abarcando 600 tareas anotadas incluyendo Inteligencia de Negocios (BI), operaciones CRUD, etc., cada una respaldada por casos de prueba ejecutables. Las evaluaciones típicas generan entre 1,968 y 5,496 turnos de interacción entre el modelo y el simulador de usuario, mientras que los modelos de razonamiento de última generación solo resuelven ≈24% y ≈18% de las tareas, resaltando el desafío del benchmark.
✅ Dos Modos de Evaluación
BIRD-INTERACT soporta dos modos de evaluación como se mencionó arriba:
- c-Interact: Interacción Conversacional, que es un modo pasivo y el flujo de trabajo es fijo. El código y la información detallada se encuentran en
bird_interact_conv. - a-Interact: Interacción Agéntica, que es un modo activo incorporado donde el flujo de trabajo es dinámico y dirigido por modelos. El código y la información detallada se encuentran en
bird_interact_agent.
🐣 Versión Lite
Estamos lanzando una versión lite de BIRD-INTERACT, bird-interact-lite-exp, que incluye 270 tareas reales de alta calidad específicamente para PostgreSQL. Es un buen punto de partida para una experimentación rápida.
🦜 Versión Completa
La versión completa de BIRD-INTERACT, bird-interact-full, es un benchmark integral que incluye 600 tareas para PostgreSQL. Cubre una amplia gama de operaciones SQL y consultas de usuario. La versión completa estará disponible pronto.
Resultados de Desempeño de Modelos en BIRD-INTERACT-FULL
#### 1. c-Interact Text-to-SQL Rendimiento | Rango | Nombre del Modelo | Recompensa Normalizada | Costo Promedio (USD)/Tarea | Nivel | |:-----:|:----------------------|:----------------------:|:--------------------------:|:---------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Chat Excelente | | 2 | O3-Mini | 20.27 | $0.07 | 🏆 Chat Excelente | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 Chat Bueno | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 Chat Bueno | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ Estándar | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ Estándar | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ Básico |
#### 2. a-Interact Text-to-SQL Rendimiento | Rango | Nombre del Modelo | Recompensa Normalizada | Costo Promedio (USD)/Tarea | Nivel | |:-----:|:----------------------|:----------------------:|:--------------------------:|:-------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 Interacción Excelente | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 Interacción Excelente | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 Interacción Buena | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Interacción Buena | | 5 | O3-Mini | 16.43 | $0.06 | ✨ Estándar | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ Estándar | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ Básico |
\ Parámetros de presupuesto: Presupuesto inicial/Presupuesto de paciencia del usuario, medido por nuestra moneda virtual bird-coin*s. Consulta bird_interact_agent/README.md para más detalles.
Escalado del Tiempo de Interacción (ITS)
El Escalado del Tiempo de Interacción (ITS) se refiere a la capacidad de un modelo para aumentar continuamente su rendimiento final mediante interacciones de varios turnos. Cuando este rendimiento interactivo supera el rendimiento idealizado de un solo turno en una tarea completamente especificada y no ambigua, decimos que satisface la ley ITS. A medida que crece la paciencia del usuario y se acumulan los turnos de interacción, el rendimiento sigue mejorando, demostrando que el modelo puede mantener una comunicación efectiva durante un diálogo prolongado. Actualmente, solo encontramos que claude-3-7-sonnet satisface la ley ITS.
Configuración del Entorno
- Ejecuta los contenedores Docker para la base de datos bird-interact-lite, la base de datos bird-interact-full y el entorno de evaluación:
bird-interact-lite, puedes comentar el servicio postgresql_full en docker-compose.yml para acelerar la configuración del entorno.
Inicia el entorno ejecutando:
cd env
docker compose pull
docker compose up -d
``
Espere varios minutos para la inicialización de la base de datos.
Puede seguir el progreso de la construcción mediante:
`bash
docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
`
Si ha finalizado, debería ver los registros sin errores como:
`bash
bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection
`
Si ha creado contenedores antes y desea recrearlos, puede ejecutar el siguiente comando:
`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.
`
Esto ejecuta 3 contenedores usando imágenes preconstruidas de Docker Hub:
bird_interact_postgresql: Base de datos PostgreSQL para bird-interact-lite
bird_interact_postgresql_full: Base de datos PostgreSQL para bird-interact-full
bird_interact_eval: Entorno de evaluación para ambos a-Interact y c-Interact. Ahora, puedes iniciar el entorno de evaluación ejecutando el siguiente comando:
`bash
docker compose exec bird_interact_eval bash
`
- (Opcional) Construya el entorno manualmente (si desea crear las imágenes desde cero):
- Descargue los volcados de la base de datos
- bird-interact-lite. Descomprima y renómbrelo como
env/postgre_table_dumps.
bird-interact-full. Descomprima y renómbrelo como env/postgre_table_dumps_full.
Construya el entorno manualmente ejecutando docker-compose.build.yml.
`bash
cd env/
docker compose -f docker-compose.build.yml build
docker compose -f docker-compose.build.yml up -d
`- (Recomendado) Verifique que los contenedores de la base de datos estén construidos y funcionando correctamente.
- Imprima los registros de construcción de los contenedores para asegurarse de que las bases de datos se hayan construido correctamente sin errores:
`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
`
Si se producen errores, se imprimirá "Se produjeron errores durante la importación:" en los archivos de registro.- Verifique si los contenedores de la base de datos están en buen estado.
Use nuestro script de Python proporcionado para verificar los metadatos de la base de datos:
`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
`
Resultados esperados:
- bird-interact-lite:
- 📈 Bases de datos totales: 18
- 📋 Tablas totales: 175
- 🔢 Columnas totales: 2286
- 📈 Promedio de filas por tabla: 1,038.48
- 💾 Tamaño total: 207.15 MB (aproximadamente)
- bird-interact-full:
- 📈 Bases de datos totales: 22
- 📋 Tablas totales: 244
- 🔢 Columnas totales: 2011
- 📈 Promedio de filas por tabla: 1,121.19
- 💾 Tamaño total: 272.00 MB (aproximadamente)
📦 Detalles del conjunto de datos
Descripción del conjunto de datos
- Base de datos: La base de datos completa de PostgreSQL se puede descargar desde bird-interact-lite y bird-interact-full.
- datos: Cada instancia de datos contiene las siguientes partes principales:
selected_database: El nombre de la base de datos.
query: La consulta de usuario no ambigua.
amb_user_query: La consulta de usuario con ambigüedades inyectadas.
user_query_ambiguity: Las ambigüedades inyectadas en la consulta de usuario.
non_critical_ambiguity: Las ambigüedades no críticas como orden, límite, etc.
knowledge_ambiguity: Las ambigüedades creadas al enmascarar conocimientos externos.
sol_sql: La solución SQL de referencia.
preprocess_sql: Consultas SQL para ejecutar antes de la solución o predicción.
clean_up_sql: Consultas SQL para ejecutar después de los casos de prueba para revertir cualquier cambio realizado en la base de datos.
test_cases: Un conjunto de casos de prueba para validar el SQL corregido predicho.
follow_up: Las preguntas de seguimiento etiquetadas.
external_knowledge: El conocimiento externo relacionado con la tarea específica.evaluación: El código de evaluación está disponible en el directorio ./evaluation.
Curado por: BIRD Team & Google Cloud
Licencia: cc-by-sa-4.0
Tarjeta del conjunto de datos en HuggingFace: bird-interact-lite
y bird-interact-full para PostgreSQL; y mini-interact para SQLite.
Usos del Conjunto de Datos
Para evitar la fuga de datos por auto-raspado, no incluimos las soluciones GT sql y los casos de prueba junto con los datos.
por favor envíe un correo electrónico a bird.bench25@gmail.com con la etiqueta
[bird-interact-lite GT&Test Cases] o [bird-interact-full GT&Test Cases] en el título para la verdad base y los casos de prueba del conjunto de datos bird-interact-lite o bird-interact-full, que serán enviados automáticamente.Combine los datos públicos con la verdad base y los casos de prueba
Luego use el siguiente script para combinar los datos públicos con la verdad base y los casos de prueba:
Tomando la versión completa como ejemplo:
(1) Ejecute:
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.jsonlEsto creará un nuevo archivo en/path/to/bird_interact_data.jsonlcon los datos combinados.(2) Luego, reemplace los datos públicos originales con los datos combinados:
Lo mismo para las otras versiones: bird-interact-lite, versión mini, etc. Solo configura las rutas correctas para los datos públicos, la verdad de terreno y los casos de prueba, y luego reemplaza los datos públicos con los datos combinados.
. Consulta