如何实现像 chatgpt 一样的流式

如果是自己实现的话,使用浏览器的 api,只支持 get 方法,所以比较简单的方法就是直接用微软封装好的库,它是支持 post 以及传入其他参数的。仓库地址如下:

GitHub - Azure/fetch-event-source: A better API for making Event Source requests, with all the features of fetch()

具体的使用方法在他们的文档中也写的比较清楚了。

最常用的方法就是 onmessage,在这里面去写每次收到 message 的逻辑。

另外现在(截止 2024-02-18)的浏览器 Chrome Devtools 里面看不到 eventStream 是正常的。

“Event Stream” tab is empty in Chrome dev tools · Issue #3 · Azure/fetch-event-source · GitHub

预计 Chrome M123 将于 3.19 支持此功能。

Pasted image 20240218181408

另外 ChatGPT 也要从 text/event-stream 改为 ws 了。

待读