Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

名称: /hncboy/chatgpt-web-java

地址: https://github.com/hncboy/chatgpt-web-java

fork: 307    star: 784    开发语言: Java

项目简介: Java 开发的 ChatGPT 的项目,基于 Spring Boot 3 和 JDK 17,支持 AccessToken 和 ApiKey 模式。

chatgpt-web-java 开源项目提供了一套完整的ChatGPT 聊天的解决方案,包括基本的会话管理,敏感词管理,ip 限流等。
目前提供了演示网站,使用邮箱注册后即可使用。
演示网站地址:https://front3.stargpt.top/
Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式
#1



上下文聊天

支持上下文聊天和配置上下文问问题 的次数。

使用 MySQL 存储聊天数据来实现 apiKey 方式的上下文聊天,AccessToken 默认支持上下文聊天。同时还可以通过配置 limitQuestionContextCount 参数来限制上下文问问题的数量。

数据库中存储了每次聊天对话的记录,当我们选择上下文聊天时,可以通过会话 ID 获取历史消息,并将历史问题以及回答消息都发送给 GPT,从而实现上下文聊天的功能。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

敏感词过滤

为了维护良好的网络环境 ,需要设置敏感词,才能更好地运行。chatgpt-webjava 支持自定义敏感词库。

在发送消息前,会判断是否包含敏感词汇,如果包含就会发送失败。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

限流

为了限制部分大量的恶意访问,消耗掉有限的 token,限流功能是必要的。

限流分为全局限流和 ip 限流,我们可以根据需要进行设置。限制后限流状态会进行持久化保存,重启后依然生效。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

登录注册

使用邮箱进行登录注册。注册后会发送验证邮件,点击邮件即可。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

 

#2

消息记录

展示消息的列表,问题和回答各是一条消息。支持按照 ip 地址,聊天室 id 和消息内容进行搜搜。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

限流记录

可以查看各个 ip 的限流记录,包括限流规则,限流时间内发送次数等,但是只会记录在限流时间范围的限流次数。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

聊天室管理

查看聊天室列表。可以看到聊天室的 id,ip,创建时间,最近的更新时间等。每次会话都会创建一个聊天室,但是如果选择关联上下文发送,那么就不会创建新的聊天室。

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

敏感词管理

查看设置的敏感词列表,目前只提供了查询的功能,管理功能尚未增加

Java 开发的 ChatGPT 的项目,基于 Spring Boot ,支持 AccessToken 和 ApiKey 模式

支持使用 IDE 直接运行和使用 docker 部署,更多内容请到 github 观看:
https://github.com/hncboy/chatgpt-web-java

END

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...