建立 Fabric 資料代理程式

有了 Microsoft Fabric 中的資料代理,你可以創造對話式 AI 體驗,回答關於儲存在資料湖、數據倉庫、Power BI 語意模型、KQL 資料庫、本體論,以及 Microsoft Fabric Graph 中的資料問題。 即使您不是 AI 專家或非常熟悉數據,您的同事也可以以純英文詢問問題,並接收數據導向的解答。

先決條件

驗證和令牌

使用 Fabric 資料代理時,你不需要建立或提供 Azure OpenAI 金鑰或存取權杖。 Fabric 使用 Microsoft 管理的 Azure OpenAI 助理,並幫你處理認證。

  • 資料存取會依照你的 Microsoft Entra ID 使用者身份和工作空間/資料權限進行。 代理程式只會在您具有存取權時讀取結構描述並執行 SQL/DAX/KQL。 雖然大多數資料來源尊重工作空間權限,但 Power BI 語意模型透過資料代理的互動則由模型層級的讀取權限管理,且不要求工作區角色成員資格。
  • 要將 Power BI 語意模型加入資料來源,你需要對該模型有讀取權限(寫入則不強制)。 只需要讀取權限即可針對您有權存取的來源提出問題。 如需語意模型許可權的詳細資訊,請參閱 資料集和語意模型安全性。 在資料代理使用中,讀取權限足以查詢;Write 僅用於修改語意模型或啟用如 Prep for AI 等功能。
  • 如果您的組織使用的是 Power BI Premium 每用量(P1 或更高)容量而不是 F SKU,請確保在該容量上啟用了 Microsoft Fabric
  • 在產品內聊天體驗中不需要使用服務主體和 API 權杖。 任何具有服務主體的自動化都是個別案例,此處未涵蓋。

安全性和控管

Fabric 資料代理會遵守 Microsoft Purview 的治理政策。 當 Purview 政策限制對資料來源的存取(例如透過存取控制或敏感性標籤)時,代理程式在處理使用者查詢時會遵守這些限制。

延伸的外撥存取保護適用於代理程式操作。 代理的出站連線需遵守租戶在 Fabric 管理入口中設定的網路與存取規則。 管理員可以控制代理可以存取哪些外部端點。

透過資料代理對語意模型的權限

透過 Fabric 資料代理與 Power BI 語意模型互動,只需對語意模型取得讀取權限。 工作區訪問權限(成員或貢獻者角色)和構建權限並非將模型新增至代理或透過代理提問的必要條件。 此例外僅適用於資料代理程式互動;其他入口點(例如,Excel 中的分析或直接報告編寫)仍可能需要建置權限。

寫入權限僅用於修改語意模型或使用像 Prep for AI 這類功能。

跨租戶資料存取

當你的工作空間包含透過 OneLake 外部資料共享 從其他租戶分享的資料時,Fabric 資料代理可以透過於分享接受過程中建立的 OneLake 捷徑查詢該資料。 不需要額外的認證設定;存取權限會依照你現有的 Entra ID 身份和工作區權限進行。 消費者租戶的治理政策適用於所有共享資料。

建立與使用Fabric資料代理的端對端流程

本節概述在 Fabric 中建立、驗證及分享 Fabric 資料代理的關鍵步驟,使其易於存取。 該代理程式在 OneLake 中運作受控的即時資料,包括由 OneLake 快捷方式跨租戶共享支持的資料表。

這個過程很簡單,你可以在幾分鐘內開始測試 Fabric 資料代理的資源。

建立一個新的 Fabric 資料代理程式

要建立新的 Fabric 資料代理,先導到你的工作區,然後選擇 + 新項目 按鈕。 在「所有項目」標籤中,搜尋 Fabric data agent 以找到合適的選項,如這張截圖所示:

截圖顯示建立Fabric資料代理。

選中後,系統會提示你為 Fabric 資料代理提供名稱,如這張截圖所示:

截圖,說明如何為Fabric資料代理提供名稱。

請參閱提供的截圖,了解如何命名 Fabric 資料代理。 輸入名稱後,繼續設定,將 Fabric 資料代理程式與您的具體需求對齊。

選擇您的資料

建立 Fabric 資料代理後,你可以任意組合新增最多五個資料來源,包括湖屋、倉庫、Power BI 語意模型、KQL 資料庫、本體論和 Microsoft Graph,最多五個。 例如,你可以新增五個 Power BI 語意模型,或兩個 Power BI 語意模型、一個 lakehouse 和一個 KQL 資料庫。

備註

OneLake 目錄中可包含透過 OneLake 捷徑顯示的資料表。 Fabric 資料代理可以直接查詢這些有捷徑支援的資料表,而不必將資料複製到工作區。

