创建并编辑主题

重要提示

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

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

在 Copilot Studio 中,主题定义了助手对话如何进行。

要创作主题,您可以自定义提供的模板、从头创建主题,或从现有帮助站点获取建议

在 Copilot Studio 中,主题表示用户和助手之间对话线索的某个部分。 您可以在创作画布上定义和处理主题。主题包含一个或多个对话节点,这些节点共同定义了主题可以采用的对话路径。 每个节点都执行一个操作,如发送消息或提出问题。

通常,主题有一组触发短语—客户可能会使用的与特定问题相关的短语、关键词和问题。 Microsoft Copilot Studio 助手使用自然语言理解、客户信息和所有话题的触发短语来寻找最佳触发话题。 消息不需要与主题的触发短语完全匹配即可触发主题。 例如,关于商店营业时间的主题可能包含触发短语 check store hours。 如果顾客发送“查看商店营业时间”,这将触发您的商店营业时间话题。

先决条件

自然语言理解

助手使用自然语言理解 (NLU) 来解析客户键入的内容,并找到最佳的触发短语或节点。

例如,用户可以键入“营业时间”。助手将其与商店营业时间主题进行匹配,开始对话,询问客户对哪家商店感兴趣,然后显示商店的营业时间。

测试助手窗格显示了助手对话在每一步的进展情况。 您可以使用测试助手窗格来微调主题,而不必退出 Copilot Studio 门户网站。

有关助手和主题限制,请参阅配额、限制和配置值

Microsoft Copilot Studio 中的主题

主题类型

助手可以包括两种类型的主题:系统自定义。 每一个新的助手一开始都有一套系统和自定义主题。

  • 系统主题支持基本行为,例如与某人交谈或结束对话的自定义请求。 一些系统主题有触发短语,您可以根据助手的需求进行定制。

    • 您无法创建系统主题。
    • 您不能删除系统主题,但可以禁用它们。
    • 您可以更改系统主题。 但是,在您习惯创建完整的助手体验之前,我们不建议您编辑系统主题。

    有关详细信息,请参阅使用系统主题

  • 自定义主题涵盖常见行为,例如问候客户、结束对话或重新开始对话。

    • 您可以更改起始自定义主题或将其从助手中完全删除。
    • 您创建的所有主题都是自定义主题。

节点类型

可用的节点类型如下:

选项 Description
发送邮件 给客户发送消息。
提出问题 向客户提问。
使用自适应卡询问 创建一个 JSON 代码片段来与其他应用程序交换。
添加条件 根据条件转移对话。
变量管理 设置值、解析值或清除所有变量。
主题管理 重定向、传输或结束主题或对话。
调用操作 调用类似 Power Automate 或 Excel Online 的流,或者使用连接器或插件。
高级 生成式答案HTTP 请求事件等等。

创建主题

  1. 助手页面上的列表中打开您的助手。 为了获得更好的可视性,请暂时关闭测试助手窗口。

  2. 在导航窗格中选择主题和插件

  3. 选择 + 创建,指向主题,然后选择从空白开始

    触发器节点出现在空白的主题创作画布上,并且识别的意图属性面板处于打开状态。 如果面板未打开,请选择触发器节点的节点菜单图标 (),然后选择属性

  4. 识别的意图属性面板中,单击短语区域。 此时会出现短语二级面板。

  5. 添加短语下,为您的主题输入一个触发短语。

    您的助手需要 5 到 10 个触发短语来训练 AI 理解您的客户的回复。 若要添加更多触发短语,您可以:

    • 选择文本字段旁边的添加图标,并输入所需的短语。
    • 粘贴一组触发短语,每个短语单独一行,然后选择输入
    • 键入一组触发短语,在每个短语后按 Shift+Enter,将其放在单独的一行上,然后选择Enter

    您可以在触发短语中包含标点符号,但最好使用短句而不是长句。

  6. 选择工具栏上的详细信息,打开主题详细信息面板。

  7. 添加您的助手主题详细信息:

    • 输入名称以标识主题,如“商店营业时间”。主题和插件页面按名称列出了您的助手中定义的所有主题。
    • 如有需要,输入一个显示名称,当您的助手无法确定哪个主题与客户的信息匹配时,将向客户显示该名称。
    • 如有需要,使用描述字段为您自己和团队中的其他助手制作者描述主题的目的。 客户永远不会看到主题描述。
  8. 选择顶部菜单栏上的保存,保存您的主题。

