微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出

引言:

DeepSeek,作为一款先进的自然语言处理模型,以其强大的文本理解和生成能力著称。它能够处理复杂的文本信息,进行深度推理,并快速给出准确的回应。DeepSeek模型支持流式处理,这意味着它可以边计算边输出,而不必等待整个生成过程结束后再输出结果,大大缩短了用户的等待时间。通过流式输出,DeepSeek模型可以在处理过程中实时地将结果发送给小程序,小程序前端则能够立即接收到这些数据,并在视图中动态展示出来。这样,用户就可以边等待边看到已经接收到的结果,大大提升了用户体验。

本文中的DeepSeek模型为火山方舟(字节跳动火山引擎)中的DeepSeek大模型,当前可以免费使用。

一、注册火山引擎账号,创建API Key和model(接入点ID)

请参考之前的文章:微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型

二、小程序调用API,并流式输出

复制代码
const requestTask=wx.request({
	method: 'POST',
	url: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
	header: {
		'Content-Type': 'application/json', 
		'Authorization': 'Bearer API Key'  //Authorization值为"Bearer API Key"
	},
	data: {
		"model": "xxx",	//model值为接入点ID(model)
		"messages": [{
			"role": "user",
			"content": "你是DeepSeek模型吗?",
		}],
        stream: true,   //是否以流的形式输出生成的内容
	},
    enableChunked: true    //开启transfer-encoding chunked
});

requestTask.onChunkReceived(res => {
    //在微信开发者工具和真机上接收到的对象格式是不同的,以下代码是针对不同格式进行解码处理
	let type=Object.prototype.toString.call(res.data);
	let text;
	if(type ==="[object Uint8Array]")
		text=decodeURIComponent(escape(String.fromCharCode(...res.data)))
	if(type ==="[object ArrayBuffer]"){
		let uint8Array = new Uint8Array(res.data);
		text=decodeURIComponent(escape(String.fromCharCode(...uint8Array)))
	}
    //将解码后的文本分割成字符串数组,数组中的每个元素就是即时接收到的流式文本
	let list = text.split('\n');
	for (var i = 0; i < list.length; i++) {
		if (list[i]) {
			if (list[i].trim().search(/^data.*\}$/) > -1) {    //过滤掉空行和其他不规则数据行
				let delta = JSON.parse(list[i].substring(6)).choices[0].delta;
                //如果开启了"深度思考",返回的对象中delta.reasoning_content为深度思考内容,
                //delta.content为主体应答内容
				let content = delta.reasoning_content ? delta.reasoning_content : delta.content;
				console.log(content);
			}
			if (list[i] == 'data: [DONE]') {
				requestTask.abort();
			}
		}
	}
});
相关推荐
unique_perfect9 小时前
vue2与springboot实现deepseek打印机聊天
spring boot·websocket·ai·vue2·deepseek
嗷嗷哦润橘_14 小时前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
weixin_4166600715 小时前
豆包与DeepSeek底层大模型的深度解析:技术架构、设计理念与生态分野
人工智能·ai·架构·deepseek
云起SAAS19 小时前
倒班日历助手抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·倒班日历助手
sheji341620 小时前
【开题答辩全过程】以 基于微信小程序的失物认领系统为例,包含答辩的问题和答案
微信小程序·小程序
qq_256847888621 小时前
08cms房产多城市版最新v8.7含小程序及装修网的安装及配置方法整理出来希望能帮到大家
小程序·08cms房产系统源码·08cms装饰网门户系统·08cms 房产门户系统源码
风月歌21 小时前
python项目之摄影竞赛小程序
python·mysql·小程序·毕业设计·源码
云云只是个程序马喽21 小时前
2026年短剧系统开发搭建全流程教程(小程序+APP自营/红果模式/广告联盟/海外多语言)
小程序
计算机毕设指导621 小时前
基于微信小程序的网络安全知识科普平台系统【源码文末联系】
java·spring boot·安全·web安全·微信小程序·小程序·tomcat
AI大模型学徒1 天前
大模型应用开发(十六)_知识库2
chatgpt·大模型·知识库·deepseek