基于SSE实现chptgpt

24 阅读1分钟

1、EventSource是什么?

EventSource 是一个浏览器内置的 JavaScript API,用于实现服务器推送事件(Server-Sent Events, SSE) 技术。它允许服务器通过 HTTP 连接主动向客户端(浏览器)推送数据,实现实时通信。

特点:

  • 单向通信:只能从服务器向客户端发送数据
  • 基于 HTTP:使用标准的 HTTP 协议,不需要特殊协议
  • 文本格式:只支持 UTF-8 文本数据
  • 自动重连:内置连接断开自动重连机制
  • 简单易用:API 非常简单,几行代码即可实现

数据格式规范:

event: message
data: 这是一条消息
id: 12345
retry: 3000
  • event:事件类型(可选,默认为 message)
  • data:消息内容(必需,可以是多行)
  • id:事件 ID(可选,用于断线重连)
  • retry:重连延迟时间(可选,毫秒)

唯一需要注意的是 HTTP response 里header Content-Type 的值是 text/event-stream

2、基于SSE实现gpt

a、开通账户

deepseek后台 重置完后可以创建自己key

image.png

b、搭建小型服务器

基于express使用openai库来初始化

image.png

需要设置响应头

image.png

image.png

c、搭建前端

安装vue-element-plus-x

image.png 我这里使用到了EditorSender 编辑输入框 、BubbleList 气泡列表两个组件

image.png

image.png

image.png

3、成品

image.png