自然語言到 SQL(NL2SQL)技術正在快速發展,成爲自然語言處理(NLP)領域的一項重要創新。該技術使得用戶能夠將自然語言查詢轉化爲結構化查詢語言(SQL)語句,這一進步極大地方便了缺乏技術背景的用戶與複雜數據庫之間的交互,從而獲取有價值的信息。NL2SQL 技術不僅爲各行業的大型數據庫探索打開了新大門,還提升了工作效率和決策能力。

image.png

然而,NL2SQL 的實現過程中,查詢準確性與適應性之間存在一定的權衡。一些方法在生成 SQL 查詢時,既無法保證準確性,也難以適應不同類型的數據庫。現有的一些解決方案多依賴於大型語言模型(LLMs),通過提示工程生成多個輸出並選擇最佳查詢,但這種方式增加了計算負擔,不適合實時應用。同時,監督微調(SFT)雖然能實現針對性 SQL 生成,但在跨領域應用和複雜數據庫操作中卻面臨困難,因此亟需創新的框架。

image.png

阿里巴巴的研究團隊推出了 XiYan-SQL,一個突破性的 NL2SQL 框架。它融合了多生成器集成策略,將提示工程和 SFT 的優勢結合起來。XiYan-SQL 的一個關鍵創新在於引入了 M-Schema,這是一種半結構化的架構表示方法,能夠增強系統對數據庫層次結構的理解,包括數據類型、主鍵和示例值,從而提高生成準確且符合上下文的 SQL 查詢的能力。

XiYan-SQL 採用三階段的流程生成和優化 SQL 查詢。

首先,系統通過架構鏈接識別相關數據庫元素,從而減少冗餘信息,聚焦於關鍵結構。接着,利用基於示例學習(ICL)和 SFT 的生成器生成 SQL 候選。最後,系統運用糾錯模型和選擇模型對生成的 SQL 進行優化和篩選,從而確保選擇出最佳查詢。XiYan-SQL 將這些步驟整合成一個高效的管道,超越了傳統方法。

經過嚴格的基準測試,XiYan-SQL 在多個標準測試集中表現出色,例如在 Spider 測試集中實現了89.65% 的執行準確率,明顯領先於以往的頂尖模型。

image.png

此外,在非關係型數據集的適應性方面,XiYan-SQL 也取得了優異的成績,在 NL2GQL 測試集中達到了41.20% 的準確率。這些結果表明,XiYan-SQL 在多種場景下都具備卓越的靈活性和準確性。

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

劃重點:

🌟 創新架構表示:M-Schema 增強了對數據庫層次結構的理解,提高了查詢準確性。

📊 高級候選生成:XiYan-SQL 利用多種生成器產生多樣化的 SQL 候選,提高了查詢質量。

✅ 優越的適應性:通過基準測試,XiYan-SQL 展示了其在多種數據庫中的卓越表現,設定了新的 NL2SQL 框架標準。