Chat Completions API
接口
请求体
提高输入缓存命中率
项目开启会话亲和后,请为同一段业务会话持续传同一个 X-TokenPostie-Session-Id。TokenPostie 会优先复用此前成功的上游路径,减少多次路由导致的输入缓存失效。
- 这是路由优化,不会直接缓存模型回答。
- 原始会话标识不会写入日志。
- 未传 Header 时,平台依次识别
session_id、metadata.session_id、prompt_cache_key和metadata.prompt_cache_key。 - 默认使用软亲和;目标不可用时自动回退。项目配置为严格亲和时,目标不可用会返回
session_affinity_target_unavailable。
语义缓存
语义缓存是单独开通的项目权益。项目启用后,平台可复用同一租户、项目和模型范围内的相似文本请求结果,减少上游调用和 Token 消耗。
- 工具调用、图片、结构化响应和包含凭据特征的内容不会进入语义缓存。
- 只有最后一个用户问题参与相似度;系统提示、此前消息和生成参数必须一致。
- 单次请求可发送
X-TokenPostie-Semantic-Cache: bypass跳过查询和回填。 - 响应头
X-TokenPostie-Semantic-Cache返回miss、hit、shadow-hit、bypass或store_error。 hit表示本次响应未调用上游;shadow-hit只用于平台评估,本次仍调用上游。- 原始提示词不会作为缓存索引保存。
非流式示例
流式示例
行为说明
- 未支持的参数返回明确的 400 和
error.param,不再静默删除。工具调用消息支持tool_calls、tool_call_id和reasoning_content;仅携带工具调用的 assistant 消息可省略content或使用null。 max_tokens与max_completion_tokens都参与输出预算,并转换为目标协议的输出上限。平台配置的上限同样生效。- Anthropic、Gemini 渠道支持可转换的函数工具定义、工具选择、调用与结果历史,以及流式工具调用。无法无损转换的组合在调用上游前返回参数错误,不会退化为普通文本。
- Gemini 严格工具 Schema(
strict: true)和强制串行工具调用(parallel_tool_calls: false)目前不支持;如有需要请选用支持这些约束的渠道。Gemini 返回的thought_signature是不透明的续接凭据;下一轮工具调用历史应原样传回,不要自行生成或修改。 - 对外
model为平台模型 ID,不暴露路由选择产生的供应商模型名。 - 平台需要最终用量完成结算,因此流式上游请求启用
include_usage,即使客户未显式要求。 - TokenPostie 会先校验 API Key、模型权限、余额和限额,再请求上游模型。
- 最终用户侧只收到 TokenPostie 标准错误结构。
- 系统内部诊断证据不会直接暴露给最终用户。
- 流已开始、但尚未完成时发生错误,HTTP 状态仍为 200;最后一个 SSE 数据帧包含 TokenPostie 标准
error.code和安全文案,随后连接结束。已经发送完整终态后,不再追加错误帧。 - 流式请求取得完整、合法的 final usage 和协议终态时进入确定性结算;随后发生断连不会撤销已完成调用的费用。缺少完整证据时进入复核,最终账单以 TokenPostie 账单结果为准。