本文說明使用對話式數據分析 API (geminidataanalytics.googleapis.com
) 的重要概念,讓您建立及與資料代理互動,使用自然語言回答有關結構化資料的問題。本文說明代理程式的運作方式、一般工作流程、對話模式、身分與存取權管理 (IAM) 角色,以及如何設計多個代理程式的系統。
資料代理程式的運作方式
對話式數據分析 API 資料代理程式會使用您提供的內容 (業務資訊和資料) 和工具 (例如 SQL 和 Python),解讀自然語言問題,並從結構化資料生成回應。
下圖說明使用者提出問題時,代理程式工作流程的各個階段:
如圖所示,當使用者提出問題時,代理程式會依下列階段處理要求:
- 使用者輸入內容:使用者以自然語言提交問題,並提供您提供的任何其他脈絡。
- 資料來源:這項代理程式會連結至 Looker、BigQuery 和 Looker Studio 中的資料,以擷取必要資訊。
- 推理引擎:代理程式的核心,會使用可用工具處理使用者的問題,並生成答案。
- 代理程式輸出內容:代理程式會生成回覆,其中可能包含文字、資料表或圖表規格。
設計及使用代理程式的工作流程
Conversational Analytics API 支援服務專員建立者 (負責建構及設定服務專員) 和服務專員消費者 (負責與服務專員互動) 的工作流程。
下圖說明從代理程式建立者進行初始設定,到代理程式消費者進行最終互動的端對端流程:
以下各節將詳細說明代理程式建立者和代理程式使用者的工作流程。
代理程式建立者工作流程
虛擬服務專員建立者負責設定及配置虛擬服務專員。這項工作流程包含下列步驟:
- 建立代理程式:建立者先建立新的代理程式,並提供必要的背景資訊,包括系統指令和資料來源的連結。這個步驟非常重要,有助於 AI 代理瞭解並有效回應使用者問題。
- 分享代理程式:設定代理程式後,建立者會將代理程式分享給其他使用者,並設定適當的以角色為基礎的存取權控管,以管理權限。
代理商消費者工作流程
代理程式消費者通常是需要從已設定代理程式取得答案的企業使用者。這項工作流程包含下列步驟:
- 尋找代理程式:使用者首先要尋找與自己共用的代理程式。
- 提問:使用者以自然語言提問。這個問題可以是單一查詢,也可以是多輪對話的一部分。
- 代理程式「思考」:代理程式的推理引擎會處理問題。推理引擎會在「推理迴圈」中使用代理程式的預先定義知識和可用代理程式工具 (例如 SQL、Python 和圖表),判斷回答問題的最佳方式。
- 代理程式回應:代理程式會傳回答案,其中可能包含文字、資料表或圖表。
對話模式
對話式數據分析 API 代理支援不同的對話模式,可決定代理如何處理對話記錄,以及在互動時持續考量相關脈絡。可用的對話模式如下:
- 無狀態模式:代理不會儲存對話記錄。系統會個別處理每次互動。如果您不需要在多個回合中維持脈絡,這個模式就非常實用。
- 有狀態模式:代理程式會保留脈絡和對話記錄,因此互動時能更貼近脈絡。如果您需要跨多輪對話維持脈絡,這個模式就非常實用。建議使用有狀態模式,以獲得更準確的個人化回覆。
根據應用程式對對話記錄和內容持續性的要求,選擇對話模式。
IAM 角色
身分與存取權管理角色可控管哪些使用者可以建立、管理、共用及與 Conversational Analytics API 代理互動。下表說明 Conversational Analytics API 的重要 IAM 角色:
角色 | 一般範圍 | 這個角色可執行的操作 | 適用對象 |
---|---|---|---|
Gemini Data Analytics 資料代理建立者 (roles/geminidataanalytics.dataAgentCreator ) |
專案 | 建立代理程式,並在代理程式上繼承擁有者權限。 | 任何資料分析師 |
Gemini Data Analytics 資料代理擁有者 (roles/geminidataanalytics.dataAgentOwner ) |
專案、代理程式 | 與其他使用者編輯、共用或刪除代理程式。 | 資深資料分析師 |
Gemini Data Analytics 資料代理編輯者 (roles/geminidataanalytics.dataAgentEditor ) |
代理程式、專案 | 更新代理程式的設定或脈絡。 | 初階資料分析師 |
Gemini Data Analytics 資料代理使用者 (roles/geminidataanalytics.dataAgentUser ) |
代理程式、專案 | 與服務專員進行即時通訊。 | 行銷人、商店擁有者 |
Gemini Data Analytics 資料代理檢視者 (roles/geminidataanalytics.dataAgentViewer ) |
專案、代理程式 | 列出代理程式並取得詳細資料。 | 所有使用者 |
Gemini Data Analytics 資料代理無狀態使用者 (roles/geminidataanalytics.dataAgentStatelessUser ) |
專案 | 與服務專員即時通訊,系統不會儲存對話內容或對話記錄。 | 所有使用者 |
有多個代理程式的系統
您可以整合多個對話式數據分析 API 代理程式,設計複雜的系統。常見模式是使用主要「自動化調度管理」代理程式,將工作委派給一或多個專門處理特定領域 (例如銷售或行銷資料) 的代理程式。這種做法結合了多個代理程式的優點,可建構出能處理各種問題的系統。
下圖說明這個多代理程式模式,並顯示主要代理程式如何將資料問題委派給專門的對話式數據分析代理程式:
多代理系統的一般工作流程包含下列步驟:
- 業務使用者或資料分析師以自然語言提問,例如「Show me the top three stores by revenue」(依收益顯示前三名商店)。
- 主要「協調」服務專員會將要求委派給適當的專業服務專員。
- 專責代理程式會收到委派的要求、連線至相關資料來源、使用工具產生必要的 SQL 查詢和圖表,並產生回應。
- 系統會將專屬代理程式的回覆傳回給使用者,例如「商店 4、9 和 3 的收益最高。這是圖表。」
後續步驟
瞭解 Conversational Analytics API 的核心概念後,請探索如何實作這些功能:
- 瞭解如何驗證及連結資料來源。
- 瞭解如何使用 HTTP 建立及設定代理程式。
- 瞭解如何使用 Python 建立及設定代理程式。
- 進一步瞭解如何使用撰寫的內容引導代理程式行為。
- 瞭解如何透過 IAM 控管 Conversational Analytics API 的存取權。