集成 Azure OpenAI Service
Azure OpenAI Service 通过 Azure 企业基础设施提供 OpenAI 模型。本指南介绍如何使用 ai-proxy 插件,通过 API7 网关将流量路由到 Azure OpenAI。
前置条件
-
安装 Docker。
-
安装 cURL,用于发送请求并验证服务。
-
拥有一个正在运行的 API7 网关实例。
-
拥有 Azure 账户,并已部署 Azure OpenAI Service 资源。
-
从控制台获取 Token,并保存到环境变量:
export API_KEY=your-dashboard-token # 请替换为你的控制台 Token -
将
{gateway_group_id}替换为网关组 ID。如果正在按照快速入门操作,请使用default。 -
如果使用 Admin API 示例,请创建或复用一个服务。如果尚无服 务,请按照创建或复用服务操作,然后将其 ID 保存到环境变量:
export SERVICE_ID=your-service-id # 请替换为你的服务 ID
配置 Azure 身份认证
从 Azure OpenAI 资源获取 API Key(API 密钥)和端点,并将其保存到环境变量:
export AZ_OPENAI_API_KEY=your-azure-api-key # 请替换为你的 Azure OpenAI API Key
Azure OpenAI 使用 api-key 请求头进行身份认证,而不是 OpenAI 使用的 Authorization 请求头。
为 Azure 配置 AI 代理
创建一个启用 ai-proxy 插件的路由:
- Admin API
- ADC
curl -k "https://localhost:7443/apisix/admin/routes/azure-openai-route?gateway_group_id={gateway_group_id}" -X PUT \
-H "X-API-KEY: ${API_KEY}" \
-H "Content-Type: application/json" \
--data-binary @- <<EOF
{
"name": "azure-openai-route",
"service_id": "$SERVICE_ID",
"paths": ["/azure-openai"],
"plugins": {
"ai-proxy": {
"provider": "azure-openai",
"auth": {
"header": {
"api-key": "$AZ_OPENAI_API_KEY"
}
},
"options": {
"model": "gpt-4"
},
"override": {
"endpoint": "https://YOUR-RESOURCE.openai.azure.com/openai/deployments/YOUR-DEPLOYMENT/chat/completions?api-version=2024-10-21"
}
}
}
}
EOF
❶ 将服务提供方设置为 azure-openai。
❷ 使用 api-key 请求头附加 Azure API Key。
❸ 指定完整的 Azure OpenAI 端点,其中包括资源名称、Deployment 名称和 API 版本。
adc.yaml
services:
- name: Azure OpenAI Service
routes:
- uris:
- /azure-openai
name: azure-openai-route
plugins:
ai-proxy:
provider: azure-openai
auth:
header:
api-key: ${AZ_OPENAI_API_KEY}
options:
model: gpt-4
override:
endpoint: https://YOUR-RESOURCE.openai.azure.com/openai/deployments/YOUR-DEPLOYMENT/chat/completions?api-version=2024-10-21
❶ 将服务提供方设置为 azure-openai。