您可以将互动日志记录导出到 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 控制台中的选项。
要使用 BigQuery 项目所需的最低权限,
用户在 Dialogflow 中看到它为 resourcemanager.projects.get
。
或者,您也可以分配以下包含此权限但不需要用户拥有对 BigQuery 数据集访问权限的 Google Cloud 预定义角色之一: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 | 检测意图请求。 |
Response | JSON | 检测意图响应。 |
partial_responses | JSON | 部分响应(如果适用)。 |
derived_data | JSON | 此对话回合的其他元数据。 |
conversation_signals | JSON | 与 NLU 相关的分析数据。如需了解 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 Export,并提供数据集和表名称 。