当前位置: 首页 > news >正文

大模型SSE流式输出技术

文章目录

    • 背景:为什么需要流式输出
    • SSE 流式输出
      • 很多厂商还是小 chunk

背景:为什么需要流式输出

大模型的响应通常很长,比如几百甚至几千个 token,如果等模型一次性生成完才返回:

  • 延迟高:用户要等很久才能看到第一句话。
  • 体验差:尤其是在聊天、代码生成等场景,用户期望“边想边说”。
  • 内存压力大:服务器要先缓冲全部结果再返回。

因此很多厂商(OpenAI、DeepSeek、百度、阿里等)会用 流式输出:

  • 模型边生成边发送给客户端。
  • 用户前端边接收边渲染。

SSE 流式输出

SSE (Server-Sent Events) 是 HTTP 长连接 + 文本事件流 协议,由服务器持续推送数据给客户端,浏览器原生支持。

  • 数据格式:data: 开头,\n\n 结束
    SSE的核心就是在原本TCP的字节流基础上,通过定义特殊的分隔格式(比如每条事件以空行\n\n结束),来划分消息边界,方便浏览器端按事件逐条处理。
  • 单向:服务器 → 客户端
  • 基于 HTTP/1.1:不需要 WebSocket,也不需要额外握手
  • 自动重连:浏览器的 EventSource 会自动重连

报文示例:

HTTP/1.1 200 OK
Content-Type: text/event-stream
Cache-Control: no-cache
Connection: keep-alivedata: {"choices":[{"delta":{"content":"你"}}]}data: {"choices":[{"delta":{"content":"好"}}]}data: [DONE]

这里 data: 后面就是 JSON,每次推送一小段(chunk),最后 “[DONE]” 表示结束。

如果 chunk 粒度过小,确实会浪费资源,主要浪费在 网络 IO 开销 上。

很多厂商还是小 chunk

  • 体验优先:AI 聊天给人的“即时感”很重要,宁可多 IO 也要首字快。
  • 心理暗示:用户看到文字逐渐出现,会觉得模型在思考(即使真实情况是批量生成的)。
  • 大部分场景数据量小:和视频、文件传输比,这种文字流的带宽占用很低,浪费的部分能接受。
http://www.xdnf.cn/news/1266427.html

相关文章:

  • 【Python 高频 API 速学 ③】
  • 信息安全及防火墙总结
  • 【排序算法】②希尔排序
  • 束搜索(Beam Search):原理、演进与挑战
  • AI鉴伪技术:守护数字时代的真实性防线
  • PromptPilot打造高效AI提示词
  • llama-factory代码详解(一)--model_args.py
  • C++实现MATLAB矩阵计算程序
  • 【传奇开心果系列】Flet框架实现的功能丰富设计现代化的管理仪表盘组件自定义模板
  • 掌握长尾关键词SEO优化技巧
  • Redis 持久化策略深度剖析:从原理到实战,守护数据不丢失
  • axios 发请求
  • 制作浏览器CEFSharp133+X86+win7 之 javascript交互(二)
  • C++-AVL树
  • 词向量基础:从独热编码到分布式表示的演进
  • 微软将于 10 月停止混合 Exchange 中的共享 EWS 访问
  • Codeforces 思维训练(二)
  • [激光原理与应用-206]:光学器件 - SESAM - 基本结构与工作原理
  • 爬虫攻防战:反爬与反反爬全解析
  • 跨境电商系统开发:ZKmall开源商城的技术选型与代码规范实践
  • sqli-labs通关笔记-第40关 GET字符型堆叠注入(单引号括号闭合 手工注入+脚本注入两种方法)
  • 多级缓存详解
  • 【能碳建设1】用AI+开源打造物联网+能碳管理+交易SaaS系统的最短路径实施指南
  • 软件定义车辆加速推进汽车电子技术
  • 快速使用selenium+java案例
  • [Linux]学习笔记系列 -- [arm][lds]
  • 2022 RoboCom 世界机器人开发者大赛-本科组(国赛)
  • 前端工程化:从构建工具到性能监控的全流程实践
  • 2G内存的服务器用宝塔安装php的fileinfo拓展时总是卡死无法安装成功的解决办法
  • Ubuntu下搭建LVGL模拟器