跳到文档内容
瑞云智能
开发文档
进阶指南SSE 流式

SSE 流式

按所选协议读取事件,并妥善处理取消和部分交付。

消费流式事件#

支持流式的生成请求设为 stream: true,Gemini 使用 streamGenerateContent。兼容 Chat Completions 返回 SSE,文本通常来自 choices[].delta.content;原生 Anthropic、Gemini 与 Responses 保留各自事件语义。

SSE
Chat Completions 事件示意
data: {"choices":[{"delta":{"content":"你好"}}]}

data: [DONE]
  • 按空行分割事件,而不是把每次网络 read 当作完整 JSON。
  • 使用增量 UTF-8 解码;多字节字符和事件可跨网络分片。
  • 解析协议自己的完成事件,不能要求每种原生流都发送 [DONE]。
  • 下游取消会传递给上游,服务端执行资源释放和已交付用量结算。

流中断与重试#

流已开始后不能再发送第二份 JSON HTTP 错误。失败可能表现为协议错误事件或连接终止;客户端应记录已收到的内容、异常和 Request ID。网关不会自动重放已部分交付的流,也不保证每种失败都产生 event: error。

流式部分内容即使随后断开,仍可能计入用量。由客户端决定是否发起新的生成请求,并提醒用户可能重复输出与计费。

部署注意#

反向代理应允许长连接、及时刷新事件并支持 WebSocket upgrade。上游响应缓冲字节和 SSE 单事件大小由 UPSTREAM_MAX_RESPONSE_BYTES、UPSTREAM_SSE_MAX_EVENT_CHARS 限制。

搜索文档

推荐阅读

推荐阅读