您可以將對話記錄匯出至 BigQuery。設定完成後,所有即時對話記錄都會寫入 BigQuery 資料表。這項功能提供進階分析工具,可協助您偵錯及改善代理程式,並找出對話資料中的模式。
限制
限制如下:
- 每個對話最多可匯出 500 輪對話。
跨專案權限
如果 Dialogflow 代理程式和 BigQuery 資料不在同一個專案中,與 Dialogflow Google Cloud 專案相關聯的服務帳戶也必須具備 BigQuery Google Cloud 專案中 BigQuery 資料集的 roles/bigquery.dataEditor IAM 權限。
服務帳戶格式:service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com
在 Dialogflow 中設定匯出功能的使用者,必須擁有 BigQuery 專案的權限。如果沒有,BigQuery 專案就不會顯示在 Dialogflow 控制台中。
使用者如要在 Dialogflow 中查看 BigQuery 專案,至少需要 resourcemanager.projects.get 權限。或者,您也可以指派下列其中一個 Google Cloud 預先定義的角色
,這些角色包含這項權限,但不需要使用者存取 BigQuery 資料集:roles/browser 或 roles/bigquery.metadataViewer。
資料表說明
表格的每一列都包含一個對話回合,以及下列各欄:
| 欄 | 類型 | 說明 |
|---|---|---|
| project_id | STRING | 專案 ID。 |
| agent_id | STRING | 代理程式 ID。 |
| conversation_name | STRING | 工作階段的完整資源名稱。 |
| turn_position | INTEGER | 對話輪次編號。 |
| request_time | TIMESTAMP | 對話輪流進行的時間。 |
| language_code | STRING | 語言標記。 |
| 要求 | JSON | 偵測意圖要求。 |
| 回應 | JSON | 偵測意圖回應。 |
| partial_responses | JSON | 部分回應 (如適用)。 |
| derived_data | JSON | 這個對話回合的其他中繼資料。 |
| conversation_signals | JSON | NLU 相關的 Analytics 資料。如需 JSON 結構定義,請參閱 ConversationSignals。 |
| bot_answer_feedback | JSON | 回覆意見回饋 (如有)。 |
設定
如要設定匯出對話記錄,請按照下列步驟操作:
- 確認已啟用對話記錄。
- 請按照 BigQuery 資料集建立指南建立資料集。請記下資料集名稱,因為下一個步驟會用到。
請按照 BigQuery 資料表建立指南,使用 SQL 結構定義建立資料表。使用下列 SQL 陳述式建立檢視區塊:
CREATE TABLE <your_dataset_name>.dialogflow_bigquery_export_data( project_id STRING, agent_id STRING, conversation_name STRING, turn_position INTEGER, request_time TIMESTAMP, language_code STRING, request JSON, response JSON, partial_responses JSON, derived_data JSON, conversation_signals JSON, bot_answer_feedback JSON );設定代理程式設定,啟用 BigQuery 匯出功能,並提供上述建立的資料集和資料表名稱。