当前位置: 首页 > wzjs >正文

百度网盟 网站定向搜索引擎优化概述

百度网盟 网站定向,搜索引擎优化概述,taobaocom淘宝网页版,html笔记完整版通过uniapp开发与大模型对话的微信小程序,并且后端需要通过SSE向小程序返回响应数据。 微信小程序端需要展示响应数据,在这个过程中,数据解析这里踩了不少坑。 uniapp端开发微信小程序时,SSE连接处理的代码如下: con…

通过uniapp开发与大模型对话的微信小程序,并且后端需要通过SSE向小程序返回响应数据。

微信小程序端需要展示响应数据,在这个过程中,数据解析这里踩了不少坑。

uniapp端开发微信小程序时,SSE连接处理的代码如下:

  const initSSE2 = () => {console.log(uni.getStorageSync('token'))requestTask = uni.request({url: 'http://127.0.0.1:8889/connect',timeout: 30000,responseType: 'text',method: 'POST',enableChunked: true, //配置这里header: {Accept: 'text/event-stream','Authorization': uni.getStorageSync('token') //自定义请求头信息},responseType: 'arraybuffer',data: {},success: response => {console.log("success:" + JSON.stringify(response))},fail: error => {console.log("error:" + JSON.stringify(error))}})requestTask.onHeadersReceived((res) => {console.log("header:" + JSON.stringify(res.header));});// 这里监听消息requestTask.onChunkReceived((res) => {const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += text;})}

后端返回的数据,在小程序端展示后结果如下: 

从展示效果看,返回的数据都以“data:”开头,而且数据都发生了换行。经过查询资料,了解到SSE返回的数据以"data:"开头,"\n\n"进行结尾,比如上面返回的数据类似这样的格式:

data:你好\n\n

SSE客户端端打印返回的数据:

        requestTask.onChunkReceived((res) => {console.log('响应数据:', res.data)const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += text;})

 打印内容如下:

其中,"100 97 116 97 58"表示"data:","10 10"表示"\n\n",而且根据响应数据,我们发现SSE客户端是一次处理一批后端响应的数据。 

于是修改客户端解析数据的逻辑为:

requestTask.onChunkReceived((res) => {console.log('响应数据:', res.data)const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));console.log('处理前:', text);let info = text.replace(/data:|\n\n/g, '')console.log('处理后:', info)// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += info;})

其中通过正则表达式替换所有的"data:"和"\n\n"。替换后,展示效果如下:

但是根据后端打印的信息,在"回答:"后面是有换行的,后端输出内容:

这是由于后端返回大模型响应的数据时,需要换行的数据中间也使用了"\n\n",这就和SSE的数据格式产生了冲突。于是我们修改后端返回数据的代码,将"\n\n"替换为"\n":

前后端处理完成后,最终格式如下:

 

http://www.dtcms.com/wzjs/472022.html

相关文章:

  • 政府网站建设的功能抖音广告怎么投放
  • 为什么我的网站在百度搜不到志鸿优化网官网
  • app制作免费网站首页关键词如何优化
  • 什么网站可以做excel表格企业网站建设论文
  • 网站首页可以做竖版吗如何做友情链接
  • 静态网站后台焦作seo推广
  • wordpress分类页首页调用分类描述刷关键词排名seo
  • 河北高端建设网站网络营销是做什么的
  • 青海高端网站建设价格seo的基本步骤是什么
  • 湖南网站推广公司seo职位招聘
  • 苏州专业做网站的公司有哪些h5制作网站
  • 电子商务网站建设实训展示佛山网站建设排名
  • 上海网站建设设计公司排名合肥网络推广网络运营
  • asp做的网站亚丝娜娜本子全彩北京seo加盟
  • web网站开发求职信seo推广方案
  • 网站开发优惠活动方案seo流量软件
  • 西宁好的网站建设公司磁力蜘蛛搜索引擎
  • 徐州酷优网络科技有限公司seo如何建立优化网站
  • 企业网站上的二维码怎么获得友情链接地址
  • 网站程序上传完关键词排名零芯互联排名
  • 玉树州网站建设公司北京网站设计公司
  • 做网站包含什么职位soso搜索引擎
  • 国内电商网站跳出率是多少免费的推广软件下载
  • 秦皇岛网站关键词推广站长资讯
  • 永久免费网站服务器一般开车用什么导航最好
  • 优质手机网站建设哪家好精准网络推广
  • 免费培训学校网站源码逆冬黑帽seo培训
  • 多用户商城系统哪家好鸡西网站seo
  • 怎么做一个网站线上培训机构
  • 网站建设的关键问题小红书代运营