跳到主要内容
版本:3.10.x

接入 Azure OpenAI

Azure OpenAI Service 通过 Azure 企业基础设施提供 OpenAI 模型能力。API7 AI 网关可以在网关层统一维护 Azure 资源端点、部署名称、API 版本和访问密钥,避免这些信息散落在业务代码中。

前提条件

  • 已安装 DockercURL
  • 已有可用的 API7 企业版网关环境。
  • 已创建 Azure OpenAI 资源和模型部署。
  • 已设置 ADMIN_API_KEYSERVICE_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 版本。

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"
}
}
}
}'

注意事项

  • model 通常填写部署对应的模型名称,用于日志和观测归因。
  • endpoint 中的部署名称必须与 Azure OpenAI 资源中的部署一致。
  • 如果企业内部有多个 Azure 区域,可以结合 ai-proxy-multi 做多区域路由和故障转移。