服务提供方密钥
创建服务提供方密钥,保存 AISIX 在解析模型别名后使用的上游凭证和端点设置。模型通过 ID 引用服务提供方密钥,因此上游凭证不会进入应用代码,并且可以被多个别名复用。
准备工作
请先准备以下内容:
- 一个 Admin 监听器可用的自托管网关。
- 网关
config.yaml中的 Admin Key。 - 一个上游服务提供方凭证。
创建服务提供方密钥
首先创建服务提供方密钥,并保存返回的 ID 供模型配置使用。
下面的示例使用 OpenAI 作为上游服务提供方:
export AISIX_ADMIN_KEY="YOUR_ADMIN_KEY"
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
curl -sS -X POST "http://127.0.0.1:3001/admin/v1/provider_keys" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "openai-prod",
"provider": "openai",
"adapter": "openai",
"secret": "'"${OPENAI_API_KEY}"'",
"api_base": "https://api.openai.com/v1"
}'
你应该会看到类似下面的响应:
{
"id": "db8613ea-2ecd-40e4-91aa-08197119f766",
"value": {
"display_name": "openai-prod",
"secret": "***",
"api_base": "https://api.openai.com/v1",
"provider": "openai",
"adapter": "openai",
"telemetry_tags": {
"featured": false
},
"strip_headers": [
"authorization",
"cookie",
"set-cookie",
"x-api-key"
]
},
"revision": 1
}
复制高亮的 id。创建模型时会将它作为 provider_key_id 使用。
这一步只会创建上游凭证资源。要通过 AISIX 发送流量,还需要把服务提供方密钥挂到模型上,在调用方 API Key 中允许访问该模型,并使用调用方 API Key 发送代理请求。
设置服务提供方与适配器
服务提供方密钥会将上游身份与上游 API 格式解耦。
provider 用于标识上游服务提供方或端点。它是开放字符串,例如 openai、deepseek、openrouter,也可以是私有端点名称。
adapter 用于标识 AISIX 应使用的上游 API 格式。它是封闭取值,因为 AISIX 只能编码已实现的协议族,例如 openai、anthropic、bedrock、vertex 和 azure-openai。
两个字段需要配合使用。上面的 OpenAI 示例使用 provider: "openai" 和 adapter: "openai",因为上游服务提供方和 API 格式都是 OpenAI。
对于暴露 OpenAI 兼容 API 的非 OpenAI 服务提供方,请在 provider 中保留服务提供方名称,并使用 OpenAI 适配器:
{
"provider": "deepseek",
"adapter": "openai",
"api_base": "https://api.deepseek.com"
}
关于适配器选择详情,参见适配器协议族。