名称: /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 模式。
上下文聊天
支持上下文聊天和配置上下文问问题 的次数。
使用 MySQL 存储聊天数据来实现 apiKey 方式的上下文聊天,AccessToken 默认支持上下文聊天。同时还可以通过配置 limitQuestionContextCount 参数来限制上下文问问题的数量。
数据库中存储了每次聊天对话的记录,当我们选择上下文聊天时,可以通过会话 ID 获取历史消息,并将历史问题以及回答消息都发送给 GPT,从而实现上下文聊天的功能。
敏感词过滤
为了维护良好的网络环境 ,需要设置敏感词,才能更好地运行。chatgpt-web–java 支持自定义敏感词库。
在发送消息前,会判断是否包含敏感词汇,如果包含就会发送失败。
限流
为了限制部分大量的恶意访问,消耗掉有限的 token,限流功能是必要的。
限流分为全局限流和 ip 限流,我们可以根据需要进行设置。限制后限流状态会进行持久化保存,重启后依然生效。
登录注册
使用邮箱进行登录注册。注册后会发送验证邮件,点击邮件即可。
消息记录
展示消息的列表,问题和回答各是一条消息。支持按照 ip 地址,聊天室 id 和消息内容进行搜搜。
限流记录
可以查看各个 ip 的限流记录,包括限流规则,限流时间内发送次数等,但是只会记录在限流时间范围的限流次数。
聊天室管理
查看聊天室列表。可以看到聊天室的 id,ip,创建时间,最近的更新时间等。每次会话都会创建一个聊天室,但是如果选择关联上下文发送,那么就不会创建新的聊天室。
敏感词管理
查看设置的敏感词列表,目前只提供了查询的功能,管理功能尚未增加。
END