天气与日历 切换到窄版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 45|回复: 0

[Java源码] 基于AI大模型api实现的ChatGPT服务,支持一键切换ChatGPT(3.5、4.0)模型,月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型

[复制链接]

2680

主题

0

回帖

2819

积分

管理员

积分
2819
发表于 2024-11-4 20:08:09 | 显示全部楼层 |阅读模式
基于AI大模型api实现的ChatGPT服务,支持一键切换ChatGPT(3.5、4.0)模型,月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型,支出同步响应及流式响应,完美呈现打印机效果
声明:免费且作为开源学习使用,禁止转卖、谨防受骗。如需商用必须保留版权信息,请自觉遵守。确保合法合规使用,在运营过程中产生的一切任何后果自负,与作者无关。


项目简介
基于AI大模型api实现的自建后端Chat服务,支出同步响应及流式响应,完美呈现打印机效果。支持一键切换ChatGPT(3.5、4.0)模型、月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型,后续模型持续对接中。 项目包含java服务端、网页端、移动端及管理后台配置。

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

已实现功能
  • 多模型多版本对话,支持ChatGPT(3.5、4.0)、月之暗面(Kimi)、文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)
  • 支持后台配置及使用assistant模版,按指定prompt输出,存储历史对话及聊天内容,可开启/关闭根据上下文输出
  • 支持vip及svip功能,支持兑换码、分享功能及个人信息修改
  • 支持按使用次数或者开通会员使用,也可全局判断不校验使用次数及会员,电量赠送次数或者不校验电量可在chat-master-admin中进行配置
  • 移动端websocket支持
待实现功能
  • 文档对话、国内模型绘画
  • 知识库
  • MJ/SD
  • 分销
模型功能对比[td]
模型是否支持System天气查询绘画
ChatGPT支持不支持支持
文心一言不支持(传递会报错)可以回复(不准)使用Stable-Diffusion-XL
通义千问支持支持(效果没讯飞好)未接入
讯飞星火支持支持(准)不支持
智谱清言支持不支持支持(API待接入目前有点贵)
月之暗面支持不支持支持文档问答
内置功能
  • 工作台:集成多个应用和功能的系统页面,该页面主要为用户提供快速访问、信息聚会、个性化等功能。
  • 数据中心:用于管理和分析系统数据的功能,向用户提供直观和易懂的信息,方便使用者快速了解系统数据。
  • 任务中心:可以后台查看模型聊天对话记录及绘画任务记录。
  • 订单管理:查看开通会员订单信息及退款操作。
  • 会员中心:查看所有用户信息,及开通模型次数及消耗电量统计功能。
  • 模型管理:配置Assistant分类及prompt信息。
  • 助手中心:配置Assistant分类及prompt信息。
  • 配置中心:配置系统信息及移动端信息,配置oss、sms密钥,配置微信支付、小程序和公众号密钥等。
  • 系统管理:对系统中基础业务进行管理维护。
环境搭建/运行&提示
初始化sql已去除sys.date默认数据,如需统计功能可执行doc/sql/sys_date.sql。ChatGPT需要在后台配置管理中进行站点配置或加入微信群咨询。
1、idea导入chat-master项目,请更换spring.profiles.active为dev2、执行doc/sql/chat_gpt全量sql文件,在gpt_model配置可运行模型信息,在gpt_openkey配置模型密钥信息3、版本更新时候需执行doc/sql/update.sql4、更改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调用
开发环境[td]
工具版本号下载
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
开发技术[td]
技术说明官网
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
框架特点
  • 使用@RepeatSubmit(interval = 1000)注解对接口进行重复提交限制,interval默认值为5s内,可以自定义时间范围。
  • 使用@RateLimiter注解对接口进行限流。
  • 使用@DataScope(deptAlias = "t1", userAlias = "t2")进行数据过滤。
  • 使用@PreAuthorize("hasAuthority('system:config:remove')")注解可以对接口进行权限校验。
  • 使用@Log(value = "刷新系统配置缓存", type = SysLogTypeConstant.CONFIG, businessType = BusinessTypeEnum.CLEAN) 注解进行系统日志存储。
  • 使用@DS("master")切换数据源,优先方法高于类
  • 引入阿里巴巴easy-excel框架,轻松编写导出、导入接口。
  • 使用Lombok简化java代码,省略getter、setter方法。(@Accessors(chain = true)支持链式操作)
  • 完善的自动生成代码功能,增加DTO、Command、VO类。
  • 独立的定时任务列表管理功能。
  • 支持多端登录或只能当前账号登录功能,需要后台配置。
  • 使用阿里云、腾讯云对象存储及短信功能,支持本地存储。








后台界面:








前置要求Node
node 建议14版本,使用 nvm 可管理本地多个 node 版本
  • node -v

[color=rgb(51, 102, 153) !important]复制代码


开发
  • # 克隆项目
  • git clone https://gitee.com/panday94/chat-master-admin
  • # 进入项目目录
  • cd chat-master-admin
  • # 安装依赖
  • npm install
  • # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
  • npm install --registry=https://registry.npmmirror.com
  • # 启动服务
  • npm run dev

[color=rgb(51, 102, 153) !important]复制代码



浏览器访问 http://localhost:2345


发布
  • # 构建测试环境
  • npm run build:stage
  • # 构建生产环境
  • npm run build:prod

[color=rgb(51, 102, 153) !important]复制代码





附件中包含源码:管理端源码,网页端源码,服务端源码


以下内容需要积分高于 2 才可浏览

链接:https://pan.baidu.com/s/1w-lqBI-MZFpJym8glAk0jQ



提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:15 Bytes  售价:499金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员5折;永久VIP免费】
安全检测,请放心下载







相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
快速回复 返回顶部 返回列表