主题可以在支持 YAML 的代码编辑器中编写和编辑。 YAML 代表“YAML 不是标记语言”。YAML 通常用于编写配置文件,并且比 XML 或 JSON 更容易阅读。 YAML 文件使用 .yaml 或者 .yml 文件扩展名。 您可以通过空格和缩进来格式化 YAML 文件,以表示数据结构,例如字符串、数字、布尔值、列表和字典。
要通过主题访问代码编辑器,请在工具栏上选择 (…) 更多,然后选择打开代码编辑器。
观看此视频,了解如何在代码编辑器中使用 YAML:
重要提示
任何制作者都可以使用代码编辑器探索主题的配置。 开发人员和高级用户可以选择在代码编辑器中设计和编辑。 请注意,在代码编辑器中进行修改时需谨慎。 标点或语法错误可能导致复杂的错误信息,甚至中断当前对话。 我们的技术支持团队无法协助排查或修复代码编辑器中的错误。 如果您是 YAML 修订新手,请务必在进行任何更改之前复制该主题。
何时使用代码编辑器
Copilot Studio 无需你手动从头编写 YAML。 相反,当您在主题画布上创建对象时,会自动生成 YAML。 然后您可以在代码编辑器中查看配置,更好地了解这些设置,也可以选择更改 YAML。 以下是代码编辑器的示例用例:
- 代码编辑器显示主题的完整配置,而无需与主题中的各个对话元素进行交互。 它是显示主题中所有设置的一站式服务。
- 制作者可以选择从主题中复制特定节点并粘贴到其他主题中,而不是使用复制和粘贴图标。 这可能比选择一个配置的多个节点更容易。
- 制作者可以选择在 YAML 中更新 Power Automate 流 ID,而无需等待同步到“调用与操作”菜单。
- 当问题节点或消息节点相似时,制作者可以选择克隆并修改它们。 但是,在这种情况下,确保所有 ID 和变量保持唯一至关重要。 记得修改克隆的 ID,使其成为唯一的 ID。
- 制作者可能会选择在代码编辑器中进行简单修改,例如将术语附加到主题短语,因为输入或复制粘贴到 YAML 代码中通常更高效。
在代码编辑器中了解 YAML
下图显示了一个典型的 YAML 代码块示例。
下面是代码如何应用到画布上显示的相应主题。
- 第 1 行:主题类型。
- 行 2-3:指示对话推进主题的开始。
- 第 7 行:表示生成式答案节点。
- 第 9 行:相关变量。
- 第 11-12 行:提示及特殊说明的详细信息。
- 第 20-26 行:知识来源链接。
- 第 28-32 行:条件组: 每个条件都有一个唯一的 ID,并包含该条件的公式详情和重定向。
在代码编辑器中测试 YAML
若要测试此代码,请在 Copilot Studio 中完成以下步骤:
创建智能体。
进入智能体的设置页面,选择生成式 AI,然后选择生成式。
转到主题页面,选择系统,然后选择对话推进主题。
打开代码编辑器。
用以下 YAML 示例代码替换现有代码。
kind: AdaptiveDialog beginDialog: kind: OnUnknownIntent id: main priority: -1 actions: - kind: SearchAndSummarizeContent id: search-content userInput: =System.Activity.Text variable: Topic.Answer moderationLevel: Medium additionalInstructions: Include emojis to make responses more fun. publicDataSource: sites: - "www.chessusa.com/" - "www.chess.com/" - "www.lichess.org/" sharePointSearchDataSource: {} - kind: ConditionGroup id: has-answer-conditions conditions: - id: has-answer condition: =!IsBlank(Topic.Answer) actions: - kind: EndDialog id: end-topic clearTopicQueue: true选择保存并关闭代码编辑器。
在测试面板中,通过询问一个与象棋相关的问题来测试智能体,例如“骑士是如何移动的?”