路由与可靠性

Token360 将每个公开模型名解析为符合条件的上游路由。请求转发前,平台会执行鉴权、模型配置、路由健康、计量和账户策略检查。

模型名的含义

请使用 Token360 模型目录中展示的公开模型名。它是面向产品的稳定标识,不是上游账户、部署或 API Key 名称。

一个模型可以有一条或多条可用服务路由。平台会根据已配置路由判断可用性和参数兼容性。除非使用会话亲和或由企业配置明确固定,否则 Token360 不承诺每个请求都使用同一个上游供应商。

路由选择

平台可能考虑:

  • 路由及其凭证是否启用;
  • 最近的供应商健康状态和限流状态;
  • 模型与参数兼容性;
  • 租户模型权限和数据驻留策略;
  • 账户配置的容量与路由策略。

Token360 支持下文所述的 session_id 与 x-session-id 路由控制。任意供应商排序、供应商 allowlist、价格上限或跨模型 fallback 等其他供应商路由字段,仅在所选模型的公开 Schema 明确列出时可用。

会话亲和(Session Affinity)

多轮对话和 Agent 工作流应使用稳定的会话标识。首次请求成功后,后续请求会优先回到同一个仍可用的上游供应商与凭证。这让提示缓存从会话第一轮开始就有机会复用,也适用于需要回传供应商特定状态的工作流,例如部分 GPT 模型返回的加密推理数据。

会话亲和是路由偏好,不是牺牲可用性的硬绑定。平台仍会优先执行策略、模型兼容性、数据驻留、冷却、容量与供应商健康检查。

传入会话标识

可任选一种方式:

请求体session_id顶层 JSON 字符串;两种方式同时存在时,请求体优先。
请求头x-session-id适合 SDK 不方便添加自定义请求字段的场景。

该值必须是有效 UTF-8,最长 256 个字符。Token360 只将其用于路由,会生成受保护的内部键;请求体中的字段不会透传给上游供应商。

建议为每个对话或 Agent 运行生成唯一、不透明的值。不要在其中放入 API Key、访问令牌、邮箱或其他敏感信息。

Shell
1curl https://api.token360.ai/v1/chat/completions \
2  -H "Authorization: Bearer $TOKEN360_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "model": "gpt-6-astra",
6    "session_id": "agent-run-7f3a9c",
7    "messages": [
8      {"role": "user", "content": "继续完成这个任务。"}
9    ]
10  }'

等价的请求头写法:

Shell
1curl https://api.token360.ai/v1/chat/completions \
2  -H "Authorization: Bearer $TOKEN360_API_KEY" \
3  -H "Content-Type: application/json" \
4  -H "x-session-id: agent-run-7f3a9c" \
5  -d '{
6    "model": "gpt-6-astra",
7    "messages": [
8      {"role": "user", "content": "继续完成这个任务。"}
9    ]
10  }'

allow_fallbacks

可选顶层布尔字段,默认 true。Token360 仅将其用于路由,不会透传给上游。

true 或未传软粘性(默认)。偏好供应商不可用时,fail-open 到其他合格路由。
false硬粘性。不离开偏好供应商;若其不可用,直接返回 HTTP 503,不再 failover。

尚无亲和记忆时(首包、闲置过期或未命中),allow_fallbacks=false 不改变选路:仍走正常候选集;成功后可为后续请求建立偏好。

Shell
1curl https://api.token360.ai/v1/chat/completions \
2  -H "Authorization: Bearer $TOKEN360_API_KEY" \
3  -H "Content-Type: application/json" \
4  -H "x-session-id: agent-run-7f3a9c" \
5  -d '{
6    "model": "gpt-6-astra",
7    "allow_fallbacks": false,
8    "messages": [
9      {"role": "user", "content": "继续完成这个任务。"}
10    ]
11  }'

生命周期与作用域

  • 第一个成功请求即建立路由偏好,不要求先出现提示缓存命中。
  • 后续每次成功请求都会刷新 10 分钟的闲置有效期。
  • 亲和记录按 Token360 账户、公开模型和会话标识隔离。
  • 当所选模型和供应商支持对应 API 时,同一会话可在 Chat Completions、Responses 与 Messages 之间沿用路由偏好。
  • 失败请求不会覆盖已经记住的路由。
  • 如果原供应商或凭证不再可用,且未将 allow_fallbacks 设为 false,Token360 会 fail-open 到其他合格路由;下一次成功路由会成为新的偏好。
  • 所选 API 与模型支持显式供应商或路由控制时,客户显式选择优先于会话亲和。

未传 session_id 或 x-session-id 时,现有的提示词亲和行为保持不变。Token360 可能根据首条 system/developer 消息与首条用户消息生成对话指纹,但涉及供应商特定加密状态时,应用不应依赖这种隐式行为。若该隐式亲和已生效,allow_fallbacks=false 同样禁止离开偏好供应商。

该客户端契约与 OpenRouter 的供应商粘滞路由 保持一致,同时仍以 Token360 自身的路由、策略和可用性检查为准。

失败行为

没有兼容路由时,请求会返回标准错误。路由变化不要求应用更改公开模型名。

平台自动处理路由不等于客户端无需容错:

  • 仅重试瞬时错误;
  • 限制尝试次数和总耗时;
  • 使用指数退避和随机抖动;
  • 参数错误或余额不足时,修正原因前不要重试;
  • 异步创建操作应格外谨慎,因为客户端观察到超时前,上游任务可能已经启动。

响应与审计信号

可用时请记录:

  • 响应模型名;
  • provider 或 route 元数据;
  • request 或 generation ID;
  • X-Request-Id 与 X-Trace-ID 响应头;
  • 状态、延迟、用量和费用。

通过控制台请求详情与生成记录接口调查实际服务路由。联系支持时提供关联 ID 与时间戳,但绝不要提供 API Key 密钥。

数据策略与路由

企业数据驻留设置会约束可选路由。首选或强制地域属于路由策略,不能单独说明所有保留、日志或训练行为。完整数据路径请阅读 安全与数据处理。

连续性设计

  • 将公开模型名放入应用配置,而不是硬编码在源代码中。
  • 切换生产流量前先验收替代模型。
  • 支持时,交互式长响应使用流式传输。
  • 需要脱离客户端连接继续运行的任务使用异步 Chat 或批量任务。
  • 按模型监控成功率、P95 延迟和错误分类。
  • 为预期流量峰值保留足够的可用余额或信用额度。

Token360 不保证的事项

  • 未固定路由时使用同一个上游供应商。
  • 不同供应商、模型版本或重试得到完全相同的输出。
  • 重试非确定性请求得到相同结果。
  • 除非明确签约配置,否则不保证跨模型 fallback。
此页面对您有帮助吗?
路由与可靠性 · Token360