基于 PHP +EventSource 实现了 ChatGPT 的 Stream 响应,源码分享给大家

查看 51|回复 1
作者:nonfu   
虽迟但到,这周给我的小玩具 GeekChat 新增了对 stream 响应的支持,实现边回复边输出,感兴趣可以体验下:GeekChat —— 支持语音的免费体验版 ChatGPT。前端交互还有待优化,放到下个迭代吧。
由于 GeekChat 是用 Laravel + Vue3 实现的,所以也必须依赖这套技术栈实现 stream 流式响应,对应的实现源码已经提交到 Github:https://github.com/geekr-dev/geekchat,如果觉得对你有帮助,顺手点个 star 。
用到的东西:
  • 前端基于 EventSource 访问后端 SSE 端点
  • 后端基于 php curl 自带的流式响应支持分块传输
  • 基础设施层使用了支持 stream 响应的 OpenAI 代理: https://open2.aiproxy.xyz (源码在这里:https://github.com/geekr-dev/openai-proxy)

    注意点:
    由于用到了 header、ob_flush、flush 这些函数,所以不支持基于 Swoole 、RoadRunner 之类常驻内存机制驱动的 PHP HTTP 服务器,在部署到生产环境的时候需要注意这一点。

    geekchat, stream, PHP, 响应

  • PickleFish   
    不懂 但已 star
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部