你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
导入 Azure OpenAI API
适用于:所有 API 管理层级
本文介绍了将 Azure OpenAI 服务 API 作为 REST API 导入 API 管理实例的两个选项:
- 直接从 Azure OpenAI 服务导入 Azure OpenAI API
- 下载并添加 Azure OpenAI 的 OpenAPI 规范,并将其作为 OpenAPI API 添加到 API 管理。
先决条件
现有的 API 管理实例。 如果还没有实例,请创建一个。
已部署模型的 Azure OpenAI 资源。 有关模型部署的详细信息,请参阅资源部署指南。
记下部署的 ID(名称)。 在 API 管理中测试导入的 API 时,需要用到它。
从 API 管理实例授予对 Azure OpenAI 资源的访问权限的权限。
选项 1. 从 Azure OpenAI 服务导入 API
可以直接从 Azure OpenAI 服务将 Azure OpenAI API 导入 API 管理。
注意
目前无法在工作区中使用此功能。
导入 API 时,API 管理会自动配置:
- 每个 Azure OpenAI REST API 终结点的操作。
- 系统分配的标识,其具有访问 Azure OpenAI 资源所需的权限。
- 后端资源和 set-backend-service 策略,用于将 API 请求定向到 Azure OpenAI 服务终结点。
- authentication-managed-identity 策略,可以使用实例的系统分配标识向 Azure OpenAI 资源进行身份验证。
- (可选)用于帮助监视和管理 Azure OpenAI API 使用的令牌消耗的策略。
若要将 Azure OpenAI API 导入 API 管理:
在 Azure 门户,导航到 API 管理实例。
在左侧菜单中的 API 下,选择 API>+ 添加 API。
在“从 Azure 资源创建”下,选择 Azure OpenAI 服务。
在“基本信息”选项卡上:
选择要导入的 Azure OpenAI 资源。
(可选)选择 Azure OpenAI API 版本。 如果未进行选择,则会默认使用最新的生产就绪 REST API 版本。
输入 API 的显示名称和(可选)说明。
在基础 URL 中,追加 API 管理实例用于访问 Azure OpenAI API 终结点的路径。 如果启用“确保 OpenAI SDK 兼容性”(建议启用),则
/openai
会自动追加到基础 URL。例如,如果 API 管理网关终结点
https://contoso.azure-api.net
,请设置类似于https://contoso.azure-api.net/my-openai-api/openai
的 基础 URL。(可选)选择要与 API 关联的一个或多个产品。 选择下一步。
在“策略”选项卡上,可以选择启用策略来监视和管理 Azure OpenAI API 令牌消耗。 如果选中,请输入设置或接受用于定义 API 的
azure-openai-token-limit
和azure-openai-emit-token-metric
策略的默认值。 也可以稍后设置或更新该策略配置。 选择“查看 + 创建” 。验证设置后,选择“创建”。
选项 2. 将 OpenAPI 规范添加到 API 管理
或者,手动下载 Azure OpenAI REST API 的 OpenAPI 规范,并将其作为 OpenAPI API 添加到 API 管理。
下载 OpenAPI 规范
下载 Azure OpenAI REST API 的 OpenAPI 规范,例如 2024-02-01 GA 版本。
在文本编辑器中,打开下载的规范文件。
在规范中的
servers
元素中,将 Azure OpenAI 服务终结点的名称替换为规范中url
和default
终结点的占位符值。 例如,如果 Azure OpenAI 服务终结点为contoso.openai.azure.com
,请使用以下值更新servers
元素:- url:
https://contoso.openai.azure.com/openai
- 默认终结点:
contoso.openai.azure.com
[...] "servers": [ { "url": "https://contoso.openai.azure.com/openai", "variables": { "endpoint": { "default": "contoso.openai.azure.com" } } } ], [...]
- url:
记下规范中 API
version
的值。 需要它以测试 API。 示例:2024-02-01
。
将 OpenAPI 规范添加到 API 管理
- 在 Azure 门户,导航到 API 管理实例。
- 在左侧菜单中,选择“API”>“+ 添加 API”。
- 在“定义新的 API”下,选择“OpenAPI”。 输入 API 的显示名称和名称。
- 输入以
/openai
结尾的 API URL 后缀,以访问 API 管理实例中的 Azure OpenAI API 终结点。 示例:my-openai-api/openai
。 - 选择创建。
API 导入并显示 OpenAPI 规范中的操作。
配置 Azure OpenAI API 的身份验证
若要向 Azure OpenAI API 进行身份验证,请提供 API 密钥或托管标识。 如果直接将 Azure OpenAI API 导入 API 管理实例,则会自动配置使用 API 管理实例的托管标识进行身份验证。
如果从其 OpenAPI 规范添加了 Azure OpenAI API,则需要配置身份验证。 有关使用 API 管理策略配置身份验证的详细信息,请参阅 对 Azure OpenAI API 进行身份验证和授权。
测试 Azure OpenAI API
若要确保 Azure OpenAI API 按预期工作,请在 API 管理控制台中对其进行测试。 需要提供 Azure OpenAI 资源中配置的模型部署 ID(名称),以测试 API。
选择上一步中创建的 API。
选择“测试”选项卡。
选择与在 Azure OpenAI 资源中部署的模型兼容的操作。 该页将显示查询参数和标头的字段。
在模板参数中,输入以下值:
根据需要输入其他参数和标头。 根据操作,可能需要配置或更新请求正文。
注意
在测试控制台中,API 管理自动填充 Ocp-Apim-Subscription-Key 标头,并配置内置全访问订阅的订阅密钥。 此密钥允许访问 API 管理实例中的每个 API。 可选择性地通过选择 HTTP 请求旁的“眼睛”图标来显示 Ocp-Apim-Subscription-Key 标头。
选择“发送”。
当测试成功时,后端会使用成功的 HTTP 响应代码和某些数据进行响应。 追加到响应中是令牌使用情况数据,可帮助你监视和管理 Azure OpenAI API 消耗量。
Azure OpenAI API 的缓存策略
除了导入 Azure OpenAI 服务 API 时可以配置的 azure-openai-token-limit
和 azure-openai-emit-token-metric
策略外,API 管理还提供以下缓存策略来帮助优化 Azure OpenAI API 的性能并减少延迟:
azure-openai-semantic-cache-store
azure-openai-semantic-cache-lookup