模型 ID 与多上游路由
平台同时接入多家上游(Codzen、AIYun-Router、移动云、火山等)。对客户契约分两条线:/v1 走 OpenAI 兼容;/v3(及 /api/v3)走火山 Ark / 移动云路径习惯。已接入成功的客户不会因我们换上游或加供应商而被迫改参。
行业最佳实践(本平台采用)
- OpenAI / 多数聚合商:baseURL + /v1/…(chat、images、扁平 videos/generations)
- 火山 Ark / 移动云 Seedance:baseURL 指向 …/api/v3,路径 /contents/generations/tasks
- 默认扁平 model id(如 doubao-seedance-2.0),不强制 provider/model
- 响应里的 model 回显客户请求的平台 id,不回传上游内部版本号
- 同一平台 id 可挂多条渠道路由;priority 数字越小越优先,主路失败自动 failover
- 区分两层命名:模型厂商(OpenAI/DeepSeek,可展示)vs 中间批发渠道(不对客暴露真名)
- 每个上游供应商配置对客 opaque lane(如 lane-aurora),Boss 里改;API 只见 lane
- 新供应商接入:已有同名 id → 只挂备路;无同名 → 创建扁平 id
- 可选供应商偏好用 lane,不用 aiyun/codzen 等真名;转发上游前剥离私有字段
会不会把中间渠道暴露给客户?
- 不会也不应该:批发/中转渠道真名只留在 Boss,避免客户绕开平台直连上游
- 查询/补全响应的 model 等于创建时提交的平台 id;上游执行名(如 doubao-seedance-2-0-260128)只用于转发,不写入对客 model
- OpenRouter 一类会暴露「推理托管商」是其产品卖点(合规/选机房),与「隐藏进货渠道」不同
- 国内中转站常见做法:对客扁平 model + 内部渠道码;文档不写真实进货站域名/品牌
- 模型厂商名(owned_by)可以展示;进货渠道用 lane-aurora 这类无搜索意义的别名
老客户会受影响吗?
- 不会:继续传原来的 model 与参数即可
- 接口升级时优先加字段、加备路,不改已有 id 的语义
- 若某上游下线,同 id 的备路会顶上(只要运维已挂好)
客户怎么选模型
- 调用
GET /v1/models或查看 定价页 - 请求里填返回的 id(或历史 aliases)
- 默认不用关心走哪条 lane;需要定点时用 routing.lane 或下方偏好字段
可选:指定路由 lane
与 OpenRouter 的 provider 偏好类似,完全可选。取值是平台分配的 lane(见 GET /v1/models 的 routing.lane),不是上游品牌名。
curl -X POST "https://www.openmodels.com.cn/v1/chat/completions" \
-H "Authorization: Bearer <OPENMODELS_API_KEY>" \
-H "Content-Type: application/json" \
-H "x-pengyoo-provider: lane-aurora,lane-solstice" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role":"user","content":"你好"}],
"provider": { "order": ["lane-aurora"], "allow_fallbacks": true }
}'- Header x-pengyoo-provider 或 body.provider / body.pengyoo
- provider 可为字符串、数组,或 { order, allow_fallbacks }
- 这些字段仅平台消费,不会转发给上游
命名空间定点(可选)
| 平台 model id | 含义 |
|---|---|
| deepseek-v4-flash | 默认扁平 id;按 priority 走主备 |
| lane-aurora/deepseek-v4-flash | 可选:强制走该 lane 对应渠道 |
| chinamobile-seedance-2.0 | 既有客户 id 不变(历史命名) |
| jade-test-seedance-2.0 | Seedance 测试通道(与生产隔离) |
| lane-jade/seedance-2.0 | 可选:定点走测试 lane |
| cyai-test-seedance-2.0 | Seedance 测试通道(中漫 / 词元AI) |
| hwdrama-test-seedance-2.0 | Seedance 测试通道(HW Drama) |
| lxr-test-seedance-2.0 | Seedance 测试通道(LXRouter) |
| lane-lxr/seedance-2.0 | 可选:定点走 LXRouter 测试 lane |
| lane-ink/seedance-2.0 | 可选:定点走中漫测试 lane |
| doubao-seedance-2-0-filter-off | 扁平视频 id |
GET /v1/models 字段
| 字段 | 说明 |
|---|---|
| id | 平台 model id(默认用扁平 id) |
| owned_by | 模型厂商/系列(非进货渠道) |
| aliases | 历史/短名列表(若有) |
| routing.lane | 当前主路对客别名(opaque) |
| routing.upstream_model | 发给上游的真实 model 名 |
| routing.priority | 主路优先级(只读) |
运维在 Boss → 供应商 配置内部真名与对客 lane;客户侧无需改代码即可享受主备切换。