服务提供方密钥
创建服务提供方密钥,用于保存 AISIX 解析模型别名后访问上游所需的凭证和端点设置。在 AISIX Cloud 中,模型通过 ID 引用服务提供方密钥;在开源 AISIX 网关中,resources.yaml 里的模型通过 display_name 引用。两种方式都能 避免在应用代码中保存上游凭证,并允许多个别名复用同一个凭证。
创建示例涵盖两种管理方式。字段和行为章节会说明 AISIX Cloud Admin API 与声明式资源文件之间的重要差异。
前置条件
开始前请准备:
- 上游服务提供方凭证。
- 对于 AISIX Cloud,需要环境访问权限和具有写入权限的 Admin Token。对于 On-Premises 部署,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,需要一个加载声明式资源文件的网关。开源 AISIX 网关快速入门提供了可运行的配置和重新加载流程。
创建服务提供方密钥
根据部署使用的管理方式配置凭证。
AISIX Cloud
创建服务提供方密钥,并保存返回的 ID 供模型配置使用。
服务提供方密钥的作用域是组织。allowed_environments 列出创建模型时可以引用该密钥的环境,因此请包含模型所在环境。
导出 AISIX Cloud 连接信息:
# AISIX_CP 是 Admin API 基础 URL;请包含 /api,且不要以斜杠结尾。
# 本地 On-Premises 快速入门使用 http://localhost:8080/api。
export AISIX_CP="YOUR_AISIX_CLOUD_ADMIN_API_URL"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
以下示例创建一个 OpenAI 服务提供方密钥:
# 请替换为实际值
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "openai-prod",
"provider": "openai",
"api_key": "'"${OPENAI_API_KEY}"'",
"api_base": "https://api.openai.com/v1",
"allowed_environments": ["'"${ENV_ID}"'"]
}'
你应该会看到类似以下的响应:
{
"provider_key": {
"id": "db8613ea-2ecd-40e4-91aa-08197119f766",
"org_id": "3f1c2b6a-9d4e-4c1f-8a2b-5e6d7c8f9a0b",
"provider": "openai",
"display_name": "openai-prod",
"allowed_environments": ["9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d"],
"strip_headers": null,
"telemetry_label": "openai-prod",
"created_at": "YYYY-MM-DDTHH:MM:SSZ",
"updated_at": "YYYY-MM-DDTHH:MM:SSZ"
}
}
创建响应不包含 api_base;使用 GET $AISIX_CP/provider_keys/{id} 获取该密钥,即可查看端点覆盖值。
复制高亮的 id 并将其导出。创建模型时会将其用作 provider_key_id:
export PROVIDER_KEY_ID="YOUR_PROVIDER_KEY_ID"
该操作只创建上游凭证资源。要通过 AISIX 发送流量,还需把服务提供方密钥关联到模型、在调用方 API Key 上允许该模型,并使用调用方 API Key 发送代理请求。
开源 AISIX 网关
在资源文件的 provider_keys 集合中添加服务提供方密钥。请通 过环境变量提供凭证,不要把明文密钥写入 YAML:
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
将以下条目添加到完整资源文件的 provider_keys 中:
provider_keys:
- display_name: openai-prod
provider: openai
adapter: openai
api_key: ${OPENAI_API_KEY}
api_base: https://api.openai.com/v1
模型通过该密钥的 display_name(即 openai-prod)进行引用。应用前请验证完整的资源文件。如果运行中的网关进程已经能够访问 OPENAI_API_KEY,请按照重新加载资源文件操作。如果刚刚新增该变量,请调整开源 AISIX 网关快速入门中的启动命令,使用 -e 传入该变量,再重新创建网关,使进程能够解析它。