將對話記錄匯出至 BigQuery

您可以將對話記錄匯出至 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/browserroles/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 回覆意見回饋 (如有)。

設定

如要設定匯出對話記錄,請按照下列步驟操作:

  1. 確認已啟用對話記錄
  2. 請按照 BigQuery 資料集建立指南建立資料集。請記下資料集名稱,因為下一個步驟會用到。
  3. 請按照 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
    );
    
  4. 設定代理程式設定,啟用 BigQuery 匯出功能,並提供上述建立的資料集和資料表名稱。