Технология Natural Language to SQL (NL2SQL) быстро развивается и стала ключевым прорывом в области обработки естественного языка. Это позволяет пользователям запрашивать базу данных, используя естественный язык, что значительно упрощает доступ к данным и повышает эффективность. Однако существующие методы имеют проблемы с точки зрения точности и адаптируемости, особенно при работе со сложными базами данных и междоменными приложениями. Редактор Downcodes познакомит вас с фреймворком XiYan-SQL, предложенным командой Alibaba, и с тем, как этот фреймворк может эффективно решить эти проблемы.
Однако при реализации NL2SQL существует определенный компромисс между точностью запросов и адаптивностью. Некоторые методы не могут гарантировать точность при формировании SQL-запросов, и их сложно адаптировать к различным типам баз данных. Некоторые существующие решения полагаются на большие языковые модели (LLM) для генерации нескольких выходных данных и выбора лучшего запроса посредством оперативного проектирования, но этот подход увеличивает вычислительную нагрузку и не подходит для приложений реального времени. В то же время, хотя контролируемая точная настройка (SFT) может обеспечить целевую генерацию SQL, она сталкивается с трудностями в междоменных приложениях и сложных операциях с базами данных, поэтому срочно необходимы инновационные платформы.
Исследовательская группа Alibaba запустила XiYan-SQL, революционную среду NL2SQL. Он включает в себя стратегию ансамбля с несколькими генераторами, которая сочетает в себе преимущества быстрого проектирования и SFT. Ключевым нововведением XiYan-SQL является введение M-Schema, метода представления полуструктурированной схемы, который может улучшить понимание системой иерархии базы данных, включая типы данных, первичные ключи и выборочные значения, тем самым повышая точность и возможности для контекстуального соответствия запросам SQL.
XiYan-SQL использует трехэтапный процесс генерации и оптимизации SQL-запросов.
Во-первых, система идентифицирует соответствующие элементы базы данных посредством архитектурных связей, тем самым сокращая избыточную информацию и концентрируясь на ключевых структурах. Далее кандидаты SQL генерируются с помощью генераторов на основе обучения на примерах (ICL) и SFT. Наконец, система использует модели исправления ошибок и модели выбора для оптимизации и фильтрации сгенерированного SQL-запроса, чтобы гарантировать выбор наилучшего запроса. XiYan-SQL объединяет эти шаги в эффективный конвейер, выходящий за рамки традиционных методов.
После тщательного эталонного тестирования XiYan-SQL показал хорошие результаты в нескольких стандартных наборах тестов. Например, он достиг точности выполнения 89,65% в наборе тестов Spider, что значительно опережает предыдущие топовые модели.
Кроме того, XiYan-SQL также добился отличных результатов с точки зрения адаптивности к нереляционным наборам данных, достигнув точности 41,20% в тестовом наборе NL2GQL. Эти результаты демонстрируют, что XiYan-SQL обладает превосходной гибкостью и точностью в различных сценариях.
github: https://github.com/XGenerationLab/XiYan-SQL
В целом, платформа XiYan-SQL совершила значительный прорыв в области NL2SQL благодаря своим инновационным стратегиям интеграции M-схемы и нескольких генераторов, предоставляя новое решение для эффективных и точных запросов к базе данных на естественном языке. Его отличные характеристики в нескольких наборах испытаний также доказывают его высокую практичность и широкие перспективы применения. Заинтересованные читатели могут посетить ссылку GitHub для получения дополнительной информации.