适用于:API 管理的所有层级
Azure API Management中的 AI 网关是一组功能,可帮助你有效地管理 AI 后端。 使用这些功能来保护、缩放、监视和管理支持智能应用和工作负载的 AI 模型、代理和工具。
使用 AI 网关管理各种 AI 端点,包括:
- 远程 MCP 服务器和 A2A 代理 API
- 自托管模型和终结点
注释
新功能! AI 网关现在可以直接集成到 Microsoft Foundry 中,使你能够从 Foundry 环境中管理 AI 模型、代理和工具。 在 Microsoft Foundry 部分中的 AI 网关 中了解详细信息。
为何使用 AI 网关?
组织中的 AI 采用涉及几个阶段:
- 定义要求并评估 AI 模型
- 构建需要访问 AI 模型和服务的 AI 应用和代理程序
- 将 AI 应用和后端实现和部署到生产环境
随着 AI 采用的成熟,尤其是在大型企业中,AI 网关有助于应对关键挑战,帮助:
- 对 AI 服务访问进行身份验证和授权
- 跨多个 AI 终结点进行负载均衡
- 监视和记录 AI 交互
- 跨多个应用程序管理令牌使用情况和配额
- 为开发人员团队启用自助服务
交通中介和控制
通过使用 AI 网关,可以:
- 快速导入 OpenAI 兼容或直通 LLM 终结点并将其配置为 API
- 管理 Microsoft Foundry 中部署的模型
- 控制聊天完成、响应和实时 API
- 将现有的 REST API 公开为 MCP 服务器,并支持透传至 MCP 服务器
- 导入和管理 A2A 代理 API(预览版)
详细信息:
可伸缩性和性能
生成式 AI 服务的主要资源之一是 令牌。 Microsoft Foundry 和其他提供商将模型部署的配额以每分钟令牌数(TPM)的形式分配。 可以在模型使用者之间分发这些令牌,例如公司内的不同应用程序、开发人员团队或部门。
如果单个应用连接到 AI 服务后端,则可以使用直接在模型部署上设置的 TPM 限制来管理令牌消耗。 但是,当应用程序组合增长时,你可能有多个应用调用单个或多个 AI 服务终结点。 这些终结点可以是即用即付或预配吞吐量单位(PTU)实例。 需要确保一个应用不使用整个 TPM 配额,并阻止其他应用访问所需的后端。
令牌速率限制和配额
在 LLM API 上配置令牌限制策略,以根据 AI 服务令牌的使用来管理和对每个 API 消费者强制实施限制。 使用此策略,可以在指定时间段内设置 TPM 限制或令牌配额,例如每小时、每日、每周、每月或每年。
此策略可灵活分配任何计数器密钥(例如订阅密钥、发起 IP 地址或通过策略表达式定义的任意密钥)基于令牌的限制。 该策略还允许在Azure API Management端预先计算提示令牌,如果提示已超出限制,则最大程度地减少对 AI 服务后端的不必要的请求。
以下基本示例演示如何设置每个订阅密钥 500 的 TPM 限制:
<llm-token-limit counter-key="@(context.Subscription.Id)"
tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</llm-token-limit>
详细信息:
语义缓存
语义缓存是一种技术,它通过缓存先前提示的结果(完成)以及通过将提示的向量邻近度与以前的请求进行比较来重用它们,从而提高 LLM API 的性能。 此方法可减少对 AI 服务后端发出的调用数,改善最终用户的响应时间,并有助于降低成本。
在API Management中,通过使用 Azure Managed Redis 或其他与 RediSearch 兼容的外部缓存并载入到 Azure API Management,启用语义缓存。 通过使用 Embeddings API,llm-semantic-cache-store 和 llm-semantic-cache-lookup 策略能够将语义相似的提示完成存储到缓存中并进行检索。 此方法可确保重复使用完成,从而减少令牌消耗,并提高响应性能。
详细信息:
在 Azure API Management
API Management中的本机缩放功能
API Management还提供内置的扩展功能,以帮助网关处理大量对人工智能API的请求。 这些功能包括自动或手动添加网关 缩放单元 ,以及为多区域部署添加区域网关。 特定功能取决于API Management服务层级。
详细信息:
- 升级和扩展 API 管理实例
- 在多个区域中部署 API 管理实例
注释
虽然API Management可以缩放网关容量,但还需要缩放流量并将其分发到 AI 后端以适应增加的负载(请参阅 Resiliency 部分)。 例如,若要在多区域配置中利用系统的地理分布,应在与API Management网关相同的区域中部署后端 AI 服务。
安全和安全
AI 网关可保护和控制对 AI 接口的访问。 通过使用 AI 网关,可以:
- 使用托管标识向 Azure 中的 AI 服务进行身份验证,因此无需 API 密钥进行身份验证
- 通过 API Management 的凭据管理器配置 OAuth 授权,以供 AI 应用和代理访问 API 或 MCP 服务器。
详细信息:
复原能力
构建智能应用程序时,一个难题是确保应用程序能够应对后端故障,并能够承受高负载。 通过在 Azure API Management 中使用 backends 配置 LLM 终结点,可以均衡它们之间的负载。 还可以定义断路器规则,以在请求不响应时停止将请求转发到 AI 服务后端。
负载均衡器
后端负载均衡器(load balancer)支持轮循、加权、基于优先级和会话感知的负载均衡。 可以定义满足特定要求的负载分发策略。 例如,在负载均衡器配置中定义优先级,以确保对特定 Microsoft Foundry 端点(尤其是购买的 PTU 实例端点)的最佳利用。
断路器
后端 断路器 具有动态行程持续时间,应用后端提供的标头中的值 Retry-After 。 此功能可确保后端的精确和及时恢复,最大限度地利用优先级后端。
详细信息:
可观测性和治理
API Management提供全面的监视和分析功能,用于跟踪令牌使用模式、优化成本、确保符合 AI 治理策略以及排查 AI API 问题。 使用这些功能可以:
- 将提示和完成记录到Azure监视器。
- 跟踪 Application Insights 中每个消费者的令牌指标。
- 查看内置监视仪表板。
- 使用自定义表达式配置策略。
- 跨应用程序管理令牌配额。
例如,可以使用 llm-emit-token-metric 策略发出令牌指标,并添加可用于筛选Azure Monitor 中的指标的自定义维度。 以下示例发出包含客户端 IP 地址、API ID 和用户 ID 维度的令牌指标(来自自定义标头):
<llm-emit-token-metric namespace="llm-metrics">
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" value="@(context.Api.Id)" />
<dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</llm-emit-token-metric>
此外,在 Azure API Management中启用 LLM API 日志记录,以跟踪计费和审核的令牌使用情况、提示和完成情况。 启用日志记录后,可以在 Application Insights 中分析日志,并使用API Management中的内置仪表板查看 AI API 中的令牌使用模式。
详细信息:
Microsoft Foundry 中的 AI 网关(预览版)
现在可以将 AI 网关直接集成到 Microsoft Foundry 中,使你能够控制来自 Foundry 环境中的 AI 流量。 创建 AI 网关实例或将 AI 网关实例与 Foundry 资源相关联时,可以通过网关管理、保护和监视 Foundry 资源。
Models:在所有模型部署(包括 Azure OpenAI 和其他提供程序)的 Foundry 接口中直接配置令牌配额和速率限制。
Agents:将分布在任意位置(Azure、其他云或本地)的代理注册到 Foundry 控制平面,实现集中管理和治理。 在 Foundry 或 Application Insights 中查看遥测数据,并应用限制或内容安全等策略。
工具:注册在任何环境中托管的 MCP 工具,以便进行自动治理和发现。 工具显示在 Foundry 清单中,可供代理使用。
对于自定义策略、企业网络或联合网关等高级方案,访问完整的 Azure API Management 体验,同时保持 Foundry 托管资源的连续性。
AI 网关功能的提前访问
作为API Management的客户,你可以通过AI 网关发布时间通道来提前获取新的功能和特性。 通过此访问权限,您可以在最新的 AI 网关创新普遍发布之前进行试用,并提供反馈以帮助完善产品。
详细信息:
实验室和代码示例
体系结构和设计
- AI 网关参考体系结构使用 API Management
- AI 中枢网关启动区加速器
- 使用 Azure OpenAI 资源实现网关解决方案
- 在多个 Azure OpenAI 部署前使用网关