Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • AI概述
  • AI基础

  • 大模型基础

  • Prompt工程

  • RAG检索增强生成

  • Agent智能体

  • AI应用开发

  • AI工程化

    • AI工程化概述
    • 模型网关设计
    • SSE与流式响应
      • 1. 为什么需要流式响应
      • 2. SSE 基本模型
      • 3. 事件设计
      • 4. 后端注意点
      • 5. 前端注意点
      • 6. 常见问题
      • 7. Tips 快问快答
    • 上下文压缩与摘要
    • AI成本与缓存策略
    • 限流熔断与降级
    • 结构化输出解析
    • AI评估与回归测试
    • 日志指标与链路追踪
  • AI安全与治理

  • AI面试与设计题

目录

SSE与流式响应

流式响应是大模型应用常见交互方式。模型逐步生成 Token,服务端边接收边推送给前端,用户可以更早看到结果。

# 1. 为什么需要流式响应

大模型完整生成可能需要数秒甚至更久。如果等全部生成后再返回,用户会感觉卡顿。

非流式:请求 -> 等待完整生成 -> 一次性返回
流式:请求 -> 持续生成 -> 持续返回

# 2. SSE 基本模型

SSE(Server-Sent Events)适合服务端向浏览器单向推送事件。

浏览器 EventSource / fetch stream
  -> 服务端 SSE 接口
  -> 模型流式输出
  -> data: token
  -> data: token
  -> event: done

SSE 比 WebSocket 简单,适合聊天输出这类单向流。

# 3. 事件设计

事件 作用
start 开始生成
delta 增量文本
tool_call 工具调用状态
citation 引用信息
error 错误
done 生成结束

不要只传纯文本,结构化事件更容易扩展。

# 4. 后端注意点

  1. 设置合理超时。
  2. 客户端断开时停止模型调用。
  3. 异常时发送 error 和 done。
  4. 控制并发长连接数量。
  5. 记录完整输出用于审计和历史展示。
  6. 对输出内容做安全过滤。

# 5. 前端注意点

功能 说明
打字机效果 展示增量文本
停止生成 用户中断请求
重试 失败后重新生成
状态提示 显示检索、思考、工具调用等阶段
自动滚动 保持阅读位置
部分结果保存 中断时保留已生成内容

# 6. 常见问题

问题 原因 处理
连接中断 网络或代理超时 心跳、重连、合理超时
输出乱码 编码处理错误 使用 UTF-8
服务线程耗尽 长连接占用资源 异步处理、限流
停止无效 后端未取消模型请求 传递取消信号

# 7. Tips 快问快答

Q:SSE 和 WebSocket 怎么选?

A:只需要服务端向客户端推送生成内容时,SSE 更简单;需要双向实时通信时用 WebSocket。

Q:流式输出能降低模型总耗时吗?

A:不一定降低总耗时,但能显著缩短首屏等待时间。

Q:流式内容要不要落库?

A:建议生成完成后保存完整消息,同时记录中断和错误状态。

上次更新: 2026/06/25, 17:53:09
模型网关设计
上下文压缩与摘要

← 模型网关设计 上下文压缩与摘要→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式