A tecnologia de linguagem natural para SQL (NL2SQL) está se desenvolvendo rapidamente, tornando-se uma inovação importante no campo do processamento de linguagem natural (PLN). Essa tecnologia permite que os usuários convertam consultas em linguagem natural em instruções de linguagem de consulta estruturada (SQL), o que facilita muito a interação de usuários sem formação técnica com bancos de dados complexos, permitindo a obtenção de informações valiosas. A tecnologia NL2SQL não apenas abriu novas portas para a exploração de grandes bancos de dados em vários setores, mas também melhorou a eficiência do trabalho e a capacidade de tomada de decisão.

image.png

No entanto, na implementação do NL2SQL, existe um certo equilíbrio entre a precisão e a adaptabilidade da consulta. Alguns métodos não conseguem garantir a precisão nem se adaptar a diferentes tipos de bancos de dados ao gerar consultas SQL. Algumas soluções existentes dependem em grande parte de modelos de linguagem grandes (LLMs), gerando várias saídas por meio de engenharia de prompts e selecionando a melhor consulta, mas esse método aumenta a carga computacional e não é adequado para aplicações em tempo real. Ao mesmo tempo, o ajuste fino supervisionado (SFT) pode realizar a geração de SQL direcionada, mas enfrenta dificuldades em aplicações multidomínio e operações de banco de dados complexas, portanto, é necessário um framework inovador.

image.png

A equipe de pesquisa da Alibaba lançou o XiYan-SQL, um framework NL2SQL inovador. Ele integra estratégias de integração de múltiplos geradores, combinando as vantagens da engenharia de prompts e do SFT. Uma inovação fundamental do XiYan-SQL é a introdução do M-Schema, um método de representação de arquitetura semiestruturada que pode melhorar a compreensão do sistema da estrutura hierárquica do banco de dados, incluindo tipos de dados, chaves primárias e valores de exemplo, melhorando assim a capacidade de gerar consultas SQL precisas e contextualmente apropriadas.

O XiYan-SQL usa um processo de três etapas para gerar e otimizar consultas SQL.

Primeiro, o sistema identifica elementos de banco de dados relevantes por meio do link de arquitetura, reduzindo assim informações redundantes e focando em estruturas-chave. Em seguida, usa geradores baseados em aprendizado por exemplo (ICL) e SFT para gerar candidatos SQL. Finalmente, o sistema usa modelos de correção e modelos de seleção para otimizar e filtrar o SQL gerado, garantindo que a melhor consulta seja selecionada. O XiYan-SQL integra essas etapas em um pipeline eficiente, superando os métodos tradicionais.

Após testes rigorosos de referência, o XiYan-SQL apresentou um excelente desempenho em vários conjuntos de testes padrão, como uma precisão de execução de 89,65% no conjunto de testes Spider, superando significativamente os modelos de ponta anteriores.

image.png

Além disso, em termos de adaptabilidade a conjuntos de dados não relacionais, o XiYan-SQL também obteve resultados excelentes, atingindo uma precisão de 41,20% no conjunto de testes NL2GQL. Esses resultados mostram que o XiYan-SQL possui flexibilidade e precisão excelentes em vários cenários.

github:https://github.com/XGenerationLab/XiYan-SQL

Destaques:

🌟 Representação de arquitetura inovadora: O M-Schema melhora a compreensão da estrutura hierárquica do banco de dados, melhorando a precisão da consulta.

📊 Geração avançada de candidatos: O XiYan-SQL usa vários geradores para produzir candidatos SQL diversificados, melhorando a qualidade da consulta.

✅ Adaptabilidade superior: Por meio de testes de referência, o XiYan-SQL demonstrou seu desempenho excepcional em vários bancos de dados, estabelecendo um novo padrão para frameworks NL2SQL.