# TokenPlus 模型路由与渠道选择

模型资料来自 [模型广场](https://www.tokenplus.cn/models)，完整协议以 [官方文档](https://www.tokenplus.cn/doc) 为准。本文只说明调用侧语义，不介绍后台配置操作。

## 模型与渠道的区别

`model` 指定所调用的模型服务；渠道表示提供该模型推理的具体接入来源。同一模型的渠道可能在价格、支持参数、上下文上限、延迟、吞吐和数据策略上存在差异。上游模型标识与 TokenPlus model ID 可能不同，调用时按 TokenPlus 详情给出的 ID 填写。

没有明确指定渠道时，按当前服务配置选择可用候选；候选可用性仍受权限、模型状态及适用策略约束。静态文档不包含用户实际路由配置。

## 按目标比较候选

- 成本敏感：比较相同计费项、单位、档位、时段下的价格，不能只看最低展示价。
- 首次响应敏感：比较同窗口同分位口径的 TTFT，而不是只看吞吐。
- 长输出敏感：综合考虑 TPS 和端到端延迟，同时控制输出长度。
- 稳定性敏感：读取统计窗口、样本量及可用性，不将少量样本视为服务保证。

价格、throughput、latency 等策略是选择偏好，不保证固定命中某渠道或得到某个性能数值。不要把默认模型理解为跨模型失败回退；建议请求始终明确提供 model。

## 显式排序扩展

当前在线调用实现对明确排序发送 `provider.sort`，可选 `price`、`throughput`、`latency`；使用服务默认策略时省略此覆盖。外部网关是否支持该扩展，应先核对当前正式协议。

```json
{
  "provider": {
    "sort": "latency"
  }
}
```

此为需要合并到完整请求体的片段，不是独立可调用请求；不要将这些字段当作所有 OpenAI/Anthropic 官方 API 都支持的标准参数。

## 指定渠道调用

模型详情的渠道调用示例使用以下扩展；仅在实际网关支持并有渠道访问权限时使用。`only` 中填写详情提供的真实 channel slug，不填服务商展示名、内部 UUID 或猜测值。

```json
{
  "provider": {
    "only": ["替换为真实渠道slug"],
    "allow_fallbacks": false
  }
}
```

该片段放入 Chat/Messages 的完整请求体。关闭回退后不能期待网关自动使用其他渠道挽救失败；也不能以此绕过权限、数据策略或限流。渠道价格、能力和可用性需在调用前核对。

## 行为边界

文档没有确认负载权重、采样窗口、熔断阈值、服务端重试次数、退避算法及流式部分输出后的切换机制。需要这些保证时查询正式协议，不能依据策略名称推导。每次请求的实际结果以响应及平台提供的请求标识为准。
