跳到内容
api-turbo支持模型模型与价格指南与洞察开发文档English登录
接入教程

流式输出怎么接:从 SSE 到中断恢复

让内容逐步显示,同时正确处理空片段、结束信号与中途错误。

api-turbo 内容团队更新于 3 分钟阅读
先看结论

流式输出让应用在生成完成前接收数据。它通常改善等待体验,但不保证模型总生成时间更短。应按协议解析完整事件,并区分正常结束与连接意外断开。

先验证普通请求,再开启流式

先用同一模型完成普通请求,排除权限、额度与 model 参数问题。随后设置 stream: true。查看响应的 Content-Type 与实际数据,不要把所有网络流都当成 SSE。

网络分片不等于完整事件

SSE 使用文本事件流,事件之间用空行分隔。一次网络读取可能只有半条事件,也可能包含多条事件。使用 SDK 的流接口或可靠的事件解析器,保留未完成的缓冲区。

Chat Completions 兼容流的片段可能只携带角色、文本增量、工具参数或结束原因。只有存在文本增量时才追加到文字区域;工具参数应按结构单独处理。

检查服务端与反向代理

如果输出总是最后一次性出现,检查自己的服务端是否先读完整个响应,以及代理是否缓冲。api-turbo 的网关层已配置流式转发;客户端与外层反代仍需要单独确认。

不要在页面关闭或用户点停止后继续无条件消费流。将客户端取消信号传递给自己的后端,释放连接;取消后的上游执行和计费结果仍以服务记录为准。

中断后明确提示,不自动重复整次生成

收到部分文字后断线,应保留已有内容并提示“响应中断”。自动重试整个请求可能生成不同内容,也可能造成重复执行。涉及工具调用时尤其要先核对副作用是否已发生。

  1. 测试正常结束、空文本片段和用户取消。
  2. 测试连接建立前错误与流开始后的错误。
  3. 分别记录首个有效内容时间与总耗时。

参考资料

内容原则:说明前提,引用原始资料,区分平台能力与实际开通状态。教程不构成性能或 AI 推荐承诺。