當你第一次建立 Fabric 資料代理並輸入名稱時,OneLake 目錄會自動顯示,讓你可以新增資料來源。 若要新增資料源,請從目錄中選取它,如下一個畫面所示,然後選取 [[新增]。 每個數據源都必須個別新增。 例如,您可以新增一個資料湖倉,選取 [新增],然後繼續新增其他資料來源。 若要篩選數據源類型,請選取篩選圖示,然後選取所需的類型。 你可以依資料來源類型篩選,更容易找到來源,包括跨 租戶共享的跨組織資料項目。

一旦新增資料來源,Fabric資料代理頁面左側窗格的 Explorer 會顯示每個選取資料來源的可用資料表,您可以依下列截圖使用勾選框讓 AI 使用或不可使用資料表:

顯示如何新增數據源的螢幕快照。

備註

你只需要讀取權限,就能新增一個 Power BI 語意模型作為資料來源。 使用者使用語意模型時,不需要建立權限,也不需要接觸語意模型所在的工作區,這些操作都可以透過資料代理完成。 寫入權限僅用於修改語意模型或使用像 Prep for AI 這類功能。

若要新增資料來源,請前往Fabric資料代理頁面左側窗格的Explorer,選擇 + Data source,如圖所示:

顯示如何新增更多數據源的螢幕快照。

OneLake 目錄會再次開啟,您可以視需要順暢地新增更多數據源。

小提示

請務必針對數據表和數據行使用描述性名稱。 名為 SalesData 的數據表比 TableA更有意義,而且 ActiveCustomerIsCustomerActive 等數據行名稱比 C1ActCu更清楚。 描述性名稱可協助 AI 產生更精確且可靠的查詢。

提問

新增數據源並選取每個數據源的相關數據表之後,您就可以開始提出問題。 系統會處理問題,如下列螢幕快照所示:

截圖顯示的是一個與Fabric資料代理相關的問題。

類似這些範例的問題也應該有效:

  • 「2023 年我們在加州的總銷售額是多少?」
  • 前 5 名清單價格最高的產品是什麼?它們的類別是什麼?
  • 「從未售出的最貴物品是什麼?」

這類問題很適切,因為系統可以將其轉譯成結構化查詢 (T-SQL、DAX 或 KQL),並比對資料庫執行,然後根據儲存的資料傳回具體答案。

不過,下列類型的問題就超出功能範圍了:

  • 「為什麼 2024 年第 2 季的工廠生產力較低?」
  • 「我們銷售額激增的根本原因是什麼?」

這些問題目前不在範圍中,因為它們需要複雜的推理、相互關聯分析或資料庫無法直接使用的外部因素。 Fabric 資料代理目前尚未執行進階分析、機器學習或因果推論。 它只會根據用戶的查詢擷取和處理結構化數據。

當你提出問題時,Fabric 資料代理會使用 Azure OpenAI 助理 API 來處理這個請求。 流程會以下列方式運作:

使用使用者認證進行架構存取

系統首先利用使用者的憑證存取資料來源的架構(例如湖屋、倉庫、 PBI 語意模型、KQL 資料庫或本體論)。 這可確保系統擷取使用者有權檢視的數據結構資訊。

製作提示

若要解譯用戶的問題,系統會結合:

  1. 用戶查詢:使用者所提供的自然語言問題。
  2. 架構資訊:在上一個步驟中擷取之數據源的元數據和結構詳細數據。
  3. 範例與指示:任何預先定義的範例(例如範例問題與答案)或設定 Fabric 資料代理時提供的具體指示。 這些範例和指示有助於精簡 AI 對問題的瞭解,並引導 AI 如何與數據互動。

這項資訊全都會用來建構提示。 此提示用作 Azure OpenAI 助理 API 的輸入,該 API 作為 Fabric 資料代理的基礎層元件。 這基本上是指示 Fabric 資料代理如何處理查詢,以及要產生哪種回答類型。

工具調用基於查詢需求

代理程式會分析建構的提示,並決定要叫用哪些工具來擷取答案:

  • SQL 自然語言 (NL2SQL):當數據位於湖倉或數據倉儲時,用於生成 SQL 查詢。
  • 自然語言到 DAX(NL2DAX):用於建立 DAX 查詢,與 Power BI 資料來源中的語意模型互動
  • 自然語言到 KQL(NL2KQL):用於構建 KQL 查詢以查詢 KQL 資料庫資料。 NL2KQL 可以在所選資料庫中使用 KQL 使用者定義函式(UDF)。
  • Microsoft Graph:用於查詢透過 Microsoft Graph 可存取的組織資料

所選工具會根據 Fabric 資料代理所提供的架構、元資料與上下文產生查詢。 然後此工具會驗證查詢,以確保其安全性通訊協定的適當格式和合規性,以及它自己的負責任 AI(RAI) 原則。

回應建構

Fabric 資料代理底層的代理執行查詢,並確保回應的結構與格式適當。 代理程式通常包含額外的內容,以方便使用者回答。 最後,答案會在交談介面中向用戶顯示,如下列螢幕快照所示:

截圖顯示Fabric資料代理對該問題的回答。

代理程式同時呈現結果和擷取最終答案所採取的中繼步驟。 此方法可增強透明度,並在必要時允許驗證這些步驟。 使用者可展開下拉選單查看 Fabric 資料代理取得答案的所有步驟,如下圖所示:

截圖顯示Fabric資料代理所採取的步驟。

此外,Fabric 資料代理提供用以查詢對應資料來源的程式碼,進一步了解回應的結構。

這些查詢專為查詢數據而設計。 不允許涉及數據建立、數據更新、數據刪除、任何類型的數據變更等作業,以保護數據的完整性。

您可以隨時選取 [清除聊天] 按鈕來清除聊天,如下列螢幕快照所示:

顯示“清除聊天”功能的螢幕快照。

清除聊天功能會清除所有聊天記錄,並啟動新的工作階段。 刪除聊天記錄之後,就無法加以擷取。

變更資料來源

要移除資料來源,將滑鼠指標移至 Fabric 資料代理頁面的左側窗格 Explorer 的資料來源名稱上,直到三點選單出現。 選取三個點以顯示選項,然後選取 [移除 以刪除數據源,如下列螢幕快照所示:

顯示如何刪除或重新整理數據源的螢幕快照。

或者,如果資料來源已更改,您可以在相同的選單中選取 重新整理,如下列螢幕擷圖所示:

顯示如何重新整理數據源的螢幕快照。

這確保任何資料來源更新都能正確反映並填充至瀏覽器中,使您的 Fabric 資料代理程式與最新資料保持同步。

Fabric 資料代理設定

Fabric 資料代理程式提供多種設定選項,讓使用者能自訂 Fabric 資料代理程式的行為,以更符合您組織的需求。 當 Fabric 資料代理處理並呈現資料時,這些配置提供了彈性,使得對結果有更多掌控。

提供指示

您可以提供特定指示來引導 AI 的行為。 要在Fabric資料代理指令面板中新增它們,請選擇Data agent instructions,如下圖所示:

顯示選取 [資料代理程式指示] 按鈕的螢幕擷取畫面。

在這裡,您可以使用純英文文字撰寫最多 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 查詢的能力。 對於 KQL 資料庫,NL2KQL 也可以使用你所選資料庫中可用的 KQL 使用者定義函式(UDF),因此可以考慮包含參考 UDF 的範例查詢。

若要新增或編輯範例查詢,請選取 [範例查詢] 按鈕來開啟範例查詢窗格,如下列螢幕快照所示:

顯示您可以在何處編輯提供給 AI 的範例的螢幕擷取畫面。

此窗格提供新增或編輯所有支援資料來源的範例查詢選項,唯獨 Power BI 語意模型與本體論除外。 針對每個數據源,您可以選取 [新增或編輯範例查詢] 輸入相關範例,如下列螢幕快照所示:

螢幕快照,其中顯示您提供給 AI 的 SQL 範例。

備註

Fabric 資料代理僅指包含有效 SQL/KQL 語法且符合所選資料表結構的查詢。 Fabric 的資料代理程式不會使用尚未完成驗證的查詢。 確保所有範例查詢皆有效且正確對齊於結構,以確保 Fabric 資料代理能有效利用這些查詢。

發佈並分享 Fabric 資料代理

當你測試 Fabric 資料代理在各種問題上的效能,並確認它能產生準確的 SQL、DAX 或 KQL 查詢後,就可以與同事分享。 此時,選取 [發佈],如下列螢幕快照所示:

截圖顯示Fabric資料代理的發佈。

此步驟會開啟一個視窗,請求您提供 Fabric 資料代理的描述。 在這裡,請詳細說明 Fabric 資料代理的功能。 這些細節能引導同事了解 Fabric 資料代理的功能,並協助其他 AI 系統/編排器有效調用 Fabric 資料代理。

發佈 Fabric 資料代理後,你就會有兩個版本。 其中一個版本是目前的草稿版本,您可以繼續精簡和改善。 第二個版本是已發佈版本,你可以分享給想查詢 Fabric 資料代理的同事,以獲得問題的答案。 你可以在開發草稿時,將同事的回饋納入目前的草稿中,進一步提升 Fabric 資料代理的效能。

ALM 與部署

Fabric 資料代理支援生命週期管理功能,幫助您跨環境管理代理。

  • 診斷:利用內建診斷工具排除代理行為並識別查詢產生問題。
  • Git 整合:將您的Fabric工作空間連接到 Git 儲存庫,並支援版本控制代理設定,包括指令、範例查詢及資料來源選擇。
  • 部署管線:利用Fabric部署管線,將資料代理程式從開發推進至測試及生產工作區。

備註

查詢使用 Power BI 語意模型的資料代理程式的消費者,只需對這些模型擁有讀取權限,且不需要工作空間存取權限。 修改語意模型或使用像 Prep for AI 等功能需要寫入權限。