BIRD-INTERACT 1.0

⚠️ 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
- [2026-03-29] 🔥🔥🔥 BIRD-Interact-ADK: Lançamos o BIRD-Interact-ADK, uma implementação baseada no Google ADK com arquitetura modular de 3 microsserviços (agente, simulador de usuário e ambiente de BD). Troque facilmente seu próprio agente, simulador de usuário ou ambiente de banco de dados. Suporta execução paralela e qualquer provedor LLM compatível com LiteLlm. Recomendamos usar esta implementação em suas pesquisas.
- [2026-02-08] 🔥🔥🔥 Nosso artigo Bird-Interact foi aceito na ICLR 2026 (Oral)! Nos vemos no Rio 🇧🇷!
- [2025-11-06] 🐛 Correção de Bug & 🐳 Atualização do Docker: Atualize a versão do sqlglot para 26.16.4 para corrigir o bug em que o analisador SQL não consegue analisar o SQL corretamente para o simulador de usuário. Você pode corrigir isso reinstalando com
pip install sqlglot==26.16.4no ambientebird_interact_eval. A imagembird_interact_evaltambém foi atualizada, então você pode baixá-la novamente e recriar o containerbird_interact_eval. - [2025-10-21] 🐳 Atualização do Docker: Adicionamos o docker para o ambiente completo de banco de dados. E publicamos 3 imagens docker (Base/Ambiente Completo de BD e o ambiente de avaliação para
a-Interactec-Interact) no Docker Hub para facilitar a configuração. Não é necessário baixar os dumps de BD nem construir as imagens manualmente! - [2025-10-08] 📝 Nosso artigo Bird-Interact já está disponível publicamente!
- [2025-08-26] 🚀 Estamos animados em anunciar o lançamento do conjunto BIRD-Interact-Full (600)!
c-interact e a-interact.
👉 Para mais detalhes, por favor visite o nosso site do projeto.- [2025-08-26] 📬 Estaremos enviando os Casos de Verdade & Teste para nossa lista de e-mails esta semana.
- [2025-08-26] 💾 Em outra nota, também lançamos uma versão SQLite do LiveSQLBench-Lite para facilitar pesquisas locais.
- [2025-08-22] Correção de Bug: No código do Bird-Interact-Agent, corrigimos um bug em que, ao avaliar a fase-2 do SQL, o SQL armazenado da fase-1 não podia ser executado com sucesso, levando a uma taxa de sucesso menor na Fase-2. Esse bug só afeta tarefas em que o SQL da fase1 faz algumas operações no banco de dados, por exemplo, CREATE table, etc.
🧸 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:
- c-Interact: Interação Conversacional, que é um modo passivo e o fluxo de trabalho é fixo. O código e as informações detalhadas podem ser encontradas em
bird_interact_conv. - a-Interact: Interação Agente, que é um modo ativo incorporado onde o fluxo de trabalho é dinâmico e liderado por modelos. O código e as informações detalhadas podem ser encontradas em
bird_interact_agent.
🐣 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
- Execute os containers Docker para os bancos de dados bird-interact-lite, bird-interact-full e o ambiente de avaliação:
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.
bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlIsso criará um novo arquivo em/path/to/bird_interact_data.jsonlcom os dados combinados.(2) Em seguida, substitua os dados públicos originais pelos dados combinados:
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.
. Consulte