使用对话脚本

重要提示

继在生成式人工智能的重大投资和跨 Microsoft Copilot 的增强集成之后,Power Virtual Agents 功能和特性现已成为 Microsoft Copilot Studio 的一部分

在我们更新文档和培训内容时,一些文章和截图可能会参考 Power Virtual Agents。

您可以在 Power Apps 和 Microsoft Copilot Studio 中查看、导出和下载客户与您的助手的交互脚本。 每个应用导出的信息略有不同。 本文介绍如何在 Power Apps 中下载对话记录并使用它们在 Power BI 中创建报告。 在 Microsoft Copilot Studio 中下载助手会话脚本

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

备注

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

先决条件

从 Power Apps 门户查看和导出助手对话记录

您还可以从 Power Apps 门户查看和导出助手对话记录。

首先需要使用凭据登录 https://www.powerapps.com

查看对话脚本

  1. 在侧窗格中,选择节点。 在顶部,选择全部

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

  2. 在右上角的搜索文本框中键入对话。 在下选择 ConversationTranscript

    显示已选中“对话记录”的屏幕截图。

  3. 此时将打开 ConversationTranscript 表的页面,并显示可供查看的数据列表。

    显示已展开“活动对话记录”的屏幕截图。

导出对话脚本

  1. 在侧窗格中,选择节点。 在顶部,选择全部

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

  2. 在右上角的搜索文本框中键入对话。 在下选择 ConversationTranscript

    选择要导出的记录。

  3. 展开屏幕顶部的导出菜单项并选择导出数据。 编译数据以供导出可能需要几分钟时间。

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

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

    下载导出的数据。

下载助手对话脚本

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

  2. 选择全部

  3. 在右上角的搜索框中,键入会话

  4. 选择 ConversationTranscript 表。

    Power Apps 表页面的屏幕截图,其中突出显示了 ConversationTranscript 表。

  5. 选择导出,然后选择导出数据

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

  6. 让 Power Apps 等待几分钟来准备要导出的数据。 选择下载导出的数据

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

了解对话脚本

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

字段 说明 示例
内容 JSON 格式的整个脚本记录 请参阅内容字段部分。
ConversationStartTime 对话的开始时间(不是脚本记录写入数据存储的时间) 2021-04-19T20:39:09Z
ConversationTranscript Dataverse 表中行的唯一标识符 28eccb77-xxxx-4a63-985f-ffaaadd6f391
元数据 包括助手 ID、租户 ID 和助手名称的 JSON {"BotId": "198eca5f-xxxx-4ae6-8c08-835d884a8688", "AADTenantId": "72f988bf-xxxx-41af-91ab-2d7cd011db47", "BotName": "Test Bot"}
客户 从后跟 batch numberBotIdConversationId 中创建的自定义行的名称。 当对话有多个分析会话时,批号表示顺序。 经典机器人不包括批号。 8YYe8iif49ZKkycZLe7HUO-o_198eca5f-xxxx-4ae6-8c08-835d884a8688_0
Bot_ConversationTranscript 助手 ID 198eca5f-xxxx-4ae6-8c08-835d884a8688
创建日期 创建脚本记录的日期和时间 2021-04-20T02:40:13Z

内容字段

内容字段是用户与助手进行的所有活动的原始日志。 常见活动类型包括消息和事件:

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

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

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

说明
ID 活动对象的唯一 GUID
valueType 存储在活动中的值的类型;它规定了活动提供的信息(常见活动值类型
timestamp 以 Epoch 格式生成活动的时间戳(自 UTC 1970 年 1 月 1 日午夜以来的秒数)
type 活动的类型;例如 messageeventtrace
replyToId 当前活动正在响应的活动的 ID
from 包含字段 idrole
  • id - 调用者的 ID
  • role - 保留 0 或 1
    • 0 - 活动来自助手
    • 1 - 活动来自与助手交互的用户
注意:
如果区域传入用户的唯一 ID,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

常见活动值类型

活动值类型 描述
ConversationInfo 对话是否来自 Microsoft 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 引用。 若要获取主题的名称,请从助手内容中查找主题的名称。