要实现实时流式输出,后端需在请求体中设置"stream": true并正确配置authorization和url,前端微信小程序须用wx.request开启enablechunked、监听onchunkreceived事件,再正则提取sse的data字段、解析json取delta.content并逐次setdata更新视图。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在前端页面实时看到DeepSeek模型边思考边生成的每一句话,而不是等几十秒后一次性弹出整段回复,就必须启用流式输出功能。这需要后端正确构造请求、前端正确解析分块响应,缺一不可。
后端发起带stream参数的POST请求
向火山引擎DeepSeek API地址发送POST请求时,必须在JSON body中显式设置"stream": true。这是触发流式响应的开关,漏掉这行,后端就只会返回完整结果包,前端永远收不到中间chunk。
请求头中Authorization字段值必须为Bearer <strong>【你的API Key】</strong>,注意Bearer和Key之间有一个空格,少一个空格就会返回401错误。
请求URL需使用火山引擎官方提供的接入点地址,例如:https://ark.cn-beijing.volces.com/api/v3/chat/completions。不同区域(如cn-shanghai)的域名前缀可能不同,务必从控制台“推理接入点”详情页复制准确地址。
前端监听onChunkReceived事件(微信小程序专用)
微信小程序不支持标准Fetch API的ReadableStream,必须用wx.request并开启enableChunked: true选项,否则根本收不到分块数据。
调用requestTask.onChunkReceived注册回调函数,该函数每次收到一个chunk时都会被触发——注意不是success回调,那是整个请求结束才执行的。
接收到的res.data类型在开发者工具和真机上不一致:前者是Uint8Array,后者是ArrayBuffer,必须分别处理,否则解码会失败乱码。
解析SSE格式响应并拼接文本
第一步:用正则提取data字段内容。火山引擎返回的是标准SSE格式,每块以data:开头,后面跟着JSON字符串。直接用res.data.toString().match(/data: (.+)/)拿到原始JSON串。
第二步:JSON.parse()解析出对象,从choices[0].delta.content里取当前chunk的文本。如果content为空字符串,说明是思维链阶段(reasoning_content字段),可选择跳过或单独展示。
第三步:将每次拿到的content追加到页面data中,用this.setData({ output: this.data.output + chunkText })触发视图更新。这一步不能用字符串拼接后一次性setData,否则会丢失中间过程。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










