SiliconFlow
SiliconFlow 托管来自多个模型组织的模型并提供推理服务。AISIX 将服务提供方凭证保留在网关中,同时为应用提供覆盖该目录的稳定别名。
准备工作
开始前,请准备以下内容:
- 一套 AISIX 环境:
- 对于 AISIX Cloud,需要一个已关联网关的环境和具有写入作用域的 Admin Token。对于 On-Premises,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,请准备本地 AISIX 安装,或使用开源 AISIX 网关快速入门中的 Docker 环境。配置网关以加载声明式资源文件。
- 从 SiliconFlow 控制台获取的 SiliconFlow API Key。
curl和jq。
选择 SiliconFlow 平台
SiliconFlow 运营两个平台,模型目录为每个平台提供一个服务提供方 ID:
| 目录服务提供方 ID | API Root | 适用场景 |
|---|---|---|
siliconflow | https://api.siliconflow.com/v1 | API Key 由 siliconflow.com 平台签发。 |
siliconflow-cn | https://api.siliconflow.cn/v1 | API Key 由 siliconflow.cn 平台签发。 |
目录将两个平台建模为独立服务提供方,并分别使用凭证变量 SILICONFLOW_API_KEY 和 SILICONFLOW_CN_API_KEY。因此,请将它们视为独立账户,并选择与密钥签发平台匹配的服务提供方 ID。以下示例使用 siliconflow。如果你的账户位于另一个平台,请在全文中将其替换为 siliconflow-cn 和 https://api.siliconflow.cn/v1。
使用 AISIX Cloud 配置
导出 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"
为 SiliconFlow 支持的 Chat Completions 路由创建服务提供方密钥、模型别名和调用方 API Key。
SiliconFlow 是使用 OpenAI 兼容 API 的社区目录服务提供方。AISIX 通过 openai 适配器连接,使用 Bearer Token 对上游请求进行身份认证,并将 SiliconFlow API Root 用作 api_base。AISIX 不会注册 SiliconFlow 特有的请求或响应重写规则。
控制台将该服务提供方标记为传输格式未经验证的社区条目。
创建服务提 供方密钥
创建用于存储 SiliconFlow 凭证和 API Root 的服务提供方密钥:
# 请替换为实际值
export SILICONFLOW_API_KEY="YOUR_PROVIDER_API_KEY"
PROVIDER_KEY_ID=$(curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "siliconflow-prod",
"provider": "siliconflow",
"api_key": "'"${SILICONFLOW_API_KEY}"'",
"api_base": "https://api.siliconflow.com/v1",
"allowed_environments": ["'"${ENV_ID}"'"]
}' | jq -r '.provider_key.id')
echo "$PROVIDER_KEY_ID"
❶ provider 为 siliconflow。AISIX Cloud Admin API 接受该值,是因为此 ID 存在于其缓存的 models.dev 目录中,并且它会从目录推导适配器。不要发送 adapter 字段:仅当 provider 为 byo 哨兵值时才接受该字段;在目录服务提供方密钥中发送它会返回 400 错误。
❷ api_key 存储 SiliconFlow API Key。SiliconFlow 使用 HTTP Bearer 身份认证,openai 适配器已经会发送该认证信 息,因此无需额外配置请求头。该值遵循服务提供方密钥中的凭证处理行为。
❸ api_base 为 https://api.siliconflow.com/v1。SiliconFlow 文档中的完整聊天端点是 POST https://api.siliconflow.com/v1/chat/completions,因此 Root 已包含 /v1,AISIX 会在其后追加 /chat/completions 等端点路径。对于 siliconflow,此字段可选:models.dev 会将同一值发布为服务提供方的 API 字段,省略时 AISIX Cloud Admin API 会自动填充。仍建议显式设置该字段,以便在配置中清楚显示每个密钥所指向的 Root,并避免密钥依赖可能早于服务商 URL 变更的目录快照。
该命令会把返回的服务提供方密钥 ID 保存到 PROVIDER_KEY_ID。
创建模型
SiliconFlow 模型 ID 带有组织命名空间。ID 由模型组织、斜杠和模型名称组成,且前后两部分均区分大小写。当前示例包括 deepseek-ai/DeepSeek-V3.2、zai-org/GLM-5.2、Qwen/Qwen3.6-27B、moonshotai/Kimi-K2.6 和 openai/gpt-oss-120b。创建别名前,请在 SiliconFlow 模型目录中查看当前列表,因为托管模型集合会随着模型新增和退役而变化。
创建调用方将在请求中发送的模型别名:
MODEL_ID=$(curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/models" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "siliconflow-deepseek-prod",
"model_name": "deepseek-ai/DeepSeek-V3.2",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}' | jq -r '.model.id')
echo "$MODEL_ID"
❶ display_name 是调用方在 model 中发送的别名。
❷ model_name 是包含组织前缀的 SiliconFlow 模型 ID。该前缀表示模型组织,而不是上游服务提供方。SiliconFlow 上 openai/gpt-oss-120b 的别名仍以 siliconflow 作为服务提供方值,网关的逐路由服务提供方规则会对此值进行判断。
❸ provider_key_id 将别名关联到 SiliconFlow 服务提供方密钥。
models.dev 目录为其收录的 SiliconFlow Chat 模型提供每 Token 价格,因此这些别名无需额外配置即可进行用量和预算核算。该目录未收录 SiliconFlow Embedding 或音频模型,因此请为 Embedding 或转录别名添加价格覆盖项。
对于按时长计费的转录模型,请配置其每分钟音频费率。语音请求会显示为零 Token 用量事件,但 AISIX 不会应用按字符计费的文本转语音定价。请参阅模型定价和