Web Analytics

BIRD-Interact

⭐ 678 stars Portuguese by bird-bench

🌐 Idioma

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Licença Tabela de Classificação HuggingFace Python OpenAI

⚠️ Aviso

Observe que, antes do processo de avaliação, quando o Docker carrega os bancos de dados, podem ocorrer erros ocasionalmente devido à inconsistência do ambiente (estes não encerram o processo, mas aparecem nos logs do Docker). Como resultado, alguns bancos de dados podem não ser carregados corretamente, resultando em bancos vazios. Isso fará com que os resultados da avaliação fiquem anormalmente baixos. 👉 Portanto, recomendamos fortemente verificar os logs do Docker em busca de erros antes de executar a avaliação e garantir que todos os bancos de dados tenham sido carregados com sucesso.

👉 Atualizamos as Diretrizes de Submissão, onde agora é permitido o uso de scaffolds de agentes personalizados. Sinta-se à vontade para conferir nossas diretrizes detalhadas de submissão aqui.

📰 Novidades

Ele apresenta todos os detalhes, metodologia e avaliação do nosso benchmark interativo de texto para SQL. 👉 Confira e saiba mais sobre as ideias por trás do BIRD-Interact.

É um desafio — os melhores LLMs atingem apenas 16,33% de taxa de sucesso, com apenas 10,0% nas partes c-interact e a-interact. 👉 Para mais detalhes, por favor visite o nosso site do projeto.

Se quiser acesso antecipado, envie um e-mail conforme instruções no site para um download automático.

As versões completas LiveSQLBench-Base e -Large estarão disponíveis em breve!

🧸 Visão Geral

BIRD-INTERACT, um benchmark interativo de text-to-SQL, reimagina a avaliação de Text-to-SQL através da ótica de interações dinâmicas. O ambiente combina uma base de conhecimento hierárquica, documentação do banco de dados e um simulador de usuário orientado a funções para recriar ambientes empresariais autênticos com operações completas de CRUD. Oferece dois modos rigorosos de teste: (1) Interação Conversacional passiva e (2) Interação Agente ativa, abrangendo 600 tarefas anotadas incluindo Business Intelligence (BI), operações CRUD, etc., cada uma protegida por casos de teste executáveis. Avaliações típicas disparam entre 1.968 e 5.496 turnos de interação entre modelo e simulador de usuário, enquanto modelos de raciocínio de ponta atualmente resolvem apenas ≈24% e ≈18% das tarefas, destacando o desafio do benchmark.

✅ Dois Modos de Avaliação

BIRD-INTERACT suporta dois modos de avaliação conforme mencionado acima:

🐣 Versão Lite

Estamos lançando uma versão lite do BIRD-INTERACT, bird-interact-lite-exp, que inclui 270 tarefas reais de alta qualidade especificamente para PostgreSQL. É um bom ponto de partida para experimentação rápida.

🦜 Versão Completa

A versão completa do BIRD-INTERACT, bird-interact-full, é um benchmark abrangente que inclui 600 tarefas para PostgreSQL. Cobre uma ampla gama de operações SQL e consultas de usuários. A versão completa estará disponível em breve.

Resultados de Performance de Modelos no BIRD-INTERACT-FULL

#### 1. Desempenho do c-Interact Text-to-SQL | Classificação | Nome do Modelo | Recompensa Normalizada | Custo Médio (USD)/Tarefa | Nível | |:-------------:|:----------------------|:----------------------:|:-----------------------:|:--------------------:| | 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 Bom | | 4 | Qwen-3-Coder-480B | 17,75 | $0,11 | 💎 Chat Bom | | 5 | Deepseek-Chat-V3.1 | 15,15 | $0,12 | ✨ Padrão | | 6 | Claude-Sonnet-3.7 | 13,87 | $0,29 | ✨ Padrão | | 7 | GPT-5 | 12,58 | $0,08 | ⚪ Básico |

#### 2. Desempenho do a-Interact Text-to-SQL | Classificação | Nome do Modelo | Recompensa Normalizada | Custo Médio (USD)/Tarefa | Nível | |:-------------:|:----------------------|:----------------------:|:------------------------:|:---------------------------:| | 1 | GPT-5 | 25,52 | $0,24 | 🏆 Interação Excelente | | 2 | Claude-Sonnet-4 | 23,28 | $0,51 | 🏆 Interação Excelente | | 3 | Claude-Sonnet-3.7 | 17,45 | $0,60 | 💎 Interação Boa | | 4 | Gemini-2.5-Pro | 17,33 | $0,22 | 💎 Interação Boa | | 5 | O3-Mini | 16,43 | $0,06 | ✨ Padrão | | 6 | Deepseek-Chat-V3.1 | 13,47 | $0,06 | ✨ Padrão | | 7 | Qwen-3-Coder-480B | 10,58 | $0,07 | ⚪ Básico |

\ Parâmetros de Orçamento: Orçamento Inicial/Orçamento de Paciência do Usuário, medido pela nossa moeda virtual bird-coin*s . Consulte bird_interact_agent/README.md para mais detalhes.

Escalonamento no Tempo de Interação (ITS)

