将互动日志记录导出到 BigQuery

您可以导出 互动日志记录 更改为 BigQuery。 配置完成后,系统将写入所有实时互动日志记录 添加到 BigQuery 表中。 它为您提供了多种高级分析工具 可帮助您调试和改进代理 并发现对话数据中的规律。

限制

存在以下限制:

  • 每个对话最多可以导出 500 个回合数据。

跨项目权限

如果您的 Dialogflow 代理和 BigQuery 数据不在 同一个项目,则服务账号 与 Dialogflow Google Cloud 项目关联的 Google Cloud 项目还必须 roles/bigquery.dataEditor 中 BigQuery 数据集的 IAM 权限 BigQuery Google Cloud 项目。

服务账号格式:service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com

在 Dialogflow 中配置导出操作的用户必须拥有以下权限: BigQuery 项目如果没有,BigQuery 项目 不会作为选项出现在 Dialogflow 控制台中。

要使用 BigQuery 项目所需的最低权限, 用户在 Dialogflow 中看到它为 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 检测意图请求。
Response JSON 检测意图响应。
partial_responses JSON 部分响应(如果适用)。
derived_data JSON 这轮对话的其他元数据。
conversation_signals JSON 与 NLU 相关的分析数据。如需了解 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 Export,并提供数据集和表名称 。