将操作与自定义代理结合使用(预览版)

您可以通过添加一个或多个操作来扩展代理的功能。 您的代理使用操作通过生成编排 自动响应用户,或者您可以从主题中显式调用它们。

核心操作类型

如果您启用 生成式编排,您的代理可以自动选择最合适的操作或主题,或者跨知识搜索,以响应用户。

在经典模式(禁用生成编排)下,代理只能使用主题来响应用户。 但是,您仍然可以将代理设计为从 topic 中显式调用 action。

操作基于以下核心操作类型之一:

  • 预生成连接器操作
  • 自定义连接器操作
  • Power Automate 云端流
  • AI Builder 提示
  • Bot Framework 技能

每个核心操作都有描述其用途的附加信息,允许代理使用生成式 AI 来生成问题。 需要这些问题来填写执行操作所需的输入。 因此,您不需要手动创建问题节点来收集所有需要的输入,例如流上的输入。 在运行时为您处理 Importing。

默认情况下,使用生成模式时,操作会将其信息返回给代理,以便代理可以生成用户查询的上下文回复。 Alternatively,您可以指示您的操作始终立即响应,生成消息或创作显式消息。

小费

当使用操作生成的问题时,通知用户一些对话可能是由人工智能生成的。

例如,在开始对话系统主题中添加一条额外消息。 此主题决定了新对话开始时向用户显示的消息。

添加操作

  1. 通过在左侧导航窗格中选择 Agents(代理 )并从列表中选择您的代理来打开您的代理。

  2. 选择 操作 以查看代理的操作。

  3. 选择添加操作

  4. 在 Choose an action(选择操作 )向导中,搜索要使用的操作并选择它。

    显示的默认列表在您的环境中有 Power Automate 个可用的流和自定义连接器。 此列表包括常用的预生成连接器和 Bot Framework 技能代理。

    打开操作类型筛选器时操作向导第一页的屏幕截图。

    重要提示

    一些从 AI 插件创建的操作,比如动态提示和那些基于 Dataverse API 的操作,需要身份验证

    根据操作的不同,您的连接会自动配置,如示例所示。 否则,跟随向导的说明来配置连接。 成功配置连接后,选择下一步

    连接页面上操作向导第一页的屏幕截图。

  5. 查看您的插件操作配置,并 根据需要进行更改

    选择下一步

  6. 选择 完成(Finish) 将操作添加到您的代理。

测试您的操作

如果启用了 生成式编排,则会自动调用您的操作以回复相关的用户查询。

Alternatively,则可以 从主题中显式调用操作。

您的代理根据名称和描述选择并运行您的操作。 您可以作者高质量的描述,使用活动地图查看您的代理从 操作 页面选择了哪些操作。

在这张截图中,您可以看到一个正在对天气操作进行测试:

正在测试的操作的屏幕截图。

对您的操作配置进行更改

有许多方法可以配置您的操作。 在操作向导的最后一步,称为查看并完成,您可以通过单击相应部分旁边的编辑来更改操作的配置。 从向导中的 Review inputs and outputs (查看输入和输出)屏幕,或从已包含在代理中的操作的详细信息页面中,您可以管理操作的输入和输出参数。

操作详细信息

您可以在此配置操作的详细信息,包括操作的模型显示名称模型描述。 通常,名称和描述是根据您选择的操作预先填充的。

每个 输入的显示名称Description 属性可帮助代理了解输入的用途,为用户生成适当的问题,并识别用户回复中的正确值。 例如,以下是 MSN Weather 连接器的位置输入参数的默认名称和描述。

  • 名称:位置
  • 描述:位置搜索查询。 有效输入包括城市、地区、州、国家/地区、地标、邮政编码、纬度和经度

当代理提示用户输入位置时,它会生成一个问题,例如: 您想查看天气的位置是什么?您可以输入城市、地区、州、国家/地区、标志或邮政编码。

您可以根据收集的输入将 Identify as(标识为 )选项更改为 特定实体类型,这可以帮助代理准确地从用户的回复中提取值。

输入

默认情况下,每个输入都设置为动态填充最佳选项。 代理尝试从可用上下文(例如,从用户的消息)中提取值。 如果没有找到合适的值,它会生成一个问题,要求用户输入一个值。 您可以用一个值覆盖输入,而不是询问用户。 要设置覆盖,对于 How will the 代理 fill this input?,选择Set as a value( 设置为值),然后输入所需的值。 该值可以是文字值、现有变量或 Power Fx 公式。