O Escalonamento no Tempo de Interação (ITS) refere-se à capacidade de um modelo de aumentar continuamente seu desempenho final por meio de interações em múltiplos turnos. Quando esse desempenho interativo ultrapassa o desempenho idealizado do modelo em um único turno, em uma tarefa totalmente especificada e sem ambiguidades, dizemos que ele satisfaz a lei ITS. À medida que a paciência do usuário cresce e os turnos de interação se acumulam, o desempenho continua melhorando, demonstrando que o modelo pode sustentar uma comunicação eficaz em diálogos prolongados. Atualmente, apenas o claude-3-7-sonnet satisfaz a lei ITS.

Configuração do Ambiente

> Se você deseja apenas avaliar no bird-interact-lite, pode comentar o serviço postgresql_full em docker-compose.yml para acelerar a configuração do ambiente. Inicie o ambiente executando:
   cd env
   docker compose pull 
   docker compose up -d
   ``
   Aguarde alguns minutos para a inicialização do banco de dados.
   
  Você pode acompanhar o progresso da construção por:
  `bash
  docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite
  `
  Se concluído, você deverá ver os logs sem erros, como:

`bash bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection ` Se você já criou contêineres antes e deseja recriá-los, pode executar o seguinte 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. ` Isso executa 3 containers usando imagens pré-construídas do Docker Hub:

  • bird_interact_postgresql: Banco de dados PostgreSQL para bird-interact-lite
  • bird_interact_postgresql_full: Banco de dados PostgreSQL para bird-interact-full
  • bird_interact_eval: Ambiente de avaliação para ambos a-Interact e c-Interact.
Agora, você pode iniciar o ambiente de avaliação executando o seguinte comando: `bash docker compose exec bird_interact_eval bash `

  • (Opcional) Construa o ambiente manualmente (se quiser criar as imagens do zero):
  • Baixe os dumps do banco de dados
  • bird-interact-lite. Extraia e renomeie como env/postgre_table_dumps.
  • bird-interact-full. Extraia e renomeie como env/postgre_table_dumps_full.
  • Construa o ambiente manualmente executando 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 se os containers de banco de dados foram construídos e estão em execução com sucesso.
  • Imprima os logs de construção dos containers para garantir que os bancos de dados foram construídos com sucesso, sem erros:
`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 ` Se ocorrerem erros, "Ocorreram erros durante a importação:" será impresso nos arquivos de log.

  • Verifique se os containers de banco de dados estão em bom estado.
Use nosso script Python fornecido para verificar os metadados do banco de dados:
`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:
  • 📈 Total de Bancos de Dados: 18
  • 📋 Total de Tabelas: 175
  • 🔢 Total de Colunas: 2286
  • 📈 Média de Linhas por Tabela: 1.038,48
  • 💾 Tamanho Total: 207,15 MB (aproximadamente)
  • bird-interact-full:
  • 📈 Total de Bancos de Dados: 22
  • 📋 Total de Tabelas: 244
  • 🔢 Total de Colunas: 2011
  • 📈 Média de Linhas por Tabela: 1.121,19
  • 💾 Tamanho Total: 272,00 MB (aproximadamente)

📦 Detalhes do Conjunto de Dados

Descrição do Conjunto de Dados

  • Banco de Dados: O banco de dados PostgreSQL completo pode ser baixado de bird-interact-lite e bird-interact-full.
  • dados: Cada instância de dados contém as seguintes partes principais:
  • selected_database: O nome do banco de dados.
  • query: A consulta do usuário sem ambiguidades.
  • amb_user_query: A consulta do usuário com ambiguidades injetadas.
  • user_query_ambiguity: As ambiguidades injetadas na consulta do usuário.
  • non_critical_ambiguity: Ambiguidades não críticas como ordem, limite, etc.
  • knowledge_ambiguity: Ambiguidades criadas por ocultação de conhecimentos externos.
  • sol_sql: A solução SQL referência (ground truth).
  • preprocess_sql: Consultas SQL a serem executadas antes da solução ou previsão.
  • clean_up_sql: Consultas SQL para executar após os casos de teste e reverter alterações no banco.
  • test_cases: Um conjunto de casos de teste para validar a SQL prevista corrigida.
  • follow_up: As perguntas de acompanhamento rotuladas.
  • external_knowledge: O conhecimento externo relacionado à tarefa específica.
  • avaliação: O código de avaliação está disponível no diretório ./evaluation.
  • Curadoria: Equipe BIRD & Google Cloud
  • Licença: cc-by-sa-4.0
  • HuggingFace Dataset Card: bird-interact-lite
e bird-interact-full para PostgreSQL; e mini-interact para SQLite.

Usos do Conjunto de Dados

Para evitar vazamento de dados por auto-crawling, não incluímos SQLs de solução GT e casos de teste juntamente com os dados. por favor envie um e-mail para bird.bench25@gmail.com com a tag [bird-interact-lite GT&Test Cases] ou [bird-interact-full GT&Test Cases] no título para obter a verdade de base e casos de teste para o conjunto de dados bird-interact-lite ou bird-interact-full, que serão enviados automaticamente.

Combine os dados públicos com a verdade de base e casos de teste

Em seguida, use o seguinte script para combinar os dados públicos com a verdade de base e casos de teste:

Pegue a versão completa como exemplo: (1) Execute:

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.
Isso criará um novo arquivo em /path/to/bird_interact_data.jsonl com os dados combinados.

(2) Em seguida, substitua os dados públicos originais pelos dados combinados:

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

O mesmo vale para as outras versões: bird-interact-lite, versão mini, etc. Basta definir os caminhos corretos para os dados públicos, os dados de verdade e os casos de teste, e então substituir os dados públicos pelos dados combinados.