你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注意
本文介绍旧版发布体验。 有关新的代理发布模型,请参阅 从代理应用程序迁移到新的代理终结点和发布体验。
发布操作会将 Foundry 项目中的代理从开发资源转换为 Azure 托管资源,供外部使用方通过稳定的终结点进行调用。 可以将其视作一个步骤,将你的代理从“在我的项目中运作”转变为“准备好供其他人使用”。
本文介绍如何发布代理、配置其身份验证和权限、使用响应 API 协议调用代理应用程序,以及在推出新代理版本时更新代理应用程序。 发布后,可以使用响应或活动协议调用代理应用程序。
什么是出版?
在开发过程中,可以在 Foundry 项目中生成和测试代理。 该项目为你提供了一个共享工作区,但它并非专为广泛分发而设计,因为具有项目访问权限的每个人都可以与所有代理交互,并共享相同的聊天上下文和权限。 发布是将代理移出该共享开发空间并进入生产就绪的 Azure 资源的步骤。
发布代理版本时,Foundry 会创建一个 代理应用程序 资源,该资源使用自己的调用 URL、身份验证策略、唯一 Entra 代理标识和唯一 Entra 代理蓝图包装代理版本。 部署还作为应用程序的子资源创建,引用要发布的特定代理版本,并支持启动/停止生命周期管理。
注意
Foundry 代理应用程序未在 Microsoft Entra 代理注册表中注册。
为什么发布?
通过发布,您可以获得项目级开发无法提供的功能:
外部共享 - 授予对团队成员或客户的访问权限,而无需授予他们访问 Foundry 项目的权限。
稳定终结点 - 即使推出新的代理版本,应用程序 URL 也保持不变。
不同的代理标识 - 发布的代理拥有自己独立的 Entra 代理标识和 Entra 代理蓝图,与项目的共享标识和蓝图分离。
独立的 RBAC 和授权 - 代理应用程序是一个具有自己独立 RBAC 范围的独立 Azure 资源。 可以直接在代理应用程序资源上分配 Foundry 用户等角色来控制谁可以调用它。
重要
Foundry RBAC 角色最近已更名。 Foundry 用户、Foundry 所有者、Foundry 帐户所有者和 Foundry 项目经理之前的名称分别为“Azure AI 用户”、“Azure AI 所有者”、“Azure AI 帐户所有者”和“Azure AI 项目经理”。 在重命名推出时,你仍可能会在某些位置看到以前的名称。重命名后,角色 ID 和核心权限保持不变。
Azure Policy 集成 - 作为 Azure 资源管理器(ARM)资源,应用程序可以由 Azure Policy 管理。
与 智能 Microsoft 365 Copilot 副驾驶® 和 Teams 集成 - 将代理应用程序分发到 智能 Microsoft 365 Copilot 副驾驶® 和 Teams 等频道。
发布时会发生什么变化?
最重要的更改是身份。 未发布的代理使用项目的共享代理标识。 发布后,代理将收到其自己的专用代理标识。 使用代理标识身份验证的任何工具都将从项目的共享标识切换到代理应用程序的唯一代理标识。
要关注的内容
由于标识发生更改, 因此不会自动传输权限。 发布智能体时,必须为智能体需要访问的所有资源,将 RBAC 权限重新分配给新的智能体标识。 如果跳过此步骤,则发布代理后,在开发过程中工作的工具调用会失败,并出现授权错误。
先决条件
- 具有至少一个代理版本的Foundry 项目
- 在 Foundry 资源范围上发布智能体的 Foundry 项目经理角色
- 在 Agent Application 范围拥有 Foundry 用户角色,以使用 Responses API 协议(或具有
Microsoft.CognitiveServices/accounts/AIServices/applications/invoke/action权限的自定义角色)与已发布的智能体聊天
注意
Foundry 智能体使用者角色专为与智能体终结点交互而设计,不授予调用 Agent Application 的权限。 代理应用程序使用不同的权限路径(Microsoft.CognitiveServices/accounts/AIServices/applications/invoke/action)。 使用 Foundry 用户 角色或包含此权限的自定义角色。
- 熟悉 Azure 基于角色的访问控制(RBAC) 的权限配置
- 熟悉 Foundry 中的代理标识概念
- 按照准备开发环境中所述安装所需的语言运行时、全局工具和 Visual Studio Code 扩展
重要
本文中的代码使用当前处于预览状态的包。 此预览版在没有服务级别协议的情况下提供,不建议将其用于生产工作负荷。 某些功能可能不受支持,或者可能具有受限功能。 有关详细信息,请参阅 Azure 预览版Microsoft补充使用条款。
了解代理应用程序和部署
发布之前,请务必了解项目、代理版本、应用程序和部署之间的关系。
Foundry 项目 是一个工作组织概念,用于对相关资源(如代理、文件和索引)进行分组。 代理表示一个可组合单元 ,由其说明、模型和工具定义。 智能体版本捕获智能体的特定不可变快照。 每次对代理进行更改(例如更新提示或添加工具)时,都会创建新的代理版本。 每个代理版本在 Foundry 项目下公开,其中具有项目访问权限的开发人员可以创建、运行和测试它。
代理应用程序将一个或多个代理投影为服务 , 独立可寻址、可管理,并配备了生命周期和内容管理功能。 它提供了一个持久接口,用于为使用者建立身份验证、标识和稳定的入口点。 部署是应用程序内代理版本的运行实例,可以启动、停止和更新以引用新的代理版本。
路由和版本管理
每个代理应用程序都具有路由表功能用于特定代理部署。 目前,代理应用程序支持一个活跃部署,会将应用程序终结点收到的全部流量定向到该部署。 将新代理版本发布到现有应用程序时,会将应用程序终结点收到的流量 100% 定向到引用新代理版本的部署。
协议
代理应用程序资源公开具有多个协议和身份验证选项的稳定终结点。
注意
目前,一次只能为代理应用程序启用一个协议(响应或活动协议)。
响应协议
Foundry 代理默认使用一个兼容 OpenAI 的协议,该协议基于响应,用于与代理进行交互。
对于应用程序,此终结点在以下位置公开:
https://{accountName}.services.ai.azure.com/api/projects/{projectName}/applications/{applicationName}/protocols/openai
已修改通过应用程序公开的 OpenAI 兼容 API,以确保用户的对话保持私密。 此限制是暂时性的,一旦支持最终用户隔离,将被删除。 因此,API 比项目终结点提供的 OpenAI API 更有限。 具体地:
- 仅支持无状态响应 API (
POST /responses)。 - 其他 API(包括
/conversations、/files/vector_stores和/containers)不可访问。
此限制意味着客户端必须存储多轮次对话的会话历史记录。
活动协议
Foundry 代理还可以公开 Azure 机器人服务使用 的活动协议 。
对于应用程序,此终结点在以下位置公开:
https://{accountName}.services.ai.azure.com/api/projects/{projectName}/applications/{applicationName}/protocols/activityprotocol
认证
可以在应用程序上配置入站最终用户身份验证。 可以使用以下选项:
-
默认 (RBAC):调用方必须具有代理应用程序资源的 Foundry 用户 角色(或具有权限的
/applications/invoke/action自定义角色)。 如果要使用响应 API 协议调用代理应用程序,请选择此选项。 有关 Foundry RBAC 角色的详细信息,请参阅 Microsoft Foundry 的基于角色的访问控制。 - 通道(Azure 机器人服务):当你作为 Autopilot 发布到 M365/Teams 或 A365 时,通道是所使用的身份验证方式。 通过 M365/Teams 发布流在 UI 中自动选择此项。
调用代理应用程序不支持 API 密钥身份验证。 使用 Microsoft Entra ID (Azure RBAC) 授权呼叫者。
发布代理
铸造门户
本部分介绍如何使用 Foundry 门户界面发布代理。
在代理生成器中,创建或选择要发布的代理版本。
选择 “发布代理 ”以创建代理应用程序和部署。
预期结果:发布完成,代理版本显示已发布状态。
为代理应用程序配置身份验证:
- 默认情况下,身份验证类型设置为 RBAC(Role-Based 访问控制)。
- 使用 Responses 协议调用代理应用程序的用户,必须在代理应用程序资源上被授予内置的 Azure RBAC 角色 Foundry User(或等效的自定义角色)。
分配工具身份验证的权限:
- 如果代理包含使用代理标识进行身份验证的工具,则新创建的代理标识必须具有适当的权限
- 导航到你的智能体访问的每个 Azure 资源,并为新的智能体标识分配所需的 RBAC 角色:
发布后,可以:
- 与外部使用者共享已发布的终结点,或将其集成到现有应用程序中。
- 在 Teams/M365 Copilot 等频道中与应用程序共享和聊天。
REST API
若要发布代理版本,必须创建引用代理版本的应用程序和部署。
重要
代理应用程序是 Azure 资源。 调用管理终结点时,请使用可用于订阅和帐户的最新 API 版本。
开始之前
- 登录并获取 Azure 资源管理器访问令牌:
az login
az account get-access-token --resource https://management.azure.com
将 accessToken 用作以下请求中的 Authorization: Bearer <token> 标头。
如果只想捕获令牌值(例如,在脚本中使用),请使用:
az account get-access-token --resource https://management.azure.com --query accessToken -o tsv
收集请求 URL 所需的值。
-
subscription_id:使用包含 Foundry 资源的订阅。 可以在 Azure 门户(订阅)中或通过运行az account show --query id -o tsv找到它。 -
resource_group:包含 Foundry 资源的资源组。 可以在 Azure 门户中的 Foundry 资源 概述 页上找到它。 -
account_name:您 Foundry 资源的名称(即 Azure 资源名称)。 -
project_name:Foundry 的项目名称。 -
application_name和deployment_name:选择要创建的代理应用程序和部署的名称。
-
选择一个
api-version。
1.创建代理应用程序。
有关代理应用程序的完整属性引用和基础结构即代码(Bicep)示例,请参阅 适用于 Microsoft.CognitiveServices/accounts/projects/applications 的 Azure 资源管理器模板参考。
必需字段:将 agentName 字段设置为要发布的代理的名称。
以下示例仅显示最小必填字段。 默认情况下 authorizationPolicy 设置为 “默认”(Azure RBAC), 并将 trafficRoutingPolicy 所有流量路由到第一个部署。
PUT https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}?api-version={{api_version}}
Authorization: Bearer {{token}}
Content-Type: application/json
{
"properties":{
"agents": [{"agentName": "Publishing Agent"}]
}
}
2.创建代理部署。
有关代理部署的完整属性引用和基础结构即代码(Bicep)示例,请参阅 适用于 Microsoft.CognitiveServices/accounts/projects/applications/agentDeployments 的 Azure 资源管理器模板参考。
必填字段:
-
deploymentType:部署模式。 将Managed用于提示代理。 托管代理请使用Hosted。 -
agents:要部署的代理名称和版本。 -
protocols:部署提供的协议。 对于响应,将protocol设置为Responses,并将version设置为1.0。
托管专用的更多必填字段:
-
minReplicas:设置最小副本数 -
maxReplicas:设置最大副本数
提示智能体
PUT https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}/agentdeployments/{{deployment_name}}?api-version={{api_version}}
Authorization: Bearer {{token}}
Content-Type: application/json
{
"properties":{
"displayName": "Test Managed Deployment",
"deploymentType": "Managed",
"protocols": [
{
"protocol": "Responses",
"version": "1.0"
}
],
"agents": [
{
"agentName": "Publishing Agent",
"agentVersion": "1"
}
]
}
}
托管代理
PUT https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}/agentdeployments/{{deployment_name}}?api-version={{api_version}}
Authorization: Bearer {{token}}
Content-Type: application/json
{
"properties": {
"displayName": "Test Hosted Deployment",
"deploymentType": "Hosted",
"minReplicas": 1,
"maxReplicas": 1,
"protocols": [
{
"protocol": "Responses",
"version": "1.0"
}
],
"agents": [
{
"agentName": "ContainerAgent",
"agentVersion": "1"
}
]
}
}
3.验证部署是否正在运行
提示智能体部署通常自动开始运行。 托管代理部署继承已发布代理版本的状态 - 如果版本已停止,则部署也会停止。
若要检查当前状态,请获取部署资源并检查属性 state:
GET https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}/agentdeployments/{{deployment_name}}?api-version={{api_version}}
Authorization: Bearer {{token}}
使用以下命令启动已停止的部署:
POST https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}/agentdeployments/{{deployment_name}}/start?api-version={{api_version}}
Authorization: Bearer {{token}}
Content-Type: application/json
验证发布是否成功
在与使用者共享终结点之前,请确认代理已成功发布。 发布后,请验证:
- 代理应用程序资源存在。
- 部署正在运行。
- 可以调用应用程序终结点。
通过调用终结点快速验证
若要运行以下命令,需要 Azure CLI。
- 获取呼叫用户的访问令牌。
az account get-access-token --resource https://ai.azure.com
- 调用代理应用程序终结点(响应协议)。
curl -X POST \
"https://<foundry-resource-name>.services.ai.azure.com/api/projects/<project-name>/applications/<app-name>/protocols/openai/responses?api-version=2025-11-15-preview" \
-H "Authorization: Bearer <access-token>" \
-H "Content-Type: application/json" \
-d '{"input":"Say hello"}'
如果收到 403 Forbidden,请确认调用方在代理应用程序资源上具有 Foundry 用户角色。
更新已发布的代理应用程序
如果需要推出新版本的代理,请更新现有应用程序和部署以引用新的代理版本。
铸造门户
在代理生成器中,导航到要发布的特定代理版本。
选择“ 发布更新”。
确认更新。 代理应用程序会自动将 100% 流量定向到新的代理版本。
稳定终结点 URL 保持不变,确保下游使用者不会因更新中断。
REST API
如果代理名称保持不变,并且只想推出新的代理版本,请更新部署以引用新的代理版本。
PUT https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.CognitiveServices/accounts/{{account_name}}/projects/{{project_name}}/applications/{{application_name}}/agentdeployments/{{deployment_name}}?api-version={{api_version}}
Authorization: Bearer {{token}}
Content-Type: application/json
{
"properties":{
"description": "This is a managed deployment",
"displayName": "Test Managed Deployment",
"deploymentType": "Managed",
"protocols": [
{
"protocol": "Responses",
"version": "1.0"
}
],
"agents": [
{
"agentName": "Publishing Agent",
"agentVersion": "<updated-agent-version>"
}
]
}
}
若要推出具有不同名称的代理,必须:
- 更新代理应用程序以允许新的代理名称。
- 创建或更新部署以引用新的代理版本。
- 如果创建新的部署,请更新代理应用程序的流量路由策略,以便 100% 流量转到新部署。
向用户授予调用已发布代理的权限
发布代理后,调用者需要在 Agent Application 资源上具有 Microsoft.CognitiveServices/accounts/AIServices/applications/invoke/action 角色(或包含 权限的自定义角色)。 此角色分配的范围限定为单个代理应用程序,因此你可以授予对单个已发布代理的访问权限,而无需向用户授予对整个 Foundry 项目或其他代理的访问权限。
注意
Foundry Agent Consumer 角色专为直接与代理端点进行交互而设计,但不授予对代理应用的访问权限。 使用 Foundry 用户 或具有访问 Agent Application 所需权限的自定义角色。
重要
代理应用程序 RBAC 通过 Azure 资源管理器进行管理,而不是通过 Entra 代理标识进行管理。 发布的智能体接收的 Entra 智能体标识用于智能体自身对工具和资源的出站调用。 若要控制谁可以 调用 已发布的代理,请使用 Azure 门户、Azure CLI 或 REST API 在代理应用程序 ARM 资源上分配 Azure RBAC 角色。
有关 Azure RBAC 的详细信息,请参阅 Microsoft Foundry 的基于角色的访问控制
调用代理应用程序
注意
代理应用程序目前一次支持一个协议,但可以更改此协议。 在 Foundry UI 中创建代理应用程序时,默认为响应 API 协议。 如果以后发布到 Microsoft 365 或 Teams,发布流将配置活动协议。
发布后,你可以使用响应 API 协议或活动协议通过其终结点调用你的代理。 将代理发布到 Microsoft 365 和 Teams 时,将使用活动协议。
若要在 智能 Microsoft 365 Copilot 副驾驶® 和 Teams 中使用代理应用程序,请参阅 将代理发布到 智能 Microsoft 365 Copilot 副驾驶® 和 Microsoft Teams。
若要将代理发布为 Autopilot,请参阅 在 Agent 365 中将代理发布为 Autopilot
使用 Responses API 协议进行调用
若要使用响应 API 协议调用代理应用程序,需要:
- 智能体应用程序范围上的 Foundry 用户角色
-
openai和azure-identity包已按照准备开发环境所述完成安装和身份验证
将 OpenAI 客户端与代理应用程序终结点配合使用
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
# Replace placeholders with your resource, project, and app names
BASE_URL = "https://<foundry-resource-name>.services.ai.azure.com/api/projects/<project-name>/applications/<app-name>/protocols/openai"
# Create OpenAI client authenticated with Azure credentials
openai = OpenAI(
api_key=get_bearer_token_provider(DefaultAzureCredential(), "https://ai.azure.com/.default"),
base_url=BASE_URL,
default_query={"api-version": "2025-11-15-preview"}
)
# Send a request to the published agent
response = openai.responses.create(
input="Write a haiku",
)
print(f"Response output: {response.output_text}")
此方法使用 Azure 凭据进行身份验证,并要求调用方在代理应用程序资源上具有 Foundry 用户角色。
安全和隐私注意事项
- 使用最低权限。 向用户授予所需的最低角色(例如,将发布权限与调用权限分开)。
- 只需共享代理时,请避免共享项目访问权限。 在应用程序资源上使用智能体应用程序终结点和 RBAC。
- 不要在源代码、脚本或客户端应用程序中嵌入访问令牌。 使用适用于应用的Microsoft Entra 身份验证流。
- 发布时规划标识更改。 由代理标识进行身份验证的工具调用在发布后使用应用程序标识,而不是项目标识。
- 如果需要多轮次体验,请将对话历史记录存储在客户端中。 代理应用程序当前限制 API,不存储响应。
限制
作为代理应用程序发布的代理具有以下限制:
| 限制 | 描述 |
|---|---|
| 无状态响应 API 专用 | 仅支持无状态响应 API。 其他 API(包括/conversations、/files/vector_stores和/containers)不可访问。 |
| 无 UI 或 CLI 管理 | 高级管理操作没有专用的 UI/CLI。 使用 REST API 进行在 Foundry 门户发布流程中不可用的管理操作。 |
故障 排除
| 问题 | 可能的原因 | 分辨率 |
|---|---|---|
| 发布代理 已禁用 | Foundry 资源范围上缺少 Foundry 项目经理角色 | 针对 Foundry 资源(帐户)范围(而不仅仅是对项目范围)分配 Foundry 项目经理角色。 |
403 Forbidden 调用终结点时 |
调用方缺少对代理应用程序资源的调用权限 | 将代理应用程序资源上的 Foundry 用户角色分配给调用方。 请参阅 授予用户调用已发布代理的权限。 |
401 Unauthorized 调用终结点时 |
访问令牌缺失、过期或资源错误 | 重新进行身份验证并请求 https://ai.azure.com 的令牌。 |
| 发布后工具调用失败 | 代理应用程序标识没有与项目标识相同的访问权限 | 针对其必须访问的任何下游 Azure 资源,将所需的 RBAC 角色重新分配给已发布的智能体标识。 |
| 多轮会话无法达到预期效果 | 代理应用程序不会为你存储聊天状态 | 将对话历史记录存储在客户端中,并将上下文作为请求的一部分发送。 |
清理资源
如果不再需要已发布的终结点,请删除代理应用程序 Azure 资源(及其部署)。 删除应用程序不会删除 Foundry 项目中的代理版本。
参考:代理应用程序和部署属性
构造 REST API 请求或需要了解响应中返回的字段时,请使用下表。
代理应用程序属性
| 名字 | 描述 | 价值 | 是否可以在请求正文中指定? |
|---|---|---|---|
displayName |
代理应用程序的显示名称 | 字符串 | ✅ |
baseUrl |
代理应用程序的专用终结点 | 字符串 | ❌ (只读) |
agents |
应用程序公开的代理。 | 对象的数组 | ✅ |
agentIdentityBlueprint |
与代理应用程序关联的代理标识蓝图。 | 对象 | ❌ (只读) |
defaultInstanceIdentity |
与代理应用程序关联的代理标识 | 对象 | ❌ (只读) |
authorizationPolicy |
定义用户如何向应用进行身份验证。 如果未指定,则默认设置此字段 | 对象 | ✅ |
trafficRoutingPolicy |
定义智能体将流量发送到什么部署。 目前,所有流量只能路由到单个部署。 | 对象 | ✅ |
provisioningState |
获取调用操作时代理应用程序的状态。 | 字符串 | ❌ (只读) |
isEnabled |
指定是启用或禁用代理应用程序。 | 布尔 | ✅ |
部署属性
| 名字 | 描述 | 价值 | 是否可以在请求正文中指定? |
|---|---|---|---|
displayName |
部署的显示名称。 | 字符串 | ✅ |
deploymentId |
具有给定资源标识符的部署的每个不同生命周期的系统生成唯一标识符。 | 字符串 | ❌ (只读) |
state |
部署的状态。 | enum (Starting, Running, Stopping, Failed, Deleting, Deleted, Updating) |
❌ (只读) 有显式 API,例如启动/停止来控制状态 |
protocols |
部署支持的协议 | 对象的数组 | ✅ |
agents |
附加到特定部署的代理版本。 | 对象的数组 | ✅ |
provisioningState |
获取调用操作时的部署状态。 | enum (Succeeded, Failed, Canceled, Creating, Updating, Deleting) |
❌ (只读) |
deploymentType |
部署中附加的代理类型 | 枚举(Hosted 或 Managed) |
✅ |
minReplicas |
始终运行的最小副本数。 | 整数 |
✅(仅当 deploymentType 为 Hosted) |
maxReplicas |
可以运行的最大副本数。 | 整数 |
✅(仅当 deploymentType 为 Hosted) |
常见问题 解答
为什么已发布的智能体不保留对话记录(即为什么仅支持无状态响应)?
今天有一个临时限制,其中已发布的代理仅支持无状态响应 API 交互(即,没有持久对话)。 解决此问题的工作正在进行中。
此限制的原因是,虽然 Foundry 代理服务支持托管会话历史记录,但它尚未在同一项目中的会话之间强制实施最终用户隔离。 换句话说,如果某人知道其他用户的对话 ID,即使它不是他们的对话历史记录,他们也可以访问该对话历史记录。 在单个项目的开发环境中,这是可以接受的,但在生产环境中,这是不可接受的,因为客户需要严格的每用户会话隔离。
代理应用程序旨在向不同的受众(例如组织或客户中的其他人)公开功能,独立于项目开发人员,具有稳定的版本、配置和控制访问权限。 鉴于此目标,代理应用程序的用户自然会期望其与应用程序的交互是私有的,对其他人不可见。 目前无法执行此操作,因为我们基于针对单用户构建的 OpenAI API,这些 API 本身不提供数据隔离,我们需要自行构建隔离层。 在为应用程序支持完全最终用户数据隔离之前,只有无状态响应可用。 此限制是暂时性的。
已发布代理的定价模型是什么? 成本是否基于按使用量计费模式,还是客户端会产生费用,因为应用程序资源(终结点)在代理发布后已部署了底层基础设施?
已发布的代理使用发布者付费模型:发布者(Foundry项目所有者)在将代理作为应用程序发布时,根据部署的底层基础设施产生成本,而不是按调用次数来计算消耗。 默认情况下,已发布应用程序的最终用户不会产生任何费用,但如果客户想要为其组织或外部用户实施基于消耗的模型,客户可以选择将自己的计量或计费层放在应用程序前面。
相关内容
- Microsoft Foundry 中的提升角色任务 — 发布智能体的角色要求。
- 了解 Foundry 中的代理标识概念
- 了解 托管代理
- 了解如何 将代理发布到 智能 Microsoft 365 Copilot 副驾驶® 和 Microsoft Teams
- 从代理应用程序迁移到新的代理模型