GPTHUB

GPTHUB

项目简介

GPTHUB,基于AI大模型API实现的自建后端Chat服务,支持同步响应及流式响应,完美呈现打印机效果。支持一键切换ChatGPT(3.5、4.0)模型、月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型,后续模型持续对接中。

项目包含java网页端、服务端、移动端及管理后台配置。

使用参考下面具体介绍:

  • 支持月之暗面(Kimi)模型,支持文心一言Stable-Diffusion-XL作图功能
  • 支持万花筒,内置了各种assistant模版,按指定prompt输出,也可后台创建assistant模版
  • 支持切换不同模型及不同版本进行对话聊天,保存对话记录及根据上下文输出
  • 网页端使用Vue3、TypeScript、NaiveUI进行开发,管理端端采用Vue2、Element UI
  • 服务端采用Spring Boot、Spring Security + JWT、Mybatis-Plus、Lombok、 Mysql & Redis,代码通俗易懂,上手即用
  • 完善的权限控制,权限认证使用Jwt,支持多终端认证系统
  • 阿里云折扣场:点我进入,腾讯云秒杀场:点我进入  
  • 阿里云优惠券:点我领取,腾讯云优惠券:点我领取  

演示

网页端演示地址: 点击体验

管理端演示地址: 点击体验     账号密码:tourist / tourist

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

已实现功能

  1. 多模型多版本对话,支持ChatGPT(3.5、4.0)、月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)
  2. 支持后台配置及使用assistant模版,按指定prompt输出,存储历史对话及聊天内容,可开启/关闭根据上下文输出
  3. 支持vip及svip功能,支持兑换码、分享功能及个人信息修改
  4. 支持分销
  5. 支持按使用次数或者开通会员使用,也可全局判断不校验使用次数及会员,电量赠送次数或者不校验电量可在管理端中进行配置
  6. 移动端websocket支持

待实现功能

  1. 文档对话、国内模型绘画
  2. 知识库
  3. MJ/SD
  4. 语音对话

模型功能对比

模型是否支持System天气查询绘画
ChatGPT支持不支持支持
文心一言不支持(传递会报错)可以回复(不准)使用Stable-Diffusion-XL
通义千问支持支持(效果没讯飞好)未接入
讯飞星火支持支持(准)不支持
智谱清言支持不支持支持(API待接入目前有点贵)
月之暗面支持不支持支持文档问答

内置功能

  1. 工作台:集成多个应用和功能的系统页面,该页面主要为用户提供快速访问、信息聚会、个性化等功能。
  2. 数据中心:用于管理和分析系统数据的功能,向用户提供直观和易懂的信息,方便使用者快速了解系统数据。
  3. 任务中心:可以后台查看模型聊天对话记录及绘画任务记录。
  4. 订单管理:查看开通会员订单信息及退款操作。
  5. 会员中心:查看所有用户信息,及开通模型次数及消耗电量统计功能。
  6. 模型管理:配置Assistant分类及prompt信息。
  7. 助手中心:配置Assistant分类及prompt信息。
  8. 配置中心:配置系统信息及移动端信息,配置oss、sms密钥,配置微信支付、小程序和公众号密钥等。
  9. 系统管理:对系统中基础业务进行管理维护。
    10.系统监控:监控系统中的服务、缓存、操作、日志等

环境搭建/运行&提示

1、idea导入chat项目,更换spring.profiles.active为dev
2、执行doc/sql/chat_gpt全量sql文件,在gpt_model配置可运行模型信息,在gpt_openkey配置模型密钥信息
3、版本更新时候需执行doc/sql/update.sql
4、更改application-dev中redis连接和mysql连接配置
5、启动ChatApplication中main方法
  • com.master.chat.api.base.config.InitBean 初始化模型
  • com.master.chat.gpt.service.IGptService 接口调用
  • com.master.chat.gpt.service.SseService sse调用

开发环境

工具版本号下载
JDK1.8https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Mysql5.7https://www.mysql.com/
Maven3.6.3https://maven.apache.org/
nginx1.10http://nginx.org/en/download.html |

开发技术

技术说明官网
Spring Boot容器+MVC框架https://spring.io/projects/spring-boot
Spring Security Oauth2认证和授权框架https://spring.io/projects/spring-security-oauth
Lombok简化Java开发https://github.com/JourWon/test-lombok
Netty网络通信框架https://github.com/JourWon/test-lombok
JWTJWT登录支持https://github.com/jwtk/jjwt
MyBatis-plus代码生成、物理分页https://baomidou.com/
dynamic-datasource多数据源https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611
Redis分布式缓存https://redis.io/
Druid数据库连接池https://github.com/alibaba/druid
OSS对象存储https://github.com/aliyun/aliyun-oss-java-sdk
quartz定时任务https://github.com/quartz-scheduler/quartz

框架特点

  1. 使用@RepeatSubmit(interval = 1000)注解对接口进行重复提交限制,interval默认值为5s内,可以自定义时间范围。
  2. 使用@RateLimiter注解对接口进行限流。
  3. 使用@DataScope(deptAlias = “t1”, userAlias = “t2”)进行数据过滤。
  4. 使用@PreAuthorize(“hasAuthority(‘system:config:remove’)”)注解可以对接口进行权限校验。
  5. 使用@Log(value = “刷新系统配置缓存”, type = SysLogTypeConstant.CONFIG, businessType = BusinessTypeEnum.CLEAN)
    注解进行系统日志存储。
  6. 使用@DS(“master”)切换数据源,优先方法高于类
  7. 引入阿里巴巴easy-excel框架,轻松编写导出、导入接口。
  8. 使用Lombok简化java代码,省略getter、setter方法。(@Accessors(chain = true)支持链式操作)
  9. 完善的自动生成代码功能,增加DTO、Command、VO类。
  10. 独立的定时任务列表管理功能。
  11. 支持多端登录或只能当前账号登录功能,需要后台配置。
  12. 使用阿里云、腾讯云、七牛云对象存储及短信功能,支持本地存储。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@小马哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值