為 Looker 資料來源算繪代理程式回覆

本指南說明如何使用 Looker 資料來源,在使用者介面 (UI) 中算繪 Conversational Analytics API 的輸出內容。

使用者查詢 API 時,除了最終答案,回應還可包含中間推理步驟。本指南說明如何實作主要答案檢視畫面完整詳細資料檢視畫面,以不同詳細程度顯示 API 回應:

  • 主要答案檢視畫面會直接顯示使用者問題的答案。這個檢視畫面會簡要呈現資訊,不會預先提供代理程式的推理細節。
  • 完整詳細資料檢視畫面會顯示代理程式為得出最終答案而遵循的完整推理過程,包括主要答案檢視畫面中的所有元素。

建議的 UI 模式是預設顯示主要答案檢視畫面,並提供 UI 控制項 (例如按鈕或切換開關),讓使用者切換至完整詳細資料檢視畫面。雖然推理詳細資料有助於驗證邏輯,但如果使用者主要想知道最終答案,預設顯示這些資料可能會增加不必要的細節。

主要答案檢視畫面

如要只顯示使用者問題的最終直接答案,請按照本節的步驟操作。這個檢視畫面著重於最終輸出內容,不包含中間步驟。

系統訊息的顯示指引

下表說明系統訊息 (視為最終直接答案),以及如何顯示這些訊息的建議。

系統訊息 轉譯指南
DataQuery 使用相關聯的結果進行算繪。只有在您算繪對應的 DataResult 訊息時,才算繪這則訊息。

在下列情況下,請勿算繪 DataQuery 訊息:
  • DataQuery 訊息的 name 欄位以 _sample_values 結尾 (例如 products_brand_sample_values)。
  • 相應 DataResult 訊息的 name 欄位結尾為 _sample_values
  • 對應 DataResult 訊息中的 data 欄位為空白。
建議將查詢文字放在切換按鈕內,以便視需要顯示來源查詢。舉例來說,Looker 中的對話式數據分析會使用「這是如何計算的?」控制項。
DataResult 顯示所有 DataResult 訊息,但中間和空白結果除外。

在下列情況下,請勿算繪 DataResult 訊息:
  • name」欄位將於 _sample_values結束。這些是擷取特定欄位範例值的步驟。
  • data」欄位為空白。最終的 TextMessage 回覆會摘要說明這些結果。
ChartResult 算繪所有圖表。在 API 回應中算繪所有 ChartResult 訊息。
TextMessage 只顯示最終回覆。只有在 TextType 值為 FINAL_RESPONSE 時,才轉譯 TextMessage 訊息。

範例:算繪主要答案檢視畫面

您可以實作切換按鈕 (例如「顯示原因」),讓使用者從主要答案檢視畫面切換至完整詳細資料檢視畫面。

收合狀態的切換鈕,標籤為「顯示原因」。

以下轉錄稿顯示主要答案檢視畫面。如果是 DataQuery 訊息,建議您將查詢詳細資料隱藏在內嵌切換按鈕後方,並在轉錄稿中以摺疊圖示 () 表示,讓使用者選擇是否要存取基礎查詢邏輯。

使用者:比較 Cymbal Group 在 2022 年和 2023 年的總銷售額。在圖表上繪製結果。

代理程式

以下是「Total Sales Cymbal Group 2022 2023」的查詢結果。

建立年份 總銷售額
2023 $96,627.00
2022 $93,095.50

Cymbal Group 在 2022 年和 2023 年的總銷售額

長條圖:比較 2022 年和 2023 年的銷售量。

Cymbal Group 在 2022 年的銷售總額為 $93,095.50,2023 年則為 $96,627.00

下表列出範例互動中的元素,以及對應的 API 系統訊息。

元素 來源訊息
產生的查詢 (根據預設,JSON 會隱藏在 切換按鈕後方) DataQuery
資料表格 DataResult
長條圖 ChartResult
最終文字答案 TextMessage (FINAL_RESPONSE)

完整詳細資料檢視畫面

請按照這份指南,完整呈現推理過程。這個檢視畫面包含主要回覆檢視畫面中的所有內容,並按照代理程式生成內容和步驟的順序顯示。這個檢視畫面會顯示代理程式為得出最終答案所採取的步驟,包括推理過程和中繼資料。

提供推理和精細資料擷取的算繪指引

下表說明代表代理程式推理和細微檢索步驟的系統訊息,以及如何顯示這些訊息的建議。

