返回结果列表
通常要求代理在外部系统中查找数据并返回结果列表。 为此,代理可以调用 Power Automate 流,以便:
- 进行身份验证并连接到外部解决方案
- 根据用户输入运行查询。
- 为结果设置格式。
- 将结果返回给代理。
本例使用 Power Automate 中的 Dataverse 连接器搜索账户。 连接器会向代理返回一个结果列表,其中包括帐户名称、城市和帐号。
先决条件
- 了解如何从 Copilot Studio 创作画布创建流
- 属于输入和输出变量传递消息
- 为您的环境配置 Dataverse 搜索
设置 Dataverse 客户表
账户表是标准表,在 Power Platform 环境中默认可用。 但是,它不附带客户数据。 在代理搜索帐户之前,您必须填充帐户表。
如果您已有包含数据的客户表,跳过此步骤,继续创建主题。 但是,在后续步骤中测试代理时,请记住使用与数据相关的搜索词。
转到 Power Apps 门户。
在导航窗格中,选择表。
选择客户表,然后在表属性页面上,选择编辑。
将以下行添加到表中:
地址 1:城市 客户名称 帐号 西雅图 Contoso Inc AC0125 旧金山 Contoso 驻地 AC0255 奥林匹亚 Contoso 送餐 AC0035
创建主题
在 Copilot Studio 中,转到代理的主题页面。
创建名为账户搜索的主题。
添加以下触发短语:
- 我在查找客户
- 我正在查找客户
- 搜索客户
- 搜索顾客
添加一个消息节点,并输入消息“听上去您好像在查找一个客户。 我可以帮你查一下。
添加一个问题节点,并输入消息“您要查找的客户的名称是什么?”
对于标识,选择组织。
用户的完整响应也一样。 但是,选择组织实体将利用代理的语言理解能力从回复中提取组织名称。
对于将用户响应另存为,将变量重命名为组织。
创建流
选择任意节点下方的添加节点图标
,并选择添加操作。
在基本操作标签中,选择 新建 Power Automate 流。
在 Power Automate 中选择流名称,并替换为搜索账户。
选择从 Copilot 运行流的流触发器,并添加名为组织的文本输入参数。
选择流触发器从 Copilot 运行流下方的添加图标。
在添加操作中搜索“Microsoft Dataverse”,然后选择搜索行操作。
此操作使用模糊匹配在您的 Dataverse 客户表中查找相关客户。
在搜索词框中输入斜线(
/
),选择插入动态内容,然后选择组织输入参数。对于高级参数,选择显示全部,然后设置以下值:
-
表筛选器项目:
account
-
按项 - 1 排序:
search.score desc
-
按项 - 2 排序:
name asc
-
表筛选器项目:
为结果设置格式
搜索行操作将返回 List of rows 变量,其中包含 JSON 数据。 您需要先使用分析 JSON 操作对数据进行分析,然后才能够使用数据。
选择搜索行操作下方的添加图标。
在添加操作中搜索“数据操作”,然后选择解析 JSON 操作。
在内容框中输入斜线(
/
),选择插入动态内容,然后选择行列表。将以下 JSON 架构复制并粘贴到架构框中:
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
选择解析 JSON 操作下方的添加图标。
在添加操作中搜索“变量”,然后选择初始化变量操作。
在名称框中输入 “ListOfAccounts”。
对于类型,选择字符串。
选择初始化变量操作下方的添加图标。
在添加操作中搜索“控制”,然后选择应用到每项操作。
在选择前面步骤的输出框中输入斜线(
/
),选择插入动态内容,然后选择解析 JSON 下的正文变量。选择添加图标,该图标位于应用到每项操作里面。
在添加操作中搜索“变量”,然后选择追加到字符串变量操作。
对于名称,选择 ListOfAccounts。
复制以下文本并将其粘贴到值框中:
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
在片段后添加换行符,使每个结果出现在自己的行上。
在回复 Copilot 操作中,添加文本输出。
在名称中,输入 “FoundAccounts”。
对于值,在框中输入斜线(
/
),选择插入动态内容,然后选择 ListOfAccounts 变量。保存并发布您的流。
从 Copilot Studio 调用流
在 Copilot Studio 中,选择问题节点下的添加节点图标
,选择添加操作,然后选择之前创建的流搜索账户。
将流输入参数设置为问题节点中的输出变量:组织(字符串)的值来自组织变量。
添加一个消息节点,并输入消息“好的,这就是我找到的”。
添加第二个消息节点。 选择插入变量图标,然后选择 FoundAccounts。
选择保存。
测试您的代理。