Fabric 資料代理中的 SQL 來源

Fabric 資料代理程式讓你在 OneLake — Lakehouse、Data Warehouse、Fabric SQL Database 和 Mirrored Databases — 中針對 SQL 資料提出純語言問題,並獲得回治理且唯讀的回答。 在幕後,代理使用內建的自然語言轉 SQL(NL2SQL)工具,將每個問題轉換成 T-SQL 查詢,依照你選擇的架構驗證,並透過來源的 SQL 分析端點執行。

本文介紹代理可用於 SQL 來源的兩種查詢產生工具:

  • NL2SQL — 一般可用的(GA)工具,供資料代理在 標準執行時使用。
  • Advanced NL2SQL — 一款具備多步驟推理的預覽工具,供資料代理在 預覽執行時使用。

這兩個工具都利用你為每個 SQL 來源提供的結構選擇、資料來源指令和範例查詢。 進階的 NL2SQL 也能使用僅預覽的設定,包括結構物件描述與主題。 關於如何配置這些輸入的細節,請參閱在 Fabric 資料代理中新增與設定資料來源

NL2SQL

NL2SQL 是 SQL 來源的預設查詢產生工具,也是標準執行環境下資料代理所使用的工具。 它能在一次過中產生一個 T-SQL 查詢:

  1. 它會讀取你所選的結構和你提供的資料來源指令。
  2. 它會使用向量相似度,從你的範例查詢庫中擷取與使用者問題最相似的排名前幾個範例查詢。
  3. 它會根據該上下文產生 SQL 查詢,根據核准的架構驗證,然後透過 SQL 分析端點執行。

NL2SQL 經過最佳化,可提供穩定且可預測的行為;對於重視跨版本發布之間輸出一致性的正式環境資料代理程式而言,這是建議的首選。 關於結構選擇、資料來源指令及輸入 NL2SQL 的範例查詢細節,請參閱 Fabric 資料代理程式中的新增與設定資料來源

Advanced NL2SQL(預覽版)

Advanced NL2SQL 是 NL2SQL 工具的新版本,於預覽版執行環境中提供。 這是同一個工具——針對您的 SQL 資料來源,將自然語言轉換為 SQL——但有一個關鍵差異:它不是一次就產生查詢,而是在回傳查詢之前,先規劃並執行多個推理步驟。 例如,它可以檢查結構、挑選相關範例、解決模糊的濾鏡值,或在承諾查詢前提出澄清問題。

進階 NL2SQL 在 Fabric 資料代理中規劃並執行多個推理步驟的動畫示意圖,然後返回 T-SQL 查詢。

進階 NL2SQL 提供 NL2SQL 所沒有的品質改進與設定體驗:

  • 更一致地遵循範例查詢。 NL2SQL 不一定會嚴格遵循你的範例查詢,有時還會加入範例中沒有的邏輯或約束。 進階 NL2SQL 更貼近你範例查詢庫中展示的模式。
  • 正確替換濾波器值。 當問題暗示多個類別或布林過濾器,而非明確說明時,NL2SQL 可能會遺漏或錯誤套用其中部分。 進階 NL2SQL 透過隱含過濾器推理,並將正確的值替換到查詢中。
  • 處理模糊問題。 當問題不明確時,NL2SQL 傾向於承諾假設並產生查詢。 進階的 NL2SQL 能偵測歧義,並在產生 SQL 前向使用者提出澄清問題,減少因誤讀意圖而產生的錯誤答案。
  • 了解結構細節。 僅靠物件名稱可能無法解釋結構元素的意義,而資料來源指令可能沒有足夠空間描述每個物件。 透過使用 結構物件描述,創建者能為個別資料表、欄位及其他結構元素提供上下文,讓 Advanced NL2SQL 能解讀結構並產生更精確的查詢。
  • 取得依主題分類的指示。 你不需要每次提問都傳送龐大的指令集。 透過使用主題,創作者可以依主題 組織多達一百萬字元的指引。 資料代理會找到相關區段並提供給 Advanced NL2SQL。

進階 NL2SQL 使用你已經為 NL2SQL 設定的結構選擇、資料來源指令和範例查詢。 它也能使用僅在 Advanced NL2SQL 中提供的配置,例如結構物件描述與主題。

使用進階 NL2SQL

Advanced NL2SQL 是預覽執行環境的一部分。 要使用它,請將資料代理切換到預覽執行時。 請參考 Fabric 資料代理執行環境,了解如何切換執行時間以及切換時還會有哪些變化。

由於 Advanced NL2SQL 仍處於預覽階段,其行為可能會在不同版本間有所變動。 使用它來評估即將推出的改進項目,並在它們正式成為 GA 之前提供意見回饋;對於需要穩定輸出的正式環境資料代理,請繼續使用搭配 NL2SQL 的標準執行階段。