文档中心
  1. 接口调用说明
  • 开始使用
    • 产品简介
    • 快速入门
    • 在 AI 编程工具中使用 Nexhina
  • API 接口
    • 接口调用说明
      • 快速开始
      • 获取 API Key
      • 鉴权方式
      • 请求地址
      • 错误码说明
      • 流式输出说明
    • Chat
      • 对话补全
    • Models
      • 列出可用模型
    • Responses
      • Responses API
    • Embeddings
      • 文本向量化
    • Images
      • 生成图像
    • Audio
      • 文本转语音(TTS)
      • 语音转文本(STT)
      • 语音翻译
    • Video
      • 生成视频
    • Moderation
      • 内容审核
    • Rerank
      • 重排序
  • 平台相关
    • 常见问题
    • 平台协议
    • 隐私政策
  1. 接口调用说明

流式输出说明

流式输出说明#

流式输出用于 Chat 和 Responses 接口,逐块返回内容,用户体验更好(不用等全部生成完才显示)。

开启方式#

请求体中设置 stream: true:
{
  "model": "deepseek-v3",
  "messages": [{"role": "user", "content": "写一首诗"}],
  "stream": true
}

响应格式(SSE)#

流式响应使用 Server-Sent Events (SSE) 协议,Content-Type 为 text/event-stream。
每个数据块格式:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1713833628,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"你"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1713833628,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1713833628,"model":"deepseek-v3","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]
关键点:
每条数据以 data: 开头,后面是 JSON
最后一条是 data: [DONE],表示流结束
每个chunk 的 delta.content 是本次新增的文本片段,拼起来就是完整回复
finish_reason 为 stop 表示正常结束

cURL 流式调用#

Python SDK 流式调用#

Node.js SDK 流式调用#

流式输出中的 Usage 信息#

默认流式响应不包含 usage(Token 用量)。如果需要,设置 stream_options:
{
  "model": "deepseek-v3",
  "messages": [{"role": "user", "content": "你好"}],
  "stream": true,
  "stream_options": {"include_usage": true}
}
设置后,最后一个 chunk 会包含完整的 usage 字段:
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion.chunk",
  "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}],
  "usage": {"prompt_tokens": 10, "completion_tokens": 20, "total_tokens": 30}
}

Responses 接口的流式输出#

Responses API 同样支持 stream: true,格式与 Chat 类似,也是 SSE 协议,最后以 data: [DONE] 结束。

自行解析 SSE 的注意事项#

如果你不用 SDK,自己解析 SSE 流,注意以下几点:
1.
按行读取:每条数据占一行,以 data: 开头
2.
跳过空行:SSE 协议中空行是事件分隔符,不影响数据
3.
检测结束:遇到 data: [DONE] 就停止读取
4.
处理断连:网络中断时可以重试,但无法从断点续传,需要重新发起请求
5.
超时设置:建议 HTTP 客户端超时设为 60 秒以上,长文本生成可能耗时较久

流式 vs 非流式对比#

维度非流式 (stream: false)流式 (stream: true)
响应方式一次性返回完整结果逐块返回文本片段
用户感知等待时间较长逐字出现,体感更快
响应格式chat.completionchat.completion.chunk
Usage默认包含需设置 stream_options
适用场景后端批处理、API 串联前端对话、实时交互
解析难度简单,直接读 JSON需要 SSE 解析
上一页
错误码说明
下一页
对话补全
Built with