开发入门已解决
流式输出(Streaming)是怎么实现的?
为什么 AI 回答是一个字一个字蹦出来的,以及工程上的注意点。
问题正文
用户体验的秘密
大模型生成一段回答可能需要几十秒,流式输出让用户从第一秒就看到内容逐字出现,体感等待时间降低一个数量级。
技术原理
服务端使用 SSE(Server-Sent Events)或分块传输,每生成几个 Token 就推送一次。前端逐段渲染,配合打字机效果。
工程注意点
连接超时要设长;断线后支持重连或降级为非流式;统计用量需要在流结束后汇总。
为什么 AI 回答是一个字一个字蹦出来的,以及工程上的注意点。
问题正文
大模型生成一段回答可能需要几十秒,流式输出让用户从第一秒就看到内容逐字出现,体感等待时间降低一个数量级。
服务端使用 SSE(Server-Sent Events)或分块传输,每生成几个 Token 就推送一次。前端逐段渲染,配合打字机效果。
连接超时要设长;断线后支持重连或降级为非流式;统计用量需要在流结束后汇总。
ANSWERS
回答内容
流式输出是服务端每生成一小段就推送给前端的技术,把等 30 秒看全文变成实时看它打字。
感知性能比真实性能更重要。流式是 AI 应用体验的标配,不做流式的产品用户会明显觉得卡。
各家 API 的流式格式略有差异,用网关层统一;前端渲染注意 Markdown 的分块解析问题。