设计主题对话路径

创建主题时,会自动在创作画布上添加一个触发器节点。 然后,您可以添加不同类型的节点,实现您的主题所需的对话路径。

要在主题创作画布上的另一个节点之后或两个节点之间添加节点:

  1. 选择您要在其下添加新节点的节点下方的添加节点图标

  2. 从出现的列表中选择所需的节点类型

    用于选择在触发器节点后插入节点的选项的屏幕截图。

删除注释

选择您要删除的节点的菜单图标 (),然后选择删除

用于编辑区域上的节点的控件

您可以使用创作画布工具栏快速重命名主题。 在工具栏中选择主题名称,键入新名称,然后按 Enter 键。

主题创作画布的屏幕截图,突出显示主题名称。

可以使用工具栏上的控件剪切、复制、粘贴和删除选定节点或选定相邻节点。

用于编辑创作画布上的节点的 toolbar 控件的屏幕截图。

工具栏还有一个撤销编辑的控件。 打开撤消菜单,将所有操作恢复到上次保存的状态,或重做上一个操作。

撤消菜单的屏幕截图。

粘贴节点

使用剪切复制工具将一个或多个节点放入剪贴板后,有两种方法可以将它们粘贴到画布中:

  • 如果选择某个节点,然后选择粘贴,则剪贴板上的节点会插入到所选节点之后。

  • 如果您选择“+”来查看添加节点菜单,然后选择粘贴,剪贴板上的节点将插入到该位置。

使用代码编辑器编辑主题

代码编辑器在 YAML 中显示主题,这是一种易于读取和理解的标记语言。 使用代码编辑器复制和粘贴来自其他机器人的主题,甚至是其他作者创建的主题。

重要提示

不完全支持完全在代码编辑器中设计主题以及粘贴复杂主题。

在本例中,您将 YAML 复制并粘贴到代码编辑器中,以快速添加一个向客户询问运输信息的主题。

  1. 主题页上,选择 + 新建主题

  2. 在创作画布的右上角,选择 ... 以查看更多选项,然后选择打开代码编辑器

    关于如何打开代码编辑器的屏幕截图。

  3. 选择并删除代码编辑器的内容。 然后复制并粘贴以下 YAML 代码:

    kind: AdaptiveDialog
    beginDialog:
      kind: OnRecognizedIntent
      id: main
      intent:
        displayName: Lesson 3 - A topic with a condition, variables and a prebuilt entity
        triggerQueries:
          - Buy items
          - Buy online
          - Buy product
          - Purchase item
          - Order product
    
      actions:
        - kind: SendMessage
          id: Sjghab
          message: I am happy to help you place your order.
    
        - kind: Question
          id: eRH3BJ
          alwaysPrompt: false
          variable: init:Topic.State
          prompt: To what state will you be shipping?
          entity: StatePrebuiltEntity
    
        - kind: ConditionGroup
          id: sEzulE
          conditions:
            - id: pbR5LO
              condition: =Topic.State = "California" || Topic.State = "Washington" || Topic.State     = "Oregon"
    
          elseActions:
            - kind: SendMessage
              id: X7BFUC
              message: There will be an additional shipping charge of $27.50.
    
            - kind: Question
              id: 6lyBi8
              alwaysPrompt: false
              variable: init:Topic.ShippingRateAccepted
              prompt: Is that acceptable?
              entity: BooleanPrebuiltEntity
    
            - kind: ConditionGroup
              id: 9BR57P
              conditions:
                - id: BW47C4
                  condition: =Topic.ShippingRateAccepted = true
    
              elseActions:
                - kind: SendMessage
                  id: LMwySU
                  message: Thank you and please come again.
    
  4. 选择保存,然后选择关闭代码编辑器问题节点现在有许多关于运输的条件。

    Microsoft Copilot Studio 代码编辑器中从 YAML 创建的对话的屏幕截图。

测试并发布您的助手

对您的主题进行更改时,请测试您的助手,以确保一切按预期运行。

设计并测试助手后,将其发布到网络、移动或本地应用程序,或 Microsoft Bot Framework 渠道