系統訊息 轉譯指南
TextMessage,並將 TextType 值設為 THOUGHT 顯示推論步驟。顯示這些訊息,讓使用者瞭解服務專員的內部思考過程。這類訊息包含兩個部分:
  • parts[0] 是想法摘要,簡要總結完整想法文字
  • parts[1] 是完整的想法文字
如果應用程式會顯示狀態更新 (例如載入指標或進度列),建議您將想法摘要 (parts[0]) 顯示為暫時狀態指標。
TextMessage,並將 TextType 值設為 PROGRESS 顯示 PROGRESS 訊息。顯示這些訊息,深入瞭解代理程式的動作。這些是關於代理程式進度的資訊訊息,例如正在呼叫的工具。這與代理程式的內部思考過程 (THOUGHT) 和最終給使用者的答案 (FINAL_RESPONSE) 不同。這些訊息包含兩部分:
  • parts[0] 是摘要。
  • parts[1] 是完整進度文字。
DataQueryDataResult,名稱結尾為 _sample_values 顯示中繼 DataQueryDataResult 訊息。 DataQueryDataResult 訊息的 name 欄位結尾為 _sample_values,這兩者都是用於精細資料擷取的步驟,不會顯示在主要答案檢視畫面中。在完整答案檢視畫面中 (切換按鈕後方) 顯示這些內容,說明代理程式採取的步驟。
DataResult 欄位空白data 只顯示相關的 DataQuery 訊息。在任何檢視畫面中,都不要顯示 data 欄位空白的 DataResult 訊息。在完整詳細資料檢視畫面中,顯示導致結果空白的 DataQuery 訊息 (位於切換按鈕後方)。即使查詢未產生任何結果,使用者仍可查看執行的查詢。最終答案摘要 (TextMessage,類型為 FINAL_RESPONSE) 應已告知使用者查詢未傳回任何資料。

範例:算繪完整詳細資料檢視畫面

使用者將「顯示推理過程」切換按鈕切換至展開狀態時,UI 會顯示代理程式的逐步推理過程。

展開狀態的切換按鈕,標籤為「顯示原因」。

以下轉錄稿顯示完整詳細資料檢視畫面,包括推理步驟。對於 DataQuery 訊息,查詢詳細資料預設會顯示在轉錄稿中,您也可以選擇隱藏在展開圖示 () 後方。

使用者:比較 Cymbal Group 在 2022 年和 2023 年的總銷售額。在圖表上繪製結果。

代理程式

瞭解結構定義

如要比較「Cymbal Group」在 2022 年和 2023 年的總銷售量,我需要查詢「Order Items」探索。我將依產品名稱「Cymbal Group」以及 2022 年和 2023 年進行篩選。然後擷取 Total SalesCreated Year 欄位。

以下是「Total Sales Cymbal Group 2022 2023」的查詢結果。

[
 {"model":"thelook","view":"order_items","fields":["order_items.total_sale_price","order_items.created_year"],
 "filters":{"order_items.created_year":"2022,2023","products.brand":"Cymbal Group"}}
]
建立年份 總銷售額
2023 $96,627.00
2022 $93,095.50

繪製銷售分布圖

我已擷取「Cymbal Group」在 2022 年和 2023 年的總銷售額。我現在會生成圖表,以視覺化方式呈現這項比較結果,然後提供最終答案。

生成長條圖,比較「Cymbal Group」在 2022 年和 2023 年的總銷售量。X 軸應代表年份,Y 軸應代表總銷售量。

長條圖:比較 2022 年和 2023 年的銷售量。

Cymbal Group 在 2022 年的銷售總額為 $93,095.50,2023 年則為 $96,627.00

下表列出範例互動中的步驟,以及對應的 API 系統訊息。

元素 來源訊息
「瞭解結構定義」(想法摘要) TextMessage (類型 THOUGHTparts[0])
「如要比較總銷售額...」(完整想法文字) TextMessage (類型 THOUGHTparts[1])
產生的查詢 (展開 切換開關時顯示的 JSON) DataQuery
資料表格 DataResult
「繪製銷售分配圖」 (想法摘要) TextMessage (類型 THOUGHTparts[0])
「我已擷取...」(完整想法文字) TextMessage (類型 THOUGHTparts[1])
長條圖 ChartResult
最終文字答案 TextMessage (FINAL_RESPONSE)