在 Power Apps 中下载会话记录

您可以在 and 中 Power Apps 查看、导出和下载客户与您的代理互动的记录 Copilot Studio。 每个应用导出的信息略有不同。

本文介绍如何在 Power Apps 中下载对话记录并使用它们在 Power BI 中创建报告。 要直接在中 Copilot Studio下载脚本,请参阅 分析会话信息 Copilot Studio

默认情况下, Power Apps 将下载最近 30 天的对话记录。 您可以更改保留期限

备注

如果您不再有权访问您的环境,您需要在 Power Platform 管理中心创建支持请求

先决条件

从 Power Apps 门户查看和导出代理对话记录

您可以从门户 Power Apps 查看和导出代理对话记录。

首先,使用您的凭据登录 https://www.powerapps.com

查看对话脚本

  1. 在侧窗格中,选择节点,然后选择全部

    此屏幕截图显示在“表”节点上选择了“所有”。

  2. 搜索框中输入对话

  3. 下选择 ConversationTranscript

    ConversationTranscript 表的页面打开。

导出对话脚本

  1. 在侧窗格中,选择节点,然后选择全部

    在“表”节点上选择“所有”。

  2. 搜索框中输入对话

  3. 下选择 ConversationTranscript

  4. 选择导出>导出数据

    编译数据以供导出可能需要几分钟时间。

    从“导出”菜单中选择“导出数据”。

  5. 选择下载导出的数据以下载内容。

    下载导出的数据。

下载代理对话记录

  1. 在 Power Apps 导航菜单中,选择 Dataverse>,然后选择全部

  2. 搜索框中输入对话

  3. 选择 ConversationTranscript 表。

  4. 选择导出>导出数据

    ConversationTranscript 表“导出数据”选项的屏幕截图。

  5. 给 Power Apps 几分钟时间准备要导出的数据,然后选择下载导出的数据

该文件将作为压缩存档保存到浏览器的默认下载位置。

了解对话脚本

对话记录是 CSV(逗号分隔值)文件。 下表介绍对话记录中最重要的字段。

字段 Description 示例
Content JSON 格式的整个脚本记录 请参阅内容字段部分。
ConversationStartTime 对话的开始时间(不是脚本记录写入数据存储的时间) 2021-04-19T20:39:09Z
ConversationTranscript Dataverse 表中行的唯一标识符 28eccb77-xxxx-4a63-985f-ffaaadd6f391
Metadata 包含代理 ID、租户 ID 和代理名称的 JSON {"BotId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "AADTenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "BotName": "Test Bot"}
Name 从后跟 batch numberBotIdConversationId 中创建的自定义行的名称。 当对话有多个分析会话时,批号表示顺序。 经典机器人不包括批号。 8YYe8iif49ZKkycZLe7HUO-o_198eca5f-xxxx-4ae6-8c08-835d884a8688_0
Bot_ConversationTranscript The 代理 ID aaaabbbb-0000-cccc-1111-dddd2222eeee
Created on 创建脚本记录的日期和时间 2021-04-20T02:40:13Z

内容字段

Content 字段是用户对代理进行的所有活动的原始日志。 常见活动类型包括消息和事件:

  • 消息活动表示对话中显示的内容。 消息活动可能包含文本、语音、交互式卡以及二进制或未知附件。
  • 事件活动将编程信息从客户端或渠道传达给代理。

有关活动类型的详细信息,请参阅 Bot Framework 活动架构

下表介绍了内容 JSON 中的一些键字段:

