Web Analytics

BIRD-Interact

⭐ 453 stars Spanish by bird-bench

🌐 Idioma

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Licencia Tabla de Clasificación HuggingFace Python OpenAI

⚠️ Aviso

Tenga en cuenta que antes de su proceso de evaluación, cuando Docker carga las bases de datos, pueden ocurrir errores ocasionalmente debido a la inconsistencia del entorno (estos no finalizarán el proceso pero aparecerán en los registros de Docker). Como resultado, algunas bases de datos pueden no cargarse correctamente, lo que lleva a bases de datos vacías. Esto hará que los resultados de la evaluación sean anormalmente bajos. 👉 Por lo tanto, recomendamos encarecidamente revisar los registros de Docker para detectar cualquier error 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 admiten plantillas personalizadas para agentes. No dude en consultar nuestras directrices detalladas de envío aquí.

📰 Noticias

Presenta todos los detalles, la metodología y la evaluación de nuestro benchmark interactivo de texto a SQL. 👉 Échele un vistazo y conozca más sobre las ideas detrás de BIRD-Interact.

Es difícil: los mejores LLMs solo alcanzan una tasa de éxito de 16.33%, con solo 10.0% en las partes de c-interact y a-interact. 👉 Para más detalles, visite nuestro sitio web del proyecto.

Si desea acceso anticipado, envíe un correo electrónico como se indica en el sitio para una descarga automática.

Las versiones completas LiveSQLBench-Base y -Large estarán disponibles pronto.

🧸 Descripción general

BIRD-INTERACT, un benchmark interactivo de text-to-SQL, reimagina la evaluación de Text-to-SQL a través de interacciones dinámicas. El entorno combina una base de conocimiento jerárquica, documentación de base de datos y un simulador de usuario orientado a funciones para recrear entornos empresariales auténticos en operaciones completas CRUD. Ofrece dos modos de prueba rigurosos: (1) Interacción Conversacional pasiva y (2) Interacción Agéntica activa, abarcando 600 tareas anotadas que incluyen Inteligencia de Negocios (BI), operaciones CRUD, etc., cada una protegida 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 más avanzados actualmente resuelven solo ≈24% y ≈18% de las tareas, lo que resalta el desafío del benchmark.

✅ Dos modos de evaluación

BIRD-INTERACT admite dos modos de evaluación como se mencionó anteriormente:

🐣 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 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 del desempeño de modelos en BIRD-INTERACT-FULL

#### 1. Desempeño de c-Interact Text-to-SQL | Rango | Nombre del Modelo | Recompensa Normalizada | Costo Promedio (USD)/Tarea | Nivel | |:-----:|:-------------------|:----------------------:|:--------------------------:|:------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 Excelente Chat | | 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 Prom. (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 | 💎 Buena Interacción | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 Buena Interacción | | 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 incrementar continuamente su rendimiento final mediante interacciones de múltiples turnos. Cuando este rendimiento interactivo supera el rendimiento idealizado de un solo turno del modelo en una tarea completamente especificada y sin ambigüedades, decimos que cumple la ley ITS. A medida que la paciencia del usuario crece y se acumulan los turnos de interacción, el rendimiento sigue mejorando, demostrando que el modelo puede mantener una comunicación efectiva durante diálogos prolongados. Actualmente, solo encontramos que claude-3-7-sonnet cumple la ley ITS.

Configuración del Entorno

> Si solo deseas evaluar en 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.
  • data: 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: Ambigüedades no críticas como orden, límite, etc.
  • knowledge_ambiguity: Ambigüedades generadas por conocimientos externos enmascarados.
  • 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 los cambios realizados 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: Equipo BIRD & Google Cloud
  • Licencia: cc-by-sa-4.0
  • Tarjeta de conjunto de datos en HuggingFace: bird-interact-lite
y bird-interact-full

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.
Esto creará un nuevo archivo en /path/to/bird_interact_data.jsonl con los datos combinados.

(2) Luego, reemplace los datos públicos originales con los datos combinados:

bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonl

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.