结合实例理解流式输出的几种实现方法
0 Comment如果有用过 ChatGPT 等大语言模型,可能就会发现在聊天对话中,AI 的输出文本是一批批“蹦出来”的,这就是所谓的流式输出。在浏览器上,是怎么实现这种效果呢?
本篇文章会介绍 4 种常见方法来实现流式输出效果,每种方法都会结合实际例子来演示。在业务中选择哪种方法,取决于具体的需求和场景。
- 客户端轮询:客户端定时(如每几秒)发送请求到后端服务,获取新的数据。
- 分块传输:HTTP/1.1 支持,服务器一次可以只发送部分响应内容,客户端接收到部分数据后就可以开始处理。
- Server-Sent Events:服务器向浏览器推送信息,浏览器创建一个到服务器的单向连接,服务器通过这个连接可以发送多个消息。
- Web Socket:建立一个持久的、全双工的连接,允许服务器和客户端之间进行实时、双向的通信。