SSE 是Server-Sent Events(用于实现大模型的流式回复)。
以下是详细解释:
Server-Sent Events (服务器发送事件) —— 在 Web 开发和 AI 应用(如聊天机器人)中,SSE 是一种允许服务器向浏览器客户端单向推送数据的技术。
核心功能:实现“流式传输”(Streaming)。
工作原理:
客户端发起一个普通的 HTTP 请求。
服务器保持连接打开,并持续不断地向客户端发送数据片段。
客户端接收并实时渲染这些数据。
在 LLM/AI 中的应用:
当你使用 ChatGPT、Kimi 或本地部署的大模型时,文字是一个字一个字蹦出来的,而不是等生成完全部显示。这就是通过 SSE 实现的。
优势:相比传统的“请求-等待-响应”模式,SSE 让用户感觉响应更快,体验更流畅,且不需要像 WebSocket 那样建立复杂的双向连接。
技术特点:
单向通信:只能服务器 -> 客户端(如果需要客户端发数据,需另开请求)。
基于 HTTP:使用标准的 HTTP 协议,防火墙友好。
自动重连:如果连接断开,浏览器会自动尝试重连。
格式简单:数据格式通常为 data: {"content": "你好"}nn。
代码示例 (Python/FastAPI):
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
import json
app = FastAPI()
async def generate_text():
# 模拟大模型逐字生成
words = ["我", "是", "一", "个", "A", "I", "助", "手"]
for word in words:
# SSE 格式:data: nn
yield f"data: {json.dumps({'token': word})}nn"
@app.get("/stream")
def stream_response():
return StreamingResponse(generate_text(), media_type="text/event-stream")
2178

被折叠的 条评论
为什么被折叠?



