自然語言到SQL(NL2SQL)技術正快速發展,成為自然語言處理領域的關鍵突破。它允許用戶用自然語言查詢資料庫,大大簡化了資料訪問,提升了效率。然而,現有方法在準確性和適應性方面存在挑戰,尤其是在處理複雜資料庫和跨領域應用時。 Downcodes小編將為您介紹阿里巴巴團隊提出的XiYan-SQL框架,該框架如何有效解決這些難題。
然而,NL2SQL 的實作過程中,查詢準確性與適應性之間存在著一定的權衡。有些方法在產生SQL 查詢時,既無法保證準確性,也難以適應不同類型的資料庫。現有的一些解決方案多依賴大型語言模型(LLMs),透過提示工程產生多個輸出並選擇最佳查詢,但這種方式增加了計算負擔,不適合即時應用。同時,監督微調(SFT)雖然能實現針對性SQL 生成,但在跨領域應用和複雜資料庫操作中卻面臨困難,因此亟需創新的框架。
阿里巴巴的研究團隊推出了XiYan-SQL,一個突破性的NL2SQL 框架。它融合了多生成器整合策略,將提示工程和SFT 的優勢結合起來。 XiYan-SQL 的一個關鍵創新在於引入了M-Schema,這是一種半結構化的架構表示方法,能夠增強系統對資料庫層次結構的理解,包括資料類型、主鍵和範例值,從而提高生成準確且符合上下文的SQL 查詢的能力。
XiYan-SQL 採用三階段的流程產生和最佳化SQL 查詢。
首先,系統透過架構連結識別相關資料庫元素,進而減少冗餘訊息,聚焦於關鍵結構。接著,利用基於範例學習(ICL)和SFT 的生成器產生SQL 候選。最後,系統運用糾錯模型和選擇模型對產生的SQL 進行最佳化和篩選,從而確保選擇出最佳查詢。 XiYan-SQL 將這些步驟整合成一個高效率的管道,超越了傳統方法。
經過嚴格的基準測試,XiYan-SQL 在多個標準測試集中表現出色,例如在Spider 測試集中實現了89.65% 的執行準確率,明顯領先於以往的頂尖模型。
此外,在非關係型資料集的適應性方面,XiYan-SQL 也取得了優異的成績,在NL2GQL 測試集中達到了41.20% 的準確率。這些結果表明,XiYan-SQL 在多種場景下都具備卓越的靈活性和準確性。
github:https://github.com/XGenerationLab/XiYan-SQL
總而言之,XiYan-SQL 框架憑藉其創新的M-Schema 和多生成器整合策略,在NL2SQL 領域取得了顯著突破,為高效且準確地進行自然語言資料庫查詢提供了新的解決方案。其在多個測試集中的優異表現,也證明了其強大的實用性和廣泛的應用前景。有興趣的讀者可以訪問GitHub 連結以了解更多資訊。