小程序实现chatGpt功能

效果如下:
在这里插入图片描述

SSE问题太多,所以还是配合websorket实现

1.连接sorket

const handleConnectWebScoket = (session_id:Number) => {
	uni.showLoading({
		title: '加载中'
	})
	uni.connectSocket({
	  url: '' //后端url
	  , success(data) {
	    console.log("websocket连接成功");
	  },
	})
	uni.onSocketOpen(function (res_open) {
		console.log("websocket - onSocketOpen");
		sendWSMessage(session_id)
		receiveSocketMessage()
	})
	// 监听webSocket错误
	uni.onSocketError(function (res) {
		console.log("websocket监控服务暂时不可用", res);
	})
}

2.发布sorket的message

const sendWSMessage = (session_id:Number) => {
	let form = { // 后端定义的传参
	  params: {
	  }
	}
	console.log("websocket - sendSocketMessage");
	uni.sendSocketMessage({
	  data: JSON.stringify(form),
	  success: res => {
	  }
	});
}

3.获取sorket的内容

const receiveSocketMessage = () => {
	console.log("websocket - onSocketMessage");
	uni.onSocketMessage(function(res) {
		uni.hideLoading()
		if (res.data === 'PONG') {
			return
		}
		if (res.data && isJSON(res.data)) {
		  const data = JSON.parse(res.data)
		  if (data.code && data.code === 4002) {
		    if (interval.value){
		      clearInterval(interval.value)
		    }
			closeWS()
		    return
		  }
		  if (data.content) {
		    if (isJSON(data.content)) {
		      const content = JSON.parse(data.content)
		      if (content.choices[0].delta.content) {
		        list.value[index.value] += content.choices[0].delta.content
		        chatScroll()
		      }
		    }
		    if (data.content === '\\n\\n') {
		      list.value[index.value] += data.content
		    }
		  }
		}
	})
}

关闭sorket的方法

const closeWS = () => {
	uni.closeSocket({
		success(close_res) {
			console.log('close_res',close_res);
		},fail(e) {
			console.log('close_fail',e)
		}
	})
}

如何使用呢?

const index = ref<number>(0)
const list = ref<Array<string>>([])

页面如何展示
{{ list[index] }}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在微信小程序实现ChatGPT,你可以按照以下步骤进行操作: 1. 创建ChatGPT账户并获取API Key。你可以参考ChatGPT的官方文档来完成这一步骤。 2. 在微信小程序中引入ChatGPT SDK,并使用API Key实例化聊天类Chat。这样你就可以在小程序中使用ChatGPT功能了。 3. 绑定一个输入框和一个发送按钮,以便用户可以输入对话内容并发送给ChatGPT。 4. 当用户点击发送按钮时,获取输入框中的文本,并调用ChatGPT的聊天方法来获取ChatGPT的回复。 5. 将ChatGPT的回复展示在小程序中的对话框中,以便用户可以看到ChatGPT的回答。 下面是一个示例代码,展示了如何在微信小程序实现ChatGPT功能: ```javascript // 引入ChatGPT SDK import Chat from 'path/to/chatgpt-sdk'; // 实例化Chat类 const chat = new Chat('YOUR_API_KEY'); // 监听发送按钮的点击事件 document.getElementById('send-button').addEventListener('click', async () => { // 获取输入框中的文本 const userInput = document.getElementById('input-box').value; // 调用ChatGPT的聊天方法,获取回复 const response = await chat.sendMessage(userInput); // 将回复展示在对话框中 document.getElementById('chat-box').innerText += `User: ${userInput}\n`; document.getElementById('chat-box').innerText += `ChatGPT: ${response}\n`; }); ``` 请注意,上述代码仅为示例,你需要根据你的具体情况进行适当的修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值