操作配置输入部分的屏幕截图。

要在请求值或验证用户答案时控制代理的行为,您可以为输入配置 其他设置

输出

默认情况下,您的操作被配置为根据用户的查询和操作结果,自动为用户生成上下文回复。 例如,如果用户问,“伦敦现在的温度是多少?”,使用 GPT 生成上下文回复,例如“伦敦的当前温度是 9 摄氏度”。

或者,您可以选择为您的操作创建一个特定的回复。 与确认编辑器一样,您可以使用变量选择器从操作中插入对输出变量的引用,如下例所示。

变量选择器打开时输出回复编辑器的屏幕截图。

从主题中调用操作

您可以从主题中显式调用操作,类似于调用其他操作类型,比如 Power Automate 流。 根据您的用例,您可以将流作为一个更广泛的主题的一部分,使用更多的节点。 或者,就像在天气的例子中,向主题添加一个操作节点可能就是您所需要的。

要从主题中调用操作:

  1. 在, Copilot Studio转到 要编辑的代理的 Topics(主题 )页面。

  2. 创建一个新主题,然后将其命名为获取天气

  3. 添加以下触发短语

    • 会下雨吗
    • 今日预测
    • 获取天气
    • 天气怎么样

    新主题中触发短语的屏幕截图。

  4. 选择添加节点+),然后选择调用操作。 切换到插件操作(预览)选项卡,然后选择您之前创建的操作,获取天气预报

    打开新节点菜单并选择天气操作的屏幕截图。

  5. 您的插件操作(预览)节点现已添加到您的主题中。

    主题中新操作节点的截图。

  6. 选择保存

从主题调用操作时覆盖输入

默认情况下,当您的操作运行时,您的代理会生成问题供用户填充所需的输入。 但是,您可能希望覆盖一个或多个输入,并提供一个显式值,而不是询问用户。 您可以在输入部分的插件操作配置中进行覆盖。 或者,您可以仅在从特定主题使用操作时覆盖值:

  1. 在节点上选择设置值,并选择您想要覆盖的输入。

    可被覆盖的输入列表的屏幕截图。

  2. 对于输入,通过键入值、选择变量或使用公式来输入值。

    使用覆盖输入的单位的屏幕截图。

现在,此输入已被覆盖,代理不会要求用户输入值。

为 AI 操作启用身份验证

一些操作,当基于 AI 操作创建时,需要身份验证才能正确运行,例如动态提示或其他调用 Dataverse API 的操作。

操作始终在最终用户上下文中代理的运行时中运行,除非启用身份验证,否则无法运行。 支持两种类型的身份验证方法:

  1. 转到连接器操作属性。

  2. 在 End user authentication(最终用户身份验证)下 ,选择代理作者 authentication 身份验证)。

  3. 在代理 test 窗格或所需的渠道中发布和测试体验。

    设置连接器设置的屏幕截图。

使用具有最终用户凭据的流操作

流操作可以配置为使用最终用户凭据。 在支持的渠道中使用流程不需要在代理对话框中进行特殊配置,并且用户能够在 提供的体验中管理其与给定流程的连接

对基于库中插件的操作进行身份验证

当基于 AI 插件创建时,操作需要身份验证才能正确工作。 这在基于提示或其他调用 Dataverse API 的操作中最为常见。 基于插件的操作始终在用户上下文中运行,除非启用身份验证,否则无法运行。 支持两种类型的身份验证方法:

  • 集成身份验证(Teams 和 Power Apps):如果要将代理发布到 Teams 频道,可以使用此身份验证方法。 此方法也适用于嵌入在使用 Power Platform PPAPI 标准构建的令牌的任何应用程序中的代理。

  • 手动身份验证(第三方代理):此身份验证方法涉及 ID 连接的设置 Microsoft Entra 。

要创建手动身份验证连接:

  1. 设置一个 Microsoft Entra ID 应用程序

  2. 为您的 代理设置手动身份验证

  3. 允许您的应用使用委托来代表用户获取令牌。 确保添加任何必要的范围。

    身份验证设置的屏幕截图。