需启用流式传输功能,具体包括:一、请求头设Accept: text/event-stream;二、JSON载荷中stream字段置true且与messages同级;三、解析event:data格式响应并提取delta.content;四、HTTP客户端需支持流读取;五、确认API端点实际支持stream。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您调用DeepSeek API时希望实时获取模型生成的文本片段,而非等待完整响应返回,则需要启用流式传输功能。该功能依赖于请求头中正确配置stream参数,并配合服务端支持的响应格式。以下是实现流式返回的具体操作步骤:
一、在Request Header中设置Accept为text/event-stream
流式响应通常采用Server-Sent Events(SSE)协议,要求客户端声明可接受的媒体类型。服务端据此判断是否启用逐块推送机制。
1、在HTTP请求头中添加Accept字段,其值设为text/event-stream。
2、确保请求头中不包含Content-Type: application/json以外的其他冲突类型声明。
3、若使用curl命令,需添加-H "Accept: text/event-stream"参数。
二、在JSON Payload中启用stream字段
DeepSeek API的请求体需显式开启流式开关,否则即使Header匹配,服务端仍按默认非流式逻辑处理。
1、构造POST请求的JSON body,确保顶层键stream存在且值为true。
2、确认stream字段未被嵌套在其他对象内,必须与messages、model等同级。
3、示例有效payload:{"model":"deepseek-chat","messages":[{"role":"user","content":"你好"}],"stream":true}。
三、处理响应中的event:data格式
启用流式后,响应体不再为单一JSON对象,而是以多段event: message和data: {...}组成的文本流,每段以双换行分隔。
1、接收响应时需逐行读取,识别以data:开头的行。
2、对每行data:后的内容进行JSON解析,提取choices[0].delta.content字段。
3、遇到data: [DONE]标识表示流结束,应终止解析循环。
四、使用特定HTTP客户端库启用流式支持
部分HTTP客户端默认缓冲完整响应,需显式禁用缓冲并启用流式读取能力。
1、在Python requests中,需传入stream=True参数并使用r.iter_lines()迭代响应。
2、在Node.js的fetch API中,需通过response.body.getReader()获取流读取器。
3、在cURL中,需添加--no-buffer选项并配合-N禁用HTTP/2流控制干扰。
五、验证API端点是否实际支持流式响应
并非所有DeepSeek API版本或部署环境均开放流式能力,需确认当前调用的endpoint明确声明支持stream参数。
1、查阅官方文档中对应接口的stream字段说明,确认其状态为required或optional而非not supported。
2、发送测试请求时,检查返回的HTTP状态码是否为200且响应头含Content-Type: text/event-stream。
3、若返回400 Bad Request且错误信息含stream not allowed,则当前endpoint不支持流式模式。











