接入 Azure OpenAI
Azure OpenAI Service 通过 Azure 企业基础设施提供 OpenAI 模型能力。API7 AI 网关可以在网关层统一维护 Azure 资源端点、部署名称、API 版本和访问密钥,避免这些信息散落在业务代码中。
前提条件
- 已安装 Docker 和 cURL。
- 已有可用的 API7 企业版网关环境。
- 已创建 Azure OpenAI 资源和模型部署。
- 已设置
ADMIN_API_KEY和SERVICE_ID环境变量。
准备 Azure OpenAI 凭证
从 Azure OpenAI 资源页面获取访问密钥和端点,并写入环境变量:
export AZ_OPENAI_API_KEY=your-azure-api-key
Azure OpenAI 使用 api-key 请求头认证,而不是 OpenAI 常用的 Authorization 请求头。
配置 Azure OpenAI 代理
override.endpoint 需要填写 Azure OpenAI 的完整聊天补全端点,其中包括资源名称、部署名称和 API 版本。
- Admin API
- ADC
curl "http://127.0.0.1:7080/apisix/admin/routes?gateway_group_id=default" -X PUT \
-H "X-API-KEY: $ADMIN_API_KEY" \
-d '{
"id": "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"
}
}
}
}'
adc.yaml
services:
- name: Azure OpenAI Service
routes:
- name: azure-openai-route
uris:
- /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
注意事项
model通常填写部署对应的模型名称,用于日志和观测归因。endpoint中的部署名称必须与 Azure OpenAI 资源中的部署一致。- 如果企业内部有多个 Azure 区域,可以结合
ai-proxy-multi做多区域路由和故障转移。