j***@qq.com
j***@qq.com
  • 发布:2023-03-22 11:22
  • 更新:2023-03-22 11:50
  • 阅读:880

uniapp怎么实现chatgpt那种流式打印的效果啊

分类:uni-app

我是后端用flask 流式响应,然后想用unicloud流式接收再流式给前端小程序,目前只做了flask端的流式响应,后面的不会了,请求大佬帮助

2023-03-22 11:22 负责人:无 分享
已邀请:
Hetoo123

Hetoo123

这个问题应该问ChatGPT

  • j***@qq.com (作者)

    问不出来,他死活不说正确的

    2023-03-22 11:30

j***@qq.com

j***@qq.com (作者)

要将Flask端的流式响应发送到小程序上,您需要进行以下步骤:

  1. 将流式响应改为Chunked Transfer-Encoding:在返回数据的响应头中添加Transfer-Encoding为chunked,然后在响应正文中分割多个chunk块,每个chunk块大小在2kb到64kb之间是最佳大小。

  2. 将Flask端的流式响应发送到unicloud上:您需要使用unicloud提供的HTTP API,将收到的chunk块流式发送到小程序上。您可以使用unicloud提供的HTTP API通过Web服务器请求的方式,将chunk块流式发送到小程序上。

  3. 在小程序端接收流式数据并呈现出来:您需要在小程序代码中编写代码,以便接收HTTP API发送的流式响应,并将其呈现给小程序用户。

以上是大体的流程,其中需要注意的是,unicloud提供的HTTP API接收限制是4KB。所以你需要将Flask端响应的Chunk块大小控制在2KB到4KB之间会比较合适。具体实现上,您可以在Flask端向unicloud流式传递Chunk块时,在每个Chunk块前后手动添加一个特定字符码作为区块的标识,然后在小程序端接收到流式数据后根据特定字符码来还原Chunk块,并将其呈现给小程序用户。

要回复问题请先登录注册