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

server/2025/3/17 4:33:04/
引言:

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();}}}
});


http://www.ppmy.cn/server/175609.html

相关文章

AI重塑视觉艺术:DeepSeek与蓝耘通义万相2.1的图生视频奇迹

云边有个稻草人-CSDN博客 近年来&#xff0c;深度学习、计算机视觉和生成模型在多个领域取得了突破性进展。其中&#xff0c;DeepSeek与蓝耘通义万相2.1图生视频的结合为图像生成与视频生成技术提供了新的发展方向。DeepSeek作为一个图像和视频生成的工具&#xff0c;能够利用深…

嵌入式八股C语言---面向对象篇

面向对象与面向过程 面向过程 就是把整个业务逻辑分成多个步骤,每步或每一个功能都可以使用一个函数来实现面向对象 对象是类的实例化,此时一个类就内部有属性和相应的方法 封装 在C语言里实现封装就是实现一个结构体,里面包括的成员变量和函数指针,然后在构造函数中,为结构体…

人工智能之数学基础:如何将线性变换转换为矩阵?

本文重点 在机器学习中,常用的理论就是线性变换,线性变化一定有对应的矩阵表示,非线性变换是不具备这个性质的,那么现在如果有一个线性变换T那么如何知道它对应的矩阵呢? 线性变换的本质 我们知道线性变换相当于一个函数,而矩阵也是一个函数,所以线性变换一定存在一个…

selenium等待

通常代码执行的速度⽐页⾯渲染的速度要快,如果避免因为渲染过慢出现的⾃动化误报的问题呢?可以使⽤selenium中提供的三种等待⽅法: 1. 隐式等待(Implicit Wait) 隐式等待适用于全局,它告诉 WebDriver 在查找元素时等待一定的时间,直到元素出现。 如果超时,WebDriver 不…

[人工智能]实现神经网络实例

import numpy as np&#xff1a;导入 NumPy 库&#xff0c;用于数值计算。导入 PyTorch 相关库&#xff1a; import torch&#xff1a;导入 PyTorch 库&#xff0c;深度学习框架核心库。from torchvision.datasets import mnist&#xff1a;从torchvision.datasets中导入 MNIST…

【打卡d5】快速排序 归并排序

快速排序算法模板 —— 模板题 AcWing 785. 快速排序 void quick_sort(int q[], int l, int r) { if (l > r) return; int i l - 1, j r 1, x q[(l r )/2]; while (i < j) { do i ; while (q[i] < x); do j -- ; while (q[j] > …

系统架构设计师—论文解析—论文写作技巧

文章目录 历年考题写作结构摘要正文结尾 写作要求理论知识熟悉擅长精写调整 写作步骤注意事项 历年考题 写作结构 摘要 项目简介&#xff1a;背景、功能介绍。本人工作角色、工作内容采用了&#xff08;技术、方法……&#xff09;&#xff0c;解决了……效果、问题、展望 正…

反射(第三篇)、代理模式、静态代理和动态代理、InvocationHandler实际应用

DAY11.3 Java核心基础 反射&#xff08;第三篇&#xff09; 前两篇我们学习了反射的概念和基本操作 实际开发中&#xff0c;反射应用于那里&#xff1f; 动态代理 java中的动态代理就是一个重要的作用 代理模式 代理模式是java中常用的设计模式 指的是在处理一个业务逻辑…