Description
ID 活动对象的唯一 GUID
valueType 存储在活动中的值的类型;它规定了活动提供的信息(常见活动值类型
timestamp 以 Epoch 格式生成活动的时间戳(自 UTC 1970 年 1 月 1 日午夜以来的秒数)
type 活动的类型;例如 messageeventtrace
replyToId 当前活动正在响应的活动的 ID
from 包含字段 idrole
  • id - 调用者的 ID
  • role - 保留 0 或 1
    • 0 - 活动来自代理
    • 1 - Activity 来自与 # 交互的用户代理
注意:
如果画布传入用户的唯一 ID,则 this id 可用于计算与代理交互的活跃用户数。 如果区域未传递 ID,则传递每个对话的唯一 ID。
出于安全和隐私考虑,在写入记录之前,会对 ID 进行哈希处理。
channelId 活动来源的渠道 ID;例如 directlinemsteamsfacebook
textFormat 文本的格式;例如 plainmarkdown
attachments 与活动关联的动态丰富数据;例如 AdaptiveCardsHeroCardsCarousel data
text message 活动的文本
value 基于值类型的特定于活动的字段;此字段用于显示大部分有用信息
channeldata
  • 包含渠道数据:
    • 对于消息:
      • DialogTraceDetail
      • DialogErrorDetail
      • VariableDetail(包含分配到变量的值)
      • CurrentMessageDetail
    • 对于事件:
      • cci_trace_id
      • traceHistory
      • enableDiagnostics
      • clientTimestamp
      • clientActivityId
name 事件活动的名称;例如 SetPVAContext

常见活动值类型

活动值类型 Description
ConversationInfo 对话是否来自 Copilot Studio 测试窗格 (isDesignMode) 以及对话的区域设置
CSATSurveyRequest 将向用户显示客户满意度 (CSAT) 调查
CSATSurveyResponse 用户响应 CSAT 调查
DialogRedirect 用户将重定向到另一个主题
ImpliedSuccess 用户已到达主题中的问题节点,其中一个条件指向已成功确认 CSAT 系统主题或调用结束对话系统主题
IntentRecognition 用户触发了一个话题
PRRSurveyRequest 系统询问用户主题是否在结束对话主题中回答了其问题
PRRSurveyResponse 用户响应主题是否在结束对话主题中回答了其问题
SessionInfo 类型(unengagedengaged)、结果(EscalatedResolvedAbandon)和会话的启用计数
VariableAssignment 给变量赋值

从对话脚本中生成自定义 Power BI 报表

从对话记录中生成自定义报表的一种有用方法是查看需要处理的消息数。

轻量级方法

使用 Power BI 数据流将 Power BI 连接到 Dataverse。 不需要其他基础结构,每次刷新时,都从 Dataverse 中检索所有记录。

显示从 Dataverse 到 Power BI 模型的数据流的图表。

优点 缺点
实施最简单。 随着脚本的增加,刷新时间可能会增加。
Dataverse 中的存储成本较高。

标准 Azure Data Lake Storage 方法

将 Dataverse 数据导出到 Azure Data Lake Storage。 此方法需要 Azure Data Lake Storage 帐户,但不需要其他 Azure 基础结构。

将记录上的 Power Platform 数据流用于准备数据,并将数据提取到结构化窗体中。

Power BI 将刷新来自数据流的数据。 Power Platform 和 Power BI 将管理所有计算基础结构。 每次刷新时,都将从 Dataverse 检索某一天的记录。

图表显示数据从 Dataverse 流入 Azure Data Lake Storage,由 Power Platform 和 Power BI 处理。

优点 缺点
Azure Data Lake Storage 中的存储成本较低。
实施比较简单。
不需要 Azure 计算。
随着每天脚本的增加,刷新时间可能会增加。

Azure Data Lake Storage + Synapse 方法

标准 Azure Data Lake Storage 方法中的数据大小会导致刷新速度慢或其他操作问题。 在这种情况下,您可以使用 Azure Synapse Analytics,并将其集成到 Power BI 中

从 Dataverse 流入 Azure Data Lake 并由 Azure Synapse 和 Power Platform 处理的数据的图表。

优点 缺点
刷新时间固定不变。
实施比较简单。
Azure Data Lake Storage 中的存储成本较低。
计算 Azure Synapse 的成本。

更改默认保留期

Power Apps 批量删除作业会自动删除超过 30 天的代理转录文本。 为了使记录保留更长时间,请取消现有作业并创建一个按不同计划运行的新作业。

取消现有批量删除作业

  1. 在 Power Apps 中,选择设置>高级设置

    Power Apps 设置菜单的屏幕截图,其中突出显示了“高级设置”。

    Dynamics 365 门户将在新选项卡中打开。

  2. 选择设置旁边的插入符号,然后选择系统下面的数据管理

    设置菜单的屏幕截图,其中突出显示了“数据管理”。

  3. 选择批量删除记录

  4. 视图列表中,选择定期批量删除系统作业

    定期批量删除作业列表的屏幕截图。

  5. 选择批量删除超过 1 个月的对话脚本记录作业。

    批量删除作业列表的屏幕截图,其中突出显示了第一个作业。

  6. 更多操作列表中,选择取消

    已突出显示“取消”的“其他操作”列表的屏幕截图。

创建新的批量删除作业

  1. 若要启动批量删除向导,请选择新建,然后在向导中,选择下一步

  2. 设置以下搜索条件:

    • 查找列表中,选择 ConversationTranscripts
    • 选择 ConversationStartTime,然后选择 X 个月以前,并键入 "12"。
      此设置会将记录保留 12 个月。 如果愿意,请选择其他比较和值。
    • 选择 SchemaType,保留等于,然后输入 "powervirtualagents"。

    批量删除作业搜索条件设置的屏幕截图。

  3. 选择下一步

  4. 输入作业的名称,并选择运行此作业的间隔,然后输入 1。 如果您不希望该作业每天运行,请选择其他计划。

    批量删除作业名称和运行设置的屏幕截图。

  5. 选择下一步,然后选择提交

有关充分利用对话记录的提示

变量可用于存储与您的代理内容 或代理用户相关的数据。 通过从对话脚本中分析变量及其值,您可以按变量筛选或切分数据。

在许多位置中,对话脚本按其 ID 引用内容。 例如,当前主题重定向到的主题 ID 仅由其 ID 引用。 要获取主题的名称,请在代理内容中查找其名称。