路由与可靠性
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、访问令牌、邮箱或其他敏感信息。
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 }'等价的请求头写法:
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 不改变选路:仍走正常候选集;成功后可为后续请求建立偏好。
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。