uniapp开发中如何实现uni.request流式请求大模型api接口?
网友回复
uniapp进行流式请求chatgpt的api接口的代码需要分平台
1、如果最终导出微信小程序的话,那么就可以直接使用uni.request,其他小程序、app、h5都不支持uni.request进行流式请求数据了。
示例代码
var requestTaskw = uni.request({ url: 'https://api.openai.com/v1/chat/completions', // 请求地址 method: "POST", // 你的请求方法 timeout: 15000, data: JSON.stringify({ model: 'gpt4O', messages: [{ role: 'user', content: 'hello' }], temperature: 0.9, max_tokens: 100, stream: true }), header: { "Content-Type": "application/json", 'Authorization': `Bearer APIKEY`, }, responseType: "text", enableChunked: true, // 开启流传输 success: response => { console.log(response) }, fail: error => {} }); requestTaskw.onHeadersReceived(function(res) { console.log(res.header); }); // 这里监听消息 requestTaskw.onChunkReceived(function(res) { let decoder = new TextDecoder('utf-8'); let text = decoder.decode(new Uint8Array(res.data)); console.log(text) })2、如果最终导出h5页面的话,可以使用fetch
参考代码:点击打开链接
3、如果是andriod或app及其他小程序,有两种办法
3.1 内嵌h5网页,h5网页中使用fetch方式
3.2 服务端统一采用websocket进行中转,这个适合所有的客户端
服务端示例代码如下:
点击查看全文
增加一个enableChunked: true, // 开启流传输,代码如下:
const response = uni.request({ url: 'Your requested address', // 请求地址 method: "Request method", // 你的请求方法 data: data, header: { "Accept": 'tex...
点击查看剩余70%
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?