流式输出
流式输出指模型一边生成一边把内容分片推送给客户端,而不是等全部生成完再一次返回。它改善的是感知延迟,不改变总生成时间,也对连接稳定性提出更高要求。
流式输出指服务端在生成过程中持续把增量内容推送给客户端的传输方式,模型 API 通常基于 Server-Sent Events(SSE)实现。开启后你会看到文字逐段出现,而不是长时间空白后一次性显示。它需要一条能长时间保持的连接,因此对网络质量的要求高于普通网页请求。
它改善了什么,没改善什么
改善的是感知延迟:首个字出现得早,用户不用盯着空白等。
没改善的是总时长:完整回答生成完所需的时间基本不变,只是分批送达。
SSE 是怎么回事
SSE(Server-Sent Events)是一种服务端单向持续推送的 HTTP 传输方式。客户端发起一次请求后连接保持打开,服务端不断写入增量数据直到结束。它比 WebSocket 简单,因为只需要单向推送。
不同接口的事件结构不同:有的把增量放在固定字段里,有的使用带类型的语义化事件。解析端要能容忍未知事件类型与缺失字段,否则对方稍作调整就会崩。
常见误解
- 流式不等于更快。 见上面第一节。
- HTTP 200 之后仍可能出错。 流开始之后发生的错误可能混在事件流里,而不是通过状态码返回——很多客户端只写了状态码那条分支。
- 中途断开不一定不计费。 客户端主动取消时服务端是否已经生成、是否照常计费,取决于具体服务。
- 网络对流式更敏感。 一次请求要维持长时间连接,中间任何一跳的空闲超时或抖动都会表现成「回答说到一半断了」。
本站哪里会遇到
「测速很快但长回答老是断」这类现象的排查顺序见 AI 工具提示网络错误的原因与排查;验证第三方兼容接口的流式行为,见 OpenAI 兼容接口怎么判断。