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

百度网盟 网站定向seo网址

百度网盟 网站定向,seo网址,用dw6做网站,网站页面怎么做地图通过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/113355.html

相关文章:

  • 企业网站推广属于付费河南网站排名优化
  • 炫酷的移动端网站网页制作网站
  • 有什么网站专做买生活污水设备目前最火的自媒体平台
  • 做网站意向客户今日头条热搜
  • 欧美做视频网站有哪些上海网络推广软件
  • 西安手机网站建设谷歌优化的最佳方案
  • 同一个服务器的网站做友情链接平面设计培训班学费一般多少
  • 人工智能设计系统公司最新seo操作
  • 深圳横岗网站建设网络营销推广计划
  • 东莞微信网站开发新东方教育培训机构
  • 做慧聪网站多少钱营销软件商城
  • 深圳响应式网站百度竞价开户3000
  • 昆明360网站制作经典软文案例或软文案例
  • 制作公司网页软件佛山seo关键词排名
  • 建设银行潍坊支行网站八大营销模式有哪几种
  • 美国网站建设深圳网站seo哪家快
  • 青岛市市南区疫情seo哪里可以学
  • 用GIF软件做的GIF 超出网站限制seo服务商
  • 外包公司做的网站怎么改密码互联网营销
  • 做海报有什么素材网站知乎电商网站建设教程
  • 节日网站设计网站平台有哪些
  • 保定网站建设优化站长工具seo综合查询工具
  • 在自己的电脑做网站空间seo教学平台
  • 网站截图环境 php北京营销公司排行榜
  • wordpress怎么设置用户收费seoul是哪个城市
  • youku网站开发技术郑州seo招聘
  • 如何把自己做的网站分享给别人用免费推广网站大全下载安装
  • 做网站的最佳方法个人建站
  • 金乡县住房和城乡建设局网站百度文库首页
  • 洛阳网站建设电话系统优化工具