跳到正文
docai.cc

DOCAI · 概念 · L2

什么是流式输出

一句话定义

模型边生成边把 token 推给客户端,用户不必等整段写完才看到第一个字。

开发者更新 2026-11-13核验 2026-11-13 · docai 编辑部

它解决什么

模型是一个 token 一个 token 生成的。等整段写完再返回,用户要盯着空白屏幕几秒到几十秒。

流式输出把这几十秒摊开:第一个 token 一出来就发,后面持续追加。

体感延迟从「总生成时间」变成「首字延迟」。

怎么工作

  • 请求里打开 stream: true。
  • 服务端用 SSE(Server-Sent Events)持续推事件。
  • 客户端逐条读取,拼接增量文本。
  • 最后一条通常是结束事件,可能带用量统计。

断流与超时

流式最常见的坑不是「连不上」,而是「连上了但中途断」:

现象 常见原因 处理
几十秒没有任何数据 首字延迟高、排队 设首字节超时,别只设总超时
中途停止 网络抖动、代理缓冲 客户端重连;服务端不支持续传就要整段重发
一直不结束 输出没有上限 设 max_tokens 与总超时

注意:重发意味着输入 token 再算一次,成本会上去。

三个常见误解

  • 「流式让生成更快」:总时间基本不变,变的是「什么时候看到第一个字」。
  • 「流式可以随时中断并续上」:多数服务不支持从断点续传,断了就得重来。
  • 「流式不需要超时」:更需要。没有总超时,一个卡住的连接会一直占着资源。

延伸阅读

来源

定义与事实以以下来源为准;表述与取舍是本站整理的。
  1. [1]OpenAI · Streaming responses
  2. [2]Anthropic · API 文档

相邻概念