平台传输模式升级通知

致所有使用 /v1/chat/completions 的开发者:
为优化上游账户健康度与长文本响应稳定性,平台将于近期对中继层进行传输模式升级。您无需修改任何代码,但建议阅读以下技术细节以便排查。

一、变更内容

表格

层级 升级前 升级后
客户端 → 平台 非流 / 流式 均可 保持原样,无需变更
平台 → 号池 跟随客户端模式 统一强制流式(SSE)
平台 → 客户端 透传上游响应 中继层聚合后返回标准 JSON

二、技术原理

plain

┌─────────────┐      非流请求        ┌──────────────┐
│   您的应用   │ ──────────────────→ │  平台接入层   │
│  (无需改动)  │                     │  (兼容原格式) │
└─────────────┘                     └──────┬───────┘
                                           │
                                           ▼
                              ┌──────────────────────┐
                              │   统一中继层代理      │
                              │  1. 自动注入 stream=true
                              │  2. 向上游发起 SSE 请求 │
                              │  3. 实时捕获标准 SSE   │
                              │  4. 逐 chunk 聚合内容  │
                              │  5. 包装为标准 JSON   │
                              └──────────┬───────────┘
                                           │
                                           ▼
                              ┌──────────────────────┐
                              │   号池上游供应商       │
                              │   (强制流式传输)       │
                              └──────────────────────┘
核心逻辑:
  • 您发来的非流请求,平台内部自动转为流式向上游索取
  • 中继层完整接收所有 SSE 数据行(data: {...}
  • choices[].delta.content 逐段拼接为完整文本
  • 最终包装为 choices[].message.content 的标准 OpenAI 非流 JSON 返回

三、兼容性说明

完全兼容,无需改动
  • 请求格式、鉴权方式、URL 路径不变
  • 返回体结构与官方 OpenAI 非流响应一致
  • 状态码、错误格式保持统一
已知行为差异
  • 首包时间(TTFB):因需等待完整聚合,首字节返回会比纯流式略晚,但与大文本非流等待时间持平
  • 超时阈值:平台侧向上游读取 SSE 的单次超时设置为 300s,聚合完成后一次性返回,避免网关层截断
  • 异常中断:若上游 SSE 中途断开,中继层会返回已聚合内容 + finish_reason: "stop",并在日志中标记截断

四、建议与排查

  1. 如果您当前已是流式接入:不受影响,平台会透传 SSE,不做聚合。
  2. 如果您当前是非流接入:无需修改,但建议检查您的 HTTP Client 是否支持接收 Transfer-Encoding: chunked 的响应头(部分旧版库可能需要升级)。
  3. 调试技巧:如需验证聚合逻辑,可对比 usage 字段中的 completion_tokens 与返回文本字数是否匹配。

五、生效时间

  • 灰度阶段:即日起对新请求逐步生效
  • 全量切换:预计 48 小时内完成
  • 如有异常,请携带 X-Request-ID 响应头联系支持

LingsuAI 平台运维团队
阅读剩余
THE END