多厂商差异

统一入口已经把协议差异吃掉了;这一页只讲你确实需要知道的那部分。

平台上的模型来自不同厂商,各家的原生协议不完全一样。

但你基本不需要关心这件事:经 SciRouter 的统一入口调用时,一律是 OpenAI 格式。 协议差异是我们的问题,不是你的问题。

这一页讲的是那少数几处你确实会碰到的差异。

兼容度标识

每个模型的详情页顶部有一行兼容度标识,三种:

  • 完全兼容 —— 现有的 OpenAI 代码改一个 base_url 就能用。
  • 兼容,专有参数需放 extra_body —— 标准字段照常用;这家厂商特有的参数 放进 extra_body 透传。
  • 需专用调用方式 —— 经我们的统一入口仍然是 OpenAI 格式; 只有直连厂商时才需要它的原生协议。

厂商专有参数

标准字段(temperaturetop_pmax_tokens…)对所有模型都一样。 厂商特有的参数走 extra_body

python
response = client.chat.completions.create(
    model="bio/protein-72b",
    messages=[{"role": "user", "content": "..."}],
    temperature=0.7,
    extra_body={
        "beam_width": 4,
    },
)

哪些参数可用、各自的取值范围,以模型详情页的参数面板为准。 那个面板是由后端下发的能力描述符渲染的,永远和实际可用的参数一致—— 文档里抄一份必然会过期。

不支持的参数会被忽略并在响应里说明,不会静默丢弃。

计价维度不止两个

不要假设「输入价 + 输出价」两个数字。各家口径差别很大:

  • 缓存命中的输入单独计价(通常便宜一个数量级);
  • 推理(thinking)token 单独计价;
  • 图片按张、音频按秒、有些按每次请求收固定费;
  • 阶梯价与最小计费单位。

用量响应里的 usage按维度返回的,维度名由服务端给。 你的对账代码请按「遍历维度」写,不要硬编码 input_tokens / output_tokens 这两个键——接入新厂商时会出现你没见过的维度。

流式

所有模型都支持流式(stream: true),分片格式与 OpenAI 一致。

一处差异:部分模型会在内容之前先发一个 selection 分片,说明实际命中了哪个模型 (Auto 模式下)。不认识的分片类型请忽略而不是报错——我们会继续往里加。

请验证你的身份

为了保护你的账户,这个操作需要再验证一次。

验证码已发送到你绑定的手机号。5 分钟内的其他敏感操作不会再问。

Cookie 偏好

您可以随时回到这里修改。页脚有常驻入口。

必要

维持登录状态、记住主题与语言偏好。没有它们本站无法正常工作,因此无法关闭。

统计

了解哪些功能有人用、用户在哪一步流失。只收集维度(页面、操作类型、计数),不收集您输入的任何内容。

本站不加载任何第三方统计脚本,也不做会话录屏。完整说明