Web Analytics

BIRD-Interact

⭐ 678 stars Spanish by bird-bench

🌐 Idioma

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Licencia Tabla de posiciones HuggingFace Python OpenAI

⚠️ 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

Presenta todos los detalles, metodología y evaluación de nuestro benchmark interactivo de texto a SQL. 👉 Léalo y conozca más sobre las ideas detrás de BIRD-Interact.

Es un reto difícil — los mejores LLMs solo logran una tasa de éxito de 16.33%, con apenas 10.0% en las porciones c-interact y a-interact. 👉 Para más detalles, por favor 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 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:

🐣 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

> Si solo quieres 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.
  • 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.
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.