Web Analytics

BIRD-Interact

⭐ 453 stars Portuguese by bird-bench

🌐 Idioma

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

Licença Ranking HuggingFace Python OpenAI

⚠️ Aviso

Por favor, note que antes do processo de avaliação, quando o Docker carrega os bancos de dados, erros podem ocasionalmente ocorrer devido à inconsistência do ambiente (estes não encerram o processo, mas aparecerão nos logs do Docker). Como resultado, alguns bancos podem não carregar corretamente, levando a bancos vazios. Isso causará resultados anormalmente baixos na avaliação. 👉 Portanto, recomendamos fortemente que verifique os logs do Docker para eventuais erros antes de rodar a avaliação e confirme que todos os bancos de dados foram carregados com sucesso.

👉 Atualizamos as Diretrizes de Submissão, onde agora são suportados 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 texto-para-SQL. 👉 Confira e saiba mais sobre as ideias por trás do BIRD-Interact.

É um desafio — os melhores LLMs estão alcançando apenas 16,33% de sucesso, com apenas 10,0% nas porções c-interact e a-interact. 👉 Para mais detalhes, visite 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 Text-to-SQL através da lente 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 baseado em funções para recriar ambientes empresariais autênticos em todas as operações 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 rodadas de interação entre o modelo e o simulador de usuário, enquanto os modelos de raciocínio mais avançados atualmente resolvem apenas ≈24% e ≈18% das tarefas, destacando o desafio do benchmark.

✅ Dois Modos de Avaliação

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 do mundo real 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. Ela cobre uma ampla variedade 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. c-Interact Text-to-SQL Performance | Rank | Nome do Modelo | Recompensa Normalizada | Custo Médio (USD)/Tarefa | Nível | |:----:|:-------------------|:---------------------:|:------------------------:|:------------------:| | 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 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. a-Interact Text-to-SQL Desempenho | Rank | 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 por nossa moeda virtual bird-coin*s . Consulte bird_interact_agent/README.md para mais detalhes.

Escalonamento do Tempo de Interação (ITS)

Escalonamento do Tempo de Interação (ITS) refere-se à capacidade de um modelo de aumentar continuamente seu desempenho final por meio de interações de múltiplas rodadas. Quando esse desempenho interativo supera o desempenho idealizado de rodada única do modelo em uma tarefa totalmente especificada e não ambígua, dizemos que ele satisfaz a lei ITS. À medida que a paciência do usuário cresce e as rodadas de interação se acumulam, o desempenho continua melhorando, demonstrando que o modelo pode sustentar comunicação eficaz durante um diálogo prolongado. Atualmente, apenas encontramos que o claude-3-7-sonnet satisfaz a lei ITS.

Configuração do Ambiente

> Se você quiser 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 em 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 pelo mascaramento de conhecimentos externos.
  • sol_sql: A solução SQL verídica.
  • preprocess_sql: Consultas SQL para executar antes da solução ou predição.
  • clean_up_sql: Consultas SQL para executar após os testes e reverter alterações no banco.
  • test_cases: Um conjunto de casos de teste para validar o SQL corrigido previsto.
  • 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
  • Cartão do Conjunto de Dados na HuggingFace: bird-interact-lite
e bird-interact-full

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.