你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
发布过程会创建一个具备稳定终结点的代理应用程序。 创建后,代理应用程序可以发布到Microsoft 365 Copilot和 Teams,或使用响应 API 协议调用。
使用本文将代理发布到 Microsoft 365 Copilot 和 Teams,以便用户可以在这些接口中使用代理。
先决条件
已测试并想要发布的代理版本的 Foundry 项目
以下角色分配:
- Foundry 项目范围内的 Azure AI 项目经理角色(用于发布智能体)
- 智能体应用程序范围内的 Azure AI 用户角色(用于调用已发布的智能体或与之聊天)
- 有关详细信息,请参阅 Foundry 门户中的基于角色的访问控制。
可在其中创建 Azure 机器人服务资源和 Microsoft Entra ID 应用注册的 Azure 订阅
在发布之前,请在 Foundry 门户中彻底测试代理。 确认它正确响应,并且任何工具都按预期工作。
将代理发布为代理应用程序:已发布的代理应用程序使用独立于项目标识的自己的代理标识。 如果代理使用访问Azure资源的工具,请计划发布后重新分配任何所需权限。 有关详细信息,请参阅 Microsoft Foundry 中的代理标识概念 ,并在 Microsoft Foundry 中发布和共享代理。
验证订阅中是否注册了所需的Azure资源提供程序。 发布过程会创建 Azure Bot Service 资源,这需要
Microsoft.BotService提供程序。如果你使用 Azure CLI,可以通过以下命令注册提供程序:
az provider register --namespace Microsoft.BotService
在 Foundry UI 中将你的代理发布为代理应用程序
有关将代理发布为应用程序的详细信息,请参阅 发布和共享代理。
在 Microsoft Foundry 门户中,选择代理版本。
预期结果:此时会打开“代理详细信息”页,其中显示了代理配置和 “发布 ”按钮。
选择 “发布 ”以创建代理应用程序。
预期结果:此时会打开发布对话框,其中包含分发选项。
在 "Foundry UI" 中发布到 Microsoft 365 和 Teams
再次选择 Publish,然后选择 发布到 Teams 和 Microsoft 365 Copilot。
预期结果:Microsoft 365 发布配置窗口将打开。
在出现的窗口中输入信息。
会自动创建应用程序 ID 和租户 ID。 请注意这些值,以便进行故障排除。
在“Azure Bot Service”下拉列表中,选择创建Azure Bot Service以创建机器人资源。
预期结果:门户在订阅中创建 Azure Bot Service 资源并显示资源名称。
完成所需的元数据:
字段 Description 名称 智能体的显示名称(显示在智能体商店中) 简短说明 一句话说明您的代理的功能 完整说明 你的代理职责及其可执行操作的详细描述 发布者信息 组织名称或代理开发人员的名称 网站 网站的 URL 隐私声明 URL 您的隐私政策的 URL 使用条款 URL 使用条款的 URL 为 网站、 隐私声明 URL 和 使用条款 URL 字段提供 HTTPS URL 。 对于个人开发人员和测试,占位符 URL 是可接受的。
警告
不要在任何元数据字段中包括机密、API 密钥或敏感信息。 这些字段对用户可见。
选择 “准备代理 ”开始打包代理。
预期结果:门户在创建 Microsoft 365 发布包时显示进度指示器。 此过程通常需要 1-2 分钟。
Microsoft 365发布包准备就绪后,请选择以下选项之一:
- 下载包 ,在广泛分发之前在本地对其进行测试。
- 继续 Microsoft Teams 和 Microsoft 365 Copilot 的产品内发布流。
验证:包准备就绪后,确认状态在代理详细信息页中显示“就绪”或“已发布”。
选择发布范围
选择与用户发现智能体的方式相符的范围。
| Scope | 能见度 | 管理员批准 | 最适用于 |
|---|---|---|---|
| 个人范围 | 显示在代理商店的 您的代理 下 | 不是必需 | 个人测试、小型团队或飞行员 |
| 组织范围 | 在代理商店的由组织构建下方显示 | 必选 | 组织范围的分发、生产部署 |
确定您是希望 个人范围 还是 组织范围 用于分发:
- 个人范围:最适合个人或团队级别的使用。 无需管理员批准。
- 组织范围:非常适合整个组织的分发。 需要管理员批准,然后用户才能访问它。
单个范围详细信息
- 发布后代理立即可用。
- 最初只有发布者才能查看和使用代理。
- 可以通过向他们提供代理链接来与特定用户共享代理。
- 无需管理员批准或租户配置。
组织范围详细信息
- 发布后,管理员必须在Microsoft 365管理中心批准该应用。
- 获得批准后,该智能体会显示在租户中所有用户的“你的组织构建”部分。
- 租户中的应用策略控制哪些用户可以访问代理。
- 若要检查审批状态,请转到
Microsoft 365 管理中心 并在Requests1 下查找代理。 如果未看到请求,请参阅 当前解决方法的限制 和 故障排除 。
下载并测试发布包
如果下载包,在广泛分发之前对其进行测试。
包完成准备后,请从发布 UI 下载它。
预期结果:
.zip文件下载到本地计算机。在Microsoft Teams中,上传下载的包以进行测试:
- 打开Microsoft Teams。
- 转到 “应用>管理应用>”上传应用。
- 选择 “上传自定义应用 ”,然后选择下载
.zip的文件。
预期结果:Teams 安装应用并将其显示在应用列表中。
在 Teams 中打开代理并发送测试消息。
验证清单:
- 代理响应消息。
- 任何配置的工具都正常工作。
- 代理标识有权访问所需的Azure资源(如果适用)。
- 响应时间是可接受的。
如果代理使用访问Azure资源的工具,请验证已发布的代理标识是否具有所需的角色分配。 有关重新分配权限的详细信息,请参阅 Microsoft Foundry 中的代理标识概念 。
验证发布配置
要确认你的智能体已正确发布:
- 在 Foundry 门户中,导航到你的智能体并检查“已发布”状态。
- 请注意发布详细信息中的 应用程序 ID 和 租户 ID 。
- 在Azure门户中,验证Azure Bot Service资源是否存在并且正在运行。
- 对于组织范围,请查看 Microsoft 365 管理中心以获取审批状态。
局限性
注释
所有这些限制都是暂时的,正在进行修复。
| 限度 | Description |
|---|---|
| Microsoft 365中的文件上传和图像生成 | 文件上传和映像生成不适用于发布到Microsoft 365的代理。 这些功能在Microsoft Teams中正常工作。 |
| 专用链接 | Private Link 不支持用于 Teams 或 Azure Bot Service 的集成。 |
| 流式处理和引文 | 已发布的代理不支持流式处理响应或引文。 |
故障排除
使用这些检查可解决常见的发布问题。
| 問题 | 原因 | 决议 |
|---|---|---|
| 准备代理时出错 | 代理版本或元数据无效 | 验证是否未重用现有代理版本。 确保代理版本不以 0 开头。 确认开发人员名称为 32 个字符或更少。 |
| 创建Azure Bot Service失败 | 缺少权限或未注册的资源提供程序 | 确认你有权在所选Azure订阅中创建资源。 如果需要请注册 Microsoft.BotService 提供程序。 |
| 组织范围的智能体未显示 | 管理员批准待处理或应用策略禁止访问 | 确认管理员在 Microsoft 365 管理中心批准应用。 检查租户中的应用策略是否允许用户访问它。 |
| 智能体在 Foundry 中可正常工作,但发布后失败 | 智能体标识缺少所需的角色分配 | 已发布的代理使用自己的标识。 将 RBAC 权限重新分配给新代理标识,以访问任何 Azure 资源。 请参阅 代理标识概念。 |
| Teams 中的包上传失败 | 包格式无效或元数据缺失 | 验证所有必需的元数据字段已完整。 重新加载包,然后重试。 |
| 代理在 Teams 中没有响应 | Bot Service配置问题 | 验证Azure Bot Service资源是否正在运行。 检查Azure门户中的Bot Service日志是否存在错误。 |
| 用户无法在应用商店中找到代理 | 范围错误或审批待处理 | 对于个人范围,共享直接链接。 对于组织范围,确认管理员审批已完成。 |
FAQs
如果我在发布到 Microsoft 365 Copilot 和 Teams 时选择“组织(租户)”范围,应前往何处审批该代理?
在 Microsoft 管理中心,您可以批准发布到 M365/Teams 的 Foundry 代理。 经管理员批准后,代理将显示在 Microsoft 365 Copilot 的代理存储中,列为由您的组织创建。
如果我将代理程序发布到个人范围(以前称为“共享范围”),如何与组织中的其他人共享这个程序?
该代理会出现在 Microsoft 365 Copilot 的代理商店的“你的代理”下。 可以通过向组织中的选定用户发送代理链接来共享它。