A tecnologia Natural Language to SQL (NL2SQL) está se desenvolvendo rapidamente e se tornou um avanço importante no campo do processamento de linguagem natural. Ele permite que os usuários consultem o banco de dados usando linguagem natural, simplificando bastante o acesso aos dados e melhorando a eficiência. No entanto, os métodos existentes apresentam desafios em termos de precisão e adaptabilidade, especialmente quando se trata de bases de dados complexas e aplicações entre domínios. O editor de Downcodes apresentará a você a estrutura XiYan-SQL proposta pela equipe do Alibaba e como essa estrutura pode resolver esses problemas de forma eficaz.
No entanto, existe um certo compromisso entre a precisão da consulta e a adaptabilidade durante a implementação do NL2SQL. Alguns métodos não podem garantir a precisão na geração de consultas SQL e são difíceis de adaptar a diferentes tipos de bancos de dados. Algumas soluções existentes dependem de grandes modelos de linguagem (LLMs) para gerar múltiplos resultados e selecionar a melhor consulta através de engenharia imediata, mas esta abordagem aumenta a carga computacional e não é adequada para aplicações em tempo real. Ao mesmo tempo, embora o ajuste fino supervisionado (SFT) possa alcançar a geração de SQL direcionada, ele enfrenta dificuldades em aplicativos entre domínios e operações complexas de banco de dados, portanto, estruturas inovadoras são urgentemente necessárias.
A equipe de pesquisa do Alibaba lançou o XiYan-SQL, uma estrutura NL2SQL inovadora. Ele incorpora uma estratégia de conjunto multigerador que combina as vantagens da engenharia imediata e do SFT. Uma inovação importante do XiYan-SQL é a introdução do M-Schema, um método de representação de esquema semiestruturado que pode melhorar a compreensão do sistema da hierarquia do banco de dados, incluindo tipos de dados, chaves primárias e valores de amostra, melhorando assim a precisão e a capacidade para ajustar contextualmente as consultas SQL.
XiYan-SQL usa um processo de três estágios para gerar e otimizar consultas SQL.
Primeiro, o sistema identifica elementos relevantes do banco de dados através de links arquitetônicos, reduzindo assim informações redundantes e concentrando-se em estruturas-chave. Em seguida, os candidatos SQL são gerados usando geradores baseados em exemplo de aprendizagem (ICL) e SFT. Por fim, o sistema utiliza modelos de correção de erros e modelos de seleção para otimizar e filtrar o SQL gerado para garantir que a melhor consulta seja selecionada. O XiYan-SQL integra essas etapas em um pipeline eficiente que vai além dos métodos tradicionais.
Após rigorosos testes de benchmark, o XiYan-SQL teve um bom desempenho em vários conjuntos de testes padrão. Por exemplo, alcançou uma precisão de execução de 89,65% no conjunto de testes Spider, significativamente à frente dos principais modelos anteriores.
Além disso, o XiYan-SQL também obteve excelentes resultados em termos de adaptabilidade a conjuntos de dados não relacionais, atingindo uma precisão de 41,20% no conjunto de testes NL2GQL. Esses resultados demonstram que o XiYan-SQL possui excelente flexibilidade e precisão em diversos cenários.
github: https://github.com/XGenerationLab/XiYan-SQL
Em suma, a estrutura XiYan-SQL fez avanços significativos no campo de NL2SQL com seu inovador M-Schema e estratégias de integração de vários geradores, fornecendo uma nova solução para consultas de banco de dados em linguagem natural eficientes e precisas. Seu excelente desempenho em vários conjuntos de testes também comprova sua forte praticidade e amplas perspectivas de aplicação. Os leitores interessados podem visitar o link do GitHub para obter mais informações.