其他 OpenAI 兼容服务提供方
许多公开模型服务提供方都提供 OpenAI 兼容 API。当服务提供方接受通过 Bearer Token 认证的 OpenAI Chat Completions 请求并已列入 AISIX 服务提供方目录时,AISIX Enterprise 和 AISIX Cloud 可以连接到它。开源 AISIX 网关可在操作人员选择的服务提供方标签下使用任何具有相同协议和认证结构的可访问端点。
如果某个服务提供方在服务提供方上游中已有专用配置,请按照对应页面操作。以下配置是适用于其他公开服务提供方的参数化模板;控制面配置路径假定该服务提供方已列入其目录。
对于私有或客户自行运营的服务器,请使用专用的 Ollama、vLLM 或自定义端点指南。
准备工作
开始前,请准备以下内容:
- 一套 AISIX 环境:
- 对于 AISIX Enterprise 或 AISIX Cloud,需要一个已关联网关的环境和具有写入作用域的 Admin Token。对于 AISIX Enterprise,请按照 AISIX Enterprise 快速入门操作。如需申请 AISIX Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,请准备本地 AISIX 安装,或使用开源 AISIX 网关快速入门中的 Docker 环境。配置网关以加载声明式资源文件。
- OpenAI 兼容服务提供方的 API Key。对于 AISIX Enterprise 或 AISIX Cloud,该服务提供方必须列入 AISIX 服务提供方目录;开源资源工作流不使用该目录进行准 入。未列入目录的端点请参阅自带端点。
curl和jq。
选择服务提供方值
对于 AISIX Enterprise 或 AISIX Cloud,请选择 AISIX 服务提供方目录中显示的准确 ID。对于开源资源文件,请选择稳定的服务提供方标签,例如服务提供方的小写名称。然后从服务提供方官方 API 参考中复制 API 根地址和模型 ID:
export PROVIDER_ID="YOUR_PROVIDER_ID"
export PROVIDER_API_KEY="YOUR_PROVIDER_API_KEY"
export PROVIDER_API_BASE="https://api.provider.example/v1"
export UPSTREAM_MODEL_ID="publisher/model-id"
export MODEL_ALIAS="provider-model-prod"
以上地址和 ID 均为虚构占位符。运行配置前,请替换所有值。
使用 AISIX Enterprise 或 AISIX Cloud 配置
导出控制面连接信息:
# AISIX_CP 是 Admin API 基础 URL;应包含 /api,且不含尾部斜杠
# 本地 AISIX Enterprise 快速入门使用 http://localhost:8080/api
export AISIX_CP="YOUR_AISIX_CONTROL_PLANE_API_URL"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
为由该服务提供方支持的 Chat Completions 路由创建服务提供方密钥、模型别名和调用方 API Key。
AISIX 通过 openai 适配器连接,并使用服务提 供方的 API 根地址作为 api_base。请为服务提供方密钥设置说明性标签,以便运维人员之后识别上游。
创建服务提供方密钥
PROVIDER_KEY_RESPONSE=$(
curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
--data-binary @- <<EOF
{
"display_name": "community-provider-prod",
"provider": "${PROVIDER_ID}",
"api_key": "${PROVIDER_API_KEY}",
"api_base": "${PROVIDER_API_BASE}",
"allowed_environments": ["${ENV_ID}"]
}
EOF
)
PROVIDER_KEY_ID=$(printf '%s' "$PROVIDER_KEY_RESPONSE" | jq -er '.provider_key.id')
echo "$PROVIDER_KEY_ID"
provider 必须与 AISIX 目录中的 ID 完全一致。AISIX Cloud Admin API 会为社区目录服务提供方派生 openai 适配器和 Bearer 认证。不要发送 adapter 字段;仅当 provider 为 byo 时才接受该字段。
没有专用配置页面的服务提供方是从已同步的公开目录接入,而不是来自网关内置服务提供方列表。如果创建操作返回提及目录的 400 INVALID_REQUEST,表示控制面的当前目录中没有该服务提供方。联网部署会在启动时以及每 24 小时同步;打包的 AISIX Enterprise 部署默认使用内 置快照,不会刷新。请在在线同步后重试、查看 AISIX Enterprise 定价目录设置,或改用自定义端点配置上游。
AISIX 会将端点路径追加到 api_base。如果官方端点要求 /v1、/openai 或 /openai/v1 等服务提供方专属前缀,请将其包含在内。显式设置根地址还可避免依赖最近一次目录同步所缓存的 API 基础地址。
服务提供方密钥中存储的凭证遵循服务提供方密钥中说明的凭证处理行为。
创建模型
将面向调用方的别名映射到服务提供方的准确模型 ID:
MODEL_RESPONSE=$(
curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/models" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
--data-binary @- <<EOF
{
"display_name": "${MODEL_ALIAS}",
"model_name": "${UPSTREAM_MODEL_ID}",
"provider_key_id": "${PROVIDER_KEY_ID}"
}
EOF
)
MODEL_ID=$(printf '%s' "$MODEL_RESPONSE" | jq -er '.model.id')
echo "$MODEL_ID"
display_name 是调用方在 model 中发送的别名。model_name 会原样发送到上游,因此请保留发布方命名空间、大小写、标点和版本后缀。
如需为预算核算或用量报告配置成本元数据,请参阅模型别名