用 Server-Sent Events 实现 AI 流式响应:2026 开发者完全指南
通过实际示例和生产模式掌握基于 Server-Sent Events 的 AI 流式响应
用 Server-Sent Events 实现 AI 流式响应:2026 开发者完全指南
通过实际示例和生产模式掌握基于 Server-Sent Events 的 AI 流式响应
用 SSE 实现 AI 流式响应(2026):为什么用 SSE 而非 WebSocket、FastAPI 服务端 + 浏览器 EventSource 客户端真实代码、关闭代理缓冲/逐 token flush/断连取消等生产要点,以及 Next.js 用 Vercel AI SDK 的更简路径。
用 Server-Sent Events 实现 AI 流式响应(2026)
流式传输让 AI 应用感觉很快:无需等待完整答案,而是边生成边展示 token。Server-Sent Events (SSE) 是实现这一目标的最简单传输方式——通过普通 HTTP 从服务器到浏览器的单向流,非常适合 LLM token 流。本指南展示了从模型到浏览器的完整路径。
为什么选择 SSE(而不是 WebSocket)
LLM 流式传输是单向的(服务器 → 客户端),因此不需要 WebSocket 的双向复杂性。SSE 只是一个带有 Content-Type: text/event-stream 的 HTTP 响应,保持连接打开并发送 data: 行。浏览器通过 EventSource API 自动重连。
服务端(FastAPI)
python
pip install fastapi openai sse-starlette uvicorn
from fastapi import FastAPI
from sse_starlette.sse import EventSourceResponse
from openai import OpenAIapp = FastAPI()
client = OpenAI()
@app.get("/chat")
async def chat(q: str):
async def gen():
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": q}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
yield {"data": delta}
yield {"event": "done", "data": "[DONE]"}
return EventSourceResponse(gen())
客户端(浏览器)
js
const es = new EventSource('/chat?q=' + encodeURIComponent(input));
es.onmessage = (e) => { output.textContent += e.data; };
es.addEventListener('done', () => es.close());
这就是整个循环:每个 token 作为消息事件到达,并追加到 UI 中。
生产注意事项
X-Accel-Buffering: no),否则数据块会被保留,导致流卡顿。streamText + useChat 让你无需手写 SSE 即可实现流式传输。参见 Vercel AI SDK vs LangChain.js。常见问题
SSE 还是 WebSocket? SSE 用于单向 token 流——更简单且自动重连。仅当需要双向实时通信时才使用 WebSocket。 为什么我的流一次性全部到达? 存在缓冲代理。禁用缓冲并逐块 flush。 如何在断连时停止计费? 检测客户端断开并取消上游 completion。
总结
SSE 是实现 LLM 流式传输阻力最小的路径:打开一个 text/event-stream,在 token 到达时 yield,在浏览器中使用 EventSource 追加它们。禁用缓冲,逐 token flush,并在断连时取消。在 Next.js 上,让 Vercel AI SDK 来处理。
*最后更新:2026 年 6 月。请对照 OpenAI 和框架文档验证流式 API。*
相关工具
相关教程
使用用户级RAG、Edge Functions和流式传输构建全栈AI应用
使用 TypeScript 和 Vercel AI SDK 在 Next.js 中构建流式 AI 聊天界面、结构化输出和智能体工作流
使用现代 Python AI 栈构建生产级 AI 应用
FastAPI 与 Anthropic 完整集成指南
从零构建结合向量与关键词搜索、实现最大召回率的RAG系统
通过实际示例和生产模式掌握 OpenAI 函数调用