透過 Microsoft Fabric 中的資料代理,你可以創造對話式 AI 體驗,回答關於儲存在資料湖屋、倉庫、Power BI 語意模型、KQL 資料庫及 Microsoft Fabric 本體論中的資料問題。 即使您不是 AI 專家或非常熟悉數據,您的同事也可以以純英文詢問問題,並接收數據導向的解答。
這很重要
這項功能處於預覽狀態。
先決條件
- 已啟用 Microsoft Fabric 的付費 F2 或更高 Fabric 容量,或每個容量的 Power BI Premium (P1 或更高) 容量
- 已啟用 Fabric 資料代理租戶設定。
- 已啟用 AI 的跨地理位置處理。
- 已啟用 AI 的跨地理位置儲存。
- 至少要有一種,且有資料:倉庫、湖屋、一個或多個 Power BI 語意模型、KQL 資料庫,或本體論。
- Power BI 語義模型透過 XMLA 端點租用戶切換 啟用於 Power BI 語義模型數據來源。
驗證和權杖
您不需要建立或提供 Azure OpenAI 金鑰或存取權杖,即可使用 Fabric 資料代理程式。 Fabric 會使用 Microsoft 管理的 Azure OpenAI 小幫手,並為您處理驗證。
- 資料存取會在您的 Microsoft Entra ID 使用者身分識別和工作區/資料許可權下執行。 代理程式只會在您具有存取權時讀取結構描述並執行 SQL/DAX/KQL。
- 若要將 Power BI 語意模型新增為資料來源,您需要該模型的讀取權限 (不需要寫入)。 只需要讀取權限即可針對您有權存取的來源提出問題。 如需語意模型許可權的詳細資訊,請參閱 資料集和語意模型安全性。
- 如果您的組織使用每個容量的 Power BI Premium (P1 或更高) 容量,而不是 F SKU,請確定已在該容量上 啟用 Microsoft Fabric 。
- 產品內聊天體驗不需要服務主體和 API 權杖。 任何具有服務主體的自動化都是個別案例,此處未涵蓋。
建立和取用 Fabric 資料代理程式的端對端流程
本章節會概述在 Fabric 中建立、驗證及共用 Fabric 資料代理程式的重要步驟以供取用。
此流程很簡單,您在幾分鐘內就能開始測試 Fabric 資料代理程式資源。
建立新 Fabric 數據代理程式
若要建立新的 Fabric 資料代理程式,請先瀏覽至您的工作區,然後選取 [+ 新增專案] 按鈕。 如以下的螢幕擷取畫面所示,在 [所有項目] 索引標籤中,搜尋 [網狀架構資料代理程式] 以找出適當的選項:
選取之後,提示會要求您提供 Fabric 資料代理程式的名稱,如下列螢幕擷取畫面所示:
請參考提供的螢幕擷取畫面,透過圖示指南了解如何命名 Fabric 資料代理程式。 輸入名稱之後,請繼續進行設定,讓 Fabric 資料代理程式合您的特定需求。
選擇您的資料
建立 Fabric 資料代理後,你可以任意組合新增最多五個資料來源——包括湖屋、倉庫、Power BI 語意模型、KQL 資料庫和本體論(總共最多五個)。 例如,您可以新增五個 Power BI 語意模型,或兩個 Power BI 語意模型、一個 Lakehouse 和一個 KQL 資料庫。
當您首次建立 Fabric 資料代理程式並輸入名稱,OneLake 目錄會自動出現,讓您可以新增資料來源。 若要新增資料源,請從目錄中選取它,如下一個畫面所示,然後選取 [[新增]。 每個數據源都必須個別新增。 例如,您可以新增一個資料湖倉,選取 [新增],然後繼續新增其他資料來源。 若要篩選數據源類型,請選取篩選圖示,然後選取所需的類型。 您可以只檢視所選類型的資料來源,以便尋找及連線適用的 Fabric 資料代理程式來源。
新增資料來源之後,[Fabric 資料代理] 頁面左側窗格中的 總管 會顯示所選資料來源中的所有可用資料表,您可以使用核取方塊來設定哪些資料表可供 AI 使用,如下圖所示:
備註
您只需要讀取許可權,即可將 Power BI 語意模型新增為資料來源。 不需要寫入許可權,因為 Fabric 資料代理程式會發出唯讀查詢。
若要新增更多資料來源,請移至 Fabric 資料代理程式頁面左側窗格的 總覽,然後選取 + 資料來源,如以下螢幕截圖所示:
OneLake 目錄會再次開啟,您可以視需要順暢地新增更多數據源。
小提示
請務必針對數據表和數據行使用描述性名稱。 名為 SalesData 的數據表比 TableA更有意義,而且 ActiveCustomer 或 IsCustomerActive 等數據行名稱比 C1 或 ActCu更清楚。 描述性名稱可協助 AI 產生更精確且可靠的查詢。
提問
新增數據源並選取每個數據源的相關數據表之後,您就可以開始提出問題。 系統會處理問題,如下列螢幕快照所示:
類似這些範例的問題也應該有效:
- 「2023 年我們在加州的總銷售額是多少?」
- 前 5 名清單價格最高的產品是什麼?它們的類別是什麼?
- 「從未售出的最貴物品是什麼?」
這類問題很適切,因為系統可以將其轉譯成結構化查詢 (T-SQL、DAX 或 KQL),並比對資料庫執行,然後根據儲存的資料傳回具體答案。
不過,下列類型的問題就超出功能範圍了:
- 「為什麼 2024 年第 2 季的工廠生產力較低?」
- 「我們銷售額激增的根本原因是什麼?」
這些問題目前不在範圍中,因為它們需要複雜的推理、相互關聯分析或資料庫無法直接使用的外部因素。 Fabric 資料代理程式目前不會執行進階分析、機器學習或因果推斷。 它只會根據用戶的查詢擷取和處理結構化數據。
當您提出問題,Fabric 資料代理程式會使用 Azure OpenAI 助理 API 來處理要求。 流程會以下列方式運作:
使用使用者認證進行架構存取
系統首先利用使用者的憑證存取資料來源的架構(例如湖屋、倉庫、 PBI 語意模型、KQL 資料庫或本體論)。 這可確保系統擷取使用者有權檢視的數據結構資訊。
製作提示
若要解譯用戶的問題,系統會結合:
- 用戶查詢:使用者所提供的自然語言問題。
- 架構資訊:在上一個步驟中擷取之數據源的元數據和結構詳細數據。
- 範例和指示:設定 Fabric 資料代理程式時提供的任何預先定義範例 (例如範例問題和解答) 或特定指示。 這些範例和指示有助於精簡 AI 對問題的瞭解,並引導 AI 如何與數據互動。
這項資訊全都會用來建構提示。 此指令作為 Azure OpenAI 助理 API 的輸入,並作為 Fabric 資料代理程式的基礎代理運作。 這基本上會指示 Fabric 資料代理程式如何處理查詢,以及要產生的答案類型。
工具調用基於查詢需求
代理程式會分析建構的提示,並決定要叫用哪些工具來擷取答案:
- SQL 自然語言 (NL2SQL):當數據位於湖倉或數據倉儲時,用於生成 SQL 查詢。
- 自然語言至 DAX (NL2DAX):用來建立 DAX 查詢,以在 Power BI 數據源中與語意模型互動
- KQL 的自然語言 (NL2KQL): 用來建構 KQL 查詢以查詢 KQL 資料庫中的數據
選取的工具會使用 Fabric 資料代理程式所提供之代理程式的結構描述、中繼資料和內容來產生查詢。 然後此工具會驗證查詢,以確保其安全性通訊協定的適當格式和合規性,以及它自己的負責任 AI(RAI) 原則。
回應建構
Fabric 資料代理程式的基礎代理程式會執行查詢,並確保回應的結構和格式正確。 代理程式通常包含額外的內容,以方便使用者回答。 最後,答案會在交談介面中向用戶顯示,如下列螢幕快照所示:
代理程式同時呈現結果和擷取最終答案所採取的中繼步驟。 此方法可增強透明度,並在必要時允許驗證這些步驟。 使用者可以展開步驟的下拉式清單,以檢視 Fabric 資料代理程式擷取答案所採取的所有步驟,如以下螢幕擷取畫面所示:
此外,Fabric 資料代理程式會提供用來查詢相應資料來源的產生的程式碼,深入解析回應的建構方式。
這些查詢專為查詢數據而設計。 不允許涉及數據建立、數據更新、數據刪除、任何類型的數據變更等作業,以保護數據的完整性。
您可以隨時選取 [清除聊天] 按鈕來清除聊天,如下列螢幕快照所示:
清除聊天功能會清除所有聊天記錄,並啟動新的工作階段。 刪除聊天記錄之後,就無法加以擷取。
變更資料來源
要移除資料來源,請在 [Fabric 資料代理程式] 頁面的左側窗格中,將滑鼠指標懸停於 [Explorer] 的資料來源名稱上,直到出現三點功能表。 選取三個點以顯示選項,然後選取 [移除 以刪除數據源,如下列螢幕快照所示:
或者,如果資料來源已更改,您可以在相同的選單中選取 重新整理,如下列螢幕擷圖所示:
這可確保在探勘工具中正確反映並填入任何資料來源的更新,讓您的 Fabric 資料代理程式與最新的資料保持同步。
網狀架構資料代理程式設定
Fabric 資料代理程式提供數個設定選項,可讓使用者自訂 Fabric資料代理程式行為,以更符合組織的需求。 在 Fabric 資料代理程式處理並呈現資料時,這些設定可提供更多彈性,讓使用者更充分掌控結果。
提供指示
您可以提供特定指示來引導 AI 的行為。 若要在 [Fabric 資料代理指示] 窗格中新增指示,請選取 [資料代理程式指示],如以下螢幕擷取畫面所示:
在這裡,您可以使用純英文文字撰寫最多 15,000 個字元,以指示 AI 如何處理查詢。
例如,您可以指定特定問題類型要使用的確切數據源。 數據來源選擇的範例可能會涉及指示 AI 進行使用
- 適用於財務查詢的Power BI語意模型
- 銷售數據的湖倉架構
- 適用於作業計量的 KQL 資料庫
這些指示可確保 AI 會根據您的指引和問題內容,產生適當的查詢,無論是 SQL、DAX 或 KQL。
如果您的 AI 資源持續誤譯特定字詞、縮略字或專用名詞,您可以嘗試提供本章節列出的明確定義,以確保 AI 能夠正確理解並處理。 這特別適用於領域特定術語或獨特的商務術語。
藉由量身打造這些指示並定義詞彙,您可以增強 AI 提供精確且相關的深入解析的能力,以完全符合您的資料策略和商務需求。
提供範例查詢
您可以藉由提供針對每個支援資料來源量身打造的範例查詢 (湖屋、倉儲、KQL 資料庫) 來增強回應精確度。 這種方法稱為生成式 AI 中的 少量學習 ,有助於引導 Fabric 資料代理程式產生更符合您期望的回應。
當您提供 AI 範例查詢/ 問題組時,它會在回答未來的問題時參考這些範例。 比對新查詢與最相關的範例可協助 AI 納入商業特定邏輯,並有效地回應常見問題。 此功能可針對個別數據源進行微調,並確保產生更精確的 SQL 或 KQL 查詢。
Power BI 語意模型數據目前不支援新增範例查詢/問題組。 不過,對於湖屋、倉儲和 KQL 資料庫等支持的數據源,提供更多範例可大幅改善 AI 在預設效能需要調整時產生精確查詢的能力。
小提示
一組多樣的範例查詢可強化 Fabric 資料代理程式的能力,以產生精確且相關的 SQL/KQL 查詢。
若要新增或編輯範例查詢,請選取 [範例查詢] 按鈕來開啟範例查詢窗格,如下列螢幕快照所示:
此窗格提供新增或編輯所有支援資料來源的範例查詢,唯獨 Power BI 語意模型與本體論除外。 針對每個數據源,您可以選取 [新增或編輯範例查詢] 輸入相關範例,如下列螢幕快照所示:
備註
Fabric 資料代理程式只會參考包含有效 SQL/KQL 語法且符合所選資料表結構描述的查詢。 Fabric 資料代理程式不會使用尚未完成驗證的查詢。 請確定所有範例查詢都有效且正確對應結構描述,以確保 Fabric 資料代理程式能有效使用這些查詢。
發佈和共用 Fabric 資料代理程式
在測試各種問題的 Fabric 資料代理程式效能,並確認它產生準確的 SQL、DAX 或 KQL 查詢之後,您可以與同事共用。 此時,選取 [發佈],如下列螢幕快照所示:
此步驟會開啟視窗,要求描述 Fabric 資料代理程式。 在這裡,請輸入 Fabric 資料代理程式執行功能的詳細說明。 這些詳細資料有助於同事瞭解 Fabric 資料代理程式的功能,也能協助其他 AI 系統/協調器有效地叫用 Fabric 資料代理程式。
發佈 Fabric資料代理程序之後,您會有兩個版本。 其中一個版本是目前的草稿版本,您可以繼續精簡和改善。 第二個版本是已發佈的版本,您可以與想要使用 Fabric 資料代理程式進行查詢以獲得解答的同事共用。 您可以在開發時將同事的意見反應納入目前的草稿版本,以進一步增強 Fabric 數據代理程式的效能。