Grt1228 / chatgpt-steam-output

Open AI ChatGPT流式输出。Open AI Stream output. ChatGPT Stream output.GPT-3.5
461 stars 173 forks source link
chatgpt chatgpt-stream gpt-35-turbo gpt-4 spring-boot spring-boot-chatgpt

简介

Open AI ChatGPT流式输出。Open AI Stream output. ChatGPT Stream output、 支持Tokens计算。

此项目只是对chatgpt-java SDK的一个简单示例项目,实现流式输出,仅做参考仅做参考仅做参考。大家最好还是自己基于SDK动手实现

目前本项目支持两种流式输出,支持Tokens计算,基于ChatGPT-Java SDK

流式输出实现方式 小程序 安卓 ios H5
SSE参考:OpenAISSEEventSourceListener 不支持 支持 支持 支持
WebSocket参考:OpenAIWebSocketEventSourceListener 支持 支持 支持 支持

最新版SDK参考:https://github.com/Grt1228/chatgpt-java

有bug欢迎朋友们指出,互相学习,有疑问加群免费解答。

一起探讨chatgpt-java,SDK问题咨询
项目产品开发交流
群失效关注公众号恢复:chatgpt-java 个人微信
二维码 二维码 二维码

SSE

主要是基于SSE 实现的(可以百度下这个技术)。也是最近在了解到SSE。OpenAI官网在接受Completions接口的时候,有提到过这个技术。 Completion对象本身有一个stream属性,当stream为true时候Api的Response返回就会变成Http长链接。 具体可以看下文档:https://platform.openai.com/docs/api-reference/completions/create 实例2

依赖

最新版参考:https://github.com/Grt1228/chatgpt-java 目前是1.0.12版本

<dependency>
    <groupId>com.unfbx</groupId>
    <artifactId>chatgpt-java</artifactId>
    <version>1.0.12</version>
</dependency>

项目部署

拉取源代码

git clone https://github.com/Grt1228/chatgpt-steam-output

修改配置

修改application.properties文件 默认8000端口,可以自己修改,修改端口记得将1.html文件的8000端口也替换掉

server.port=8000
chatgpt.apiKey=配置自己的key
chatgpt.apiHost=配置opai的Api Host地址

运行

运行ChatgptSteamOutputApplication

com.unfbx.chatgptsteamoutput.ChatgptSteamOutputApplication

运行成功后打开浏览器:

sse实现:http://localhost:8000/
websocket实现:http://localhost:8000/websocket   

能打开此页面表示运行成功

8ccfe107fc10deffdf7fac42b95547b

代码其实很简单,小伙伴们可以下载代码来看下。