你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为了简化工作流,可能需要在事件发生时自动调用 AI 代理。 该活动可能会收到新电子邮件。 或者,它可能会生成一张新的客户工单,以便 AI 智能体能立即对新出现的情况做出响应,而无需人工干预。
若要自动调用代理,可以在 Azure 逻辑应用中选择数百个 触发器 ,以及使用 Azure AI Foundry 代理服务连接器。
什么是触发器?
触发器是需要添加到工作流的第一项。 它允许连接到特定服务。 当服务中发生特定事件时,触发器将调用连接器。 在本例中,它是 Foundry 代理服务的连接器。
例如,请考虑使用连接到特定窗体的 Microsoft Forms 连接器(具有触发器)的工作流。 每当此表单收到新响应时,触发器就会识别响应,然后在工作流中依次调用相应的连接器。 然后,可以将表单响应作为消息传递给 AI 代理,并使用其工具来响应或采取适当的作。
若要检查特定连接器是否具有触发器功能,请查看其文档,并查看其是否具有 “触发器” 部分。 例如,查看 Microsoft Forms 连接器的 “触发器 ”部分。
先决条件
设置
- 在 Azure 门户中,转到逻辑应用的页面。
- 创建逻辑应用资源。 提供所有必需的信息,并选择“消耗 - 多租户”类型。
分配适当的 RBAC 权限
对于逻辑应用资源:
- 在逻辑应用资源中,转到 “标识 ”页。
- 启用系统分配的托管标识。
- 复制对象(主体)ID。
对于 Azure AI Foundry 项目:
- 在 Azure 门户中,转到具有要使用的 AI 代理的 Azure AI Foundry 项目。
- 选择“ 访问控制>添加角色分配”。
- 至少选择 Azure AI 项目经理,然后选择“ 下一步”。
- 选择 “用户”、“组”或服务主体,然后选择“成员”。
- 粘贴从逻辑应用资源获取的对象 ID 以搜索逻辑应用资源。 然后选择“完成”。
分配基于角色的访问控制(RBAC)角色后,返回到逻辑应用资源并选择 逻辑应用设计器。 可以将所选的触发器添加到工作流。
将 Foundry 代理服务连接器添加到工作流
选择 添加操作,然后搜索 Azure AI Foundry 代理服务。
根据您的使用情况,选择您所需的操作。
如果要为触发器的每个新事件创建新 线程 ,请按顺序添加以下连接器:
- 创建线程
- 创建运行
- 获取运行状态
- 列出消息
如果要为每个新事件在同一线程中创建新的 运行实例,请按照以下顺序添加以下连接器:
- 创建运行
- 获取运行状态
- 列出消息
小窍门
- 由于 Foundry 代理服务需要时间来响应,因此我们建议在创建运行和获取运行之间添加延迟连接器。
- 若要为订阅 ID 和其他值创建可重用参数,以便避免重复工作,请选择 “参数”。
创建连接
若要创建连接,请提供以下信息:
- 连接名称:连接的名称。
-
项目名称:Your Azure AI Foundry 项目端点。 格式为
http://<aiservicename>.services.ai.azure.com/api/projects/<project name>。
配置列表代理连接器
列出代理连接器仅列出 AI 项目中的所有代理。 无需为此连接器提供任何信息。
配置创建线程连接器
创建线程连接器将创建一个新线程,该线程是代理和用户之间的会话。 线程存储 消息 并自动处理截断,以便将内容放入模型的上下文中。 可以使用以下信息配置 创建线程 连接器:
消息 (可选):可以添加希望 AI 代理响应的消息。 将角色添加为消息的用户。 消息可以是触发器中的事件有效负载,比如说表单响应字段。 它也可以是一个固定消息;例如,始终使用短语“本周最新的 AI 新闻是什么?”来触发。
元数据 (可选):可以将一组 16 个键/值对附加到对象。 此方法可用于以结构化格式存储对象的其他信息,并通过 API 或仪表板查询对象。 键是最大长度为 64 个字符的字符串。 值为最大长度为 512 个字符的字符串。
工具资源 (可选):除了代理中提供的工具资源外,还可以提供仅适用于线程的更新工具资源。 下面是工具资源的示例:
[ { "type": "bing_grounding", "bing_grounding": { "search_configurations": [ { "connection_id": "/subscriptions/<subscription-id>/resourceGroups/<your_resource_group_name>/providers/Microsoft.CognitiveServices/accounts/<your_ai_service_name>/projects/<your_project_name>/connections/<your_connection_name>", "count": 7, "market": "en-US", "set_lang": "en", "freshness": "7d" } ] } } ]
配置“创建运行连接器”
“创建运行”连接器会创建一个新的“运行”,即激活代理以基于线程的内容开始运行。 代理使用其配置(例如工具资源)和线程的消息通过调用模型和工具来执行任务。 在运行过程中,代理会将消息追加到线程。
若要配置 “创建运行 连接器”,请选择它并提供以下信息:
要为其创建消息的线程的 ID (必需):所创建的线程的 ID。 选择函数图标,从之前的创建线程连接器输出中选择 id 参数。
Assistant_id (必需):创建的代理的 ID。
消息 (可选):希望 AI 代理响应的消息。 将角色添加为消息的用户。 它可以是触发器中的事件负载,例如,表单响应字段。 它也可以是一个固定消息;例如,始终使用短语“本周最新的 AI 新闻是什么?”来触发。
小窍门
若要避免问题,请确保在运行或线程连接器中添加消息。
配置 Get Run 连接器
“获取运行”连接器会获取并检索你创建的运行。 通过提供以下信息配置连接器:
线程 ID 参数 (必需):所创建的线程的 ID。 选择函数图标,从之前的创建线程连接器输出中选择 id 参数。
运行 ID (必需):所创建的运行 ID。 选择函数图标,从以前的“创建运行连接器”输出中选择 ID 参数。
配置列表消息连接器
列表消息连接器列出当前线程中的所有消息。 通过提供以下信息配置连接器:
- 线程 ID 参数 (必需):所创建的线程的 ID。 选择功能图标,从上一个创建线程连接器的输出中选择id参数。
从 Foundry 代理服务获取响应
若要获取响应,需要自定义函数才能从 列表消息 连接器检索确切的响应正文: