ChatMASTER部署教程

项目简介

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

GitHub直通车点我传送

欢迎小伙伴或有合作意向一起加入交流群添加微信或提Issues。使用参考下面具体介绍:

  • 支持文心一言Stable-Diffusion-XL作图功能
  • 内置了各种assistant模版,按指定prompt输出,也可后台创建assistant模版
  • 支持切换模型对话聊天,保存对话记录及根据上下文输出
  • 管理端端采用Vue2、Element UI,Chat网页端使用Vue3、TypeScript、NaiveUI进行开发
  • 服务端采用Spring Boot、Spring Security + JWT、Mybatis-Plus、Lombok、 Mysql & Redis,代码通俗易懂,上手即用
  • 完善的权限控制,权限认证使用Jwt,支持多终端认证系统
  • 管理端项目,请移步chat-master-admin
  • 网页端项目,请移步chat-master-web
  • 移动端项目,请移步chat-master-uniapp
  • 如需了解更多可访问[这里](https://www.yuque.com/the6/ct0azl/ehxcgoy0xg41l9c3?singleDoc# 《ChatMASTER部署教程》)

ChatMASTER部署教程

介绍🌈🌈全套版本开源使用,旨在为开发小伙伴们介绍时间提高效率,搭建自己的ChatOwner欢迎使用 chat-master开源大模型系统!请按照文档中的步骤进行操作,确保安装过程顺利进行。如果您在安装过程中遇到任何问题,请仔细检查您的系统配置是否符合规范。根据我们的经验,大多数安装问题都可以通过自行检查来解决。如果您仍然无法解决安装问题,请在issuse或交流群中提高您的配置信息以及报错信息的截图。我将尽快给予回复。在使用本项目前建议先阅读[常见问题],方便自己二次开发。祝您安装成功,使用愉快!项目构成chat-master java服务项目chat-master-admin 后台管理项目,技术采用vue2 + Element UIchat-master-web 网页端项目,技术采用vue3 + TypeScript + NaiveUI + Tailwindchat-master-uniapp 移动端开发中或有意向的可以联系作者一起开发chat-master java服务环境准备Java8MavenRedisMysql5.7本地开发第一步、下载代码git clone chat-master: ChatMASTER,基于AI大模型api实现的ChatGPT服务,支持一键切换ChatGPT(3.5、4.0)模型,文心一言(支持Stable-Diffusion-XL作图)、通义千问、讯飞星火、智谱清言(ChatGLM)等主流模型,支出同步响应及流式响应,完美呈现打印机效果。代码下载完成之后,使用 IDEA 导入文件夹 chat-master 目录。第二步、修改配置文件修改spring.profiles.active=dev​

YAML复制代码

 

# 注意检查环境spring:# 环境 dev|test|prodprofiles:active: dev

将application-dev.yml 的 Mysql、Redis 的配置信息修改为自己的​第三步、执行sql执行chat-master.sql即可,如没有就依次执行sys.sql、sys_date.sql、chat-gpt.sql、update.sql第四步、替换openkey表中的模型key信息

image.png

第五步、启动ChatApplication中的main方法​打包(使用idea打包)使用idea将项目打包为jar包,打包后文件在项目跟路径target目录下为chat-master.jarchat-master-admin 后台管理项目环境准备建议node14版本,使用 nvm 可管理本地多个 node 版本本地开发第一步、下载代码git clone chat-master-admin: ChatMASTERAdmin,作为后台管理系统,配套ChatMASTERWeb及ChatMaster使用,用于配制使用模型及助手等。已对接模型有:ChatGPT、文心一言、通义千问、讯飞星火。代码下载完成之后,使用 VSCode 导入文件夹 chat-master-admin 目录。第二步、进入项目目录cd chat-master-admin第三步、安装依赖npm install 可以通过如下操作解决 npm 下载速度慢的问题npm install --registry=https://registry.npmmirror.com第四步、启动服务更换.env中BASE_API信息为自己后端地址 然后执行npm run dev第五步、浏览器访问http://localhost:2345打包打包测试环境​打包生产环境​chat-master-web 网页端项目环境准备建议node18版本,使用 nvm 可管理本地多个 node 版本node-v查看node版本,如果非18版本使用nvm use 18切换至18版本本地开发第一步、下载代码git clone https://gitee.com/panday94/chat-master-web代码下载完成之后,使用 VSCode 导入文件夹 chat-master-web 目录。第二步、进入项目目录cd chat-master-web第三步、安装依赖如果没有安装过pnpm先进行npm install pnpm -g再执行pnpm bootstrap 第四步、启动服务更换.env中GLOB_API_UR信息为自己后端地址 然后执行pnpm dev第五步、浏览器访问http://localhost:2345打包打包生产环境​部署服务器🔥⚠️ 注意事项确保服务器上已安装jdk、mysql、redis及nginx,将chat-master中application.yml配置文件信息改为该服务器中信息。如没有mysql、redis和nginx可自行百度安装。服务器端口组放行80端口,如没有域名需放行服务8088端口或自行修改。确认域名解析至当前ip手动打包部署(使用nginx配置)步骤一、服务器目录(自行选择)创建项目文件夹​步骤二、在步骤一文件夹下分别创建java、web文件夹​步骤三、将chat-master、chat-master-web、chat-master-admin依次打包上传至服务器如不清楚请点击查看打包命令将chat-master.jar上传至/chat-master/java/目录下将chat-master-web文件夹中dist/目录下文件压缩并上传至服务器/chat-master/web/目录下将chat-master-admin文件夹中dist/目录下文件压缩上传至服务器/chat-master/web/admin/目录下步骤四、启动chat-master后端服务​启动完之后即可通过http://你的服务器ip地址/8088/chat-master 确认是否启动成功步骤五、配置nginx​步骤六、重新加载nginx配置​步骤七、访问项目地址chat-master-web项目: http://gpt.master.comchat-master-admin项目: http://gpt.master.com/admin使用宝塔部署步骤一、确认宝塔运行项目方式推荐以Nginx方式运行步骤二、确认宝塔是否安装Mysql、Redis、Nginx,如没有自行进入软件商店进行安装步骤三、添加文件目录,并且依次将打包文件上传至文件目录中​步骤四、创建Java服务1、进入网站页面选择java项目,2、如首次创建Java项目时宝塔会让你选择jdk,自行选择jdk解压路径3、点击添加Java项目

image.png

4、配置域名,在添加Java项目时可直接添加域名

image.png

提交完之后Java项目将会自动启动,如启动失败,查看日志排查原因步骤七、访问项目地址chat-master-web项目: http://gpt.master.comchat-master-admin项目: http://gpt.master.com/admin使用Docker部署启动问题🔞未加载到密钥信息答:检查openkey表对应模型密钥是否存在,添加完之后当前需要重启服务。chat-master-admin中提示node-emoji/lib/index.js中return findByCode(codeOrName)??findByName(code0rName);语法报错如下图

image.png

答:后台配置中assistant助手库配置需要使用到表情所以安装了node-emoji,可以将上述index.js中的??语法改为普通三目表达式 ?,如暂时不考虑可以先将index.js文件注释直接启动常见问题🔫万花筒在哪里配置?答:在后台的助手中心菜单下分别配置助手分类及助手,后台sql中已经提高了一些基础的模版,可在此进行编辑或添加。openkey可以在哪里可以进行配置?答:在配置中心的token管理中进行配置是否可以去除使用限制或者修改注册默认赠送电量?答:首先在系统管理-参数设置中找到·是否限制访问Chat·配置,如果限制则前往配置中心-站点配置-应用中心的免费体验次数中进行修改,如无限制,则可以无限访问ChatMASTER是否有开通会员功能?答:订单表已经建好,系统中引入了wx-java的sdk,可以二次开发会员功能,微信信息可以在配置中心-站点配置-微信信息中修改如何本地访问openai接口?答:在配置中心-站点配置-基础配置中配置代理方案,如本地开发可以直接选择环境代理,本地科学上网,如有代理地址,可以选择反向代理,并填写反代服务器地址如https://openai.master.com/。如想使用自己代理地址,可参考[]使用CloudFlare方案。如何要使用oss、sms等?答:可以在配置中心-站点配置-拓展信息中进行上传配置及短信配置,默认上传配置为本地上传。oss及sms工具类在包com.master.chat.comm.util中,可自行通过配置实现使用或可以放在yml中使用。如忽略安全因素想省事可以配置在工具类中(不建议)。后台admin密码是多少?答:默认密码为123456,登陆进去建议先修改密码。待补充。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP形象设计是什么设计?如何做?

随着市场竞争的激烈,越来越多的企业开始关注品牌形象的塑造和推广。在品牌形象中,知识产权形象设计是一个非常重要的方面。在智能和互联网的趋势下,未来的知识产权形象设计可能更加关注数字和社交网络。通过数字技术和社交媒体平台&#xff0…

ospf虚链路实验简述

1、ospf虚链路实验简述 ospf虚链路配置 为解决普通区域不在骨干区域旁,通过配置Vlink-peer实现不同区域网络设备之间建立逻辑上的连接。 实验拓扑图 r1: sys sysname r1 undo info enable int loopb 0 ip add 1.1.1.1 32 ip add 200.200.200.200 32 quit int e0/0/…

Leetcode 239:滑动窗口最大值

题意 大小为 k 的滑动窗口从整数数组 nums 的最左侧移到最右侧,只能看到滑动窗口中的 k 个数字,窗口每次向右移动一位。 返回滑动窗口的最大值。 示例 1: 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出:[3,3,5,5,6,7] …

[leetcode 26][删除有序数组的重复项]

[leetcode 26][删除有序数组的重复项] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O…

一家新店怎么快速出体验分?教大家一个简单好用的方法,建议收藏

大家好,我是电商花花。 在现在直播电商时代,抖音电商已经成为了一种新兴的商业模式,在抖音小店的项目上,店铺体验分成为了抖音小店能否成功的一个关键因素之一。 店铺的体验分越高,我们店铺的权重才会更高&#xff0…

04.if判断

04.if判断 01.if判断02.运算符2.比较(关系)运算符3.逻辑运算符4.三目运算符(三元表达式) (03)5.if-else6.if-elif结构 04.if嵌套7.if嵌套 01.if判断 if判断基本格式 基本格式 if 要判断的条件:…

掘根宝典之C语言和C++中的const

const的基本概念 const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。 习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。 const修饰基本数据类型 2.1 const修饰一般常量及数组 int const a…

MAth类与Random类

Math类 Math类是Java编程语言中的一个工具类,它包含了一系列用于执行基本数学运算的静态方法;由于Math类中构造方法的访问权限是private,所以无法创建Math类的对象;Math类中的所有方法都是静态方法,可以通过类名直接调…

CSS复合选择器(三)

伪元素选择器 作用:选中元素中的一些特殊位置。 常用伪元素: ::first-letter 选中元素中的第一个文字。::first-line 选中元素中的第一行文字。::selection选中被鼠标选中的内容。::placeholder 选中输入框的提示文字。::before 在元素最开始的位置&…

1.BOM-获取元素(获取元素、修改属性)

web Api基本认知 作用:通过JS去操作html页面和浏览器(实现浏览器中的某些功能) 分类: DOM(网页):Document Object Model(文档对象模型) BOM(浏览器):Borwser Object Model(浏览器对象模型) DOM DOM树 将网页中标签的关系以树状…

利用excel批量修改图片文件名

今天同事提出需求要实现利用excel批量修改某文件夹下的图片重命名,衡量到各种条件,最后还是选择了vbs来实现。代码如下 代码 创建Excel对象 Set objExcel CreateObject("Excel.Application") objExcel.Visible False 隐藏Excel窗口 打开Ex…

react:usecontext使用

useContext返回 调用组件上方最近的 SomeContext.Provider 的 value 如果没有这样的 provider 传递给 createContext 的 defaultValue。返回的值始终是最新的。 如果 context 发生变化&#xff0c;React 会自动重新渲染读取 context 的组件。 <Context.Provider> 需要位于…

【MySQL知识体系】第2章 数据库与表的创建(一)

第2章 数据库与表的创建 2.1 数据库操作 2.2 表操作 文章目录 第2章 数据库与表的创建2.1 数据库操作2.1.1 创建第一个数据库2.1.2 更新数据库名称&#xff08;数据库创建后无法修改名称&#xff09;2.1.3 删除数据库2.1.4 取个合适的数据库名称 第2章 数据库与表的创建 2.1 数…

990-40产品经理:What Is Effective Written Communication? 什么是有效的书面沟通?

The purpose of written communication is to capture your reader’s attention and get your point across clearly. Ultimately, when you communicate in writing, you are helping the reader understand your perspective看法 on a topic. There are certain qualities a…

在 echarts 的 rich 中使用 iconfont 图标库图标作为 backgroundColor.image 值的方法

实现步骤 1、引入 iconfont.js。该脚本执行时&#xff0c;会在 body 下插入一个 svg 标签&#xff0c;标签下包含了图标库中的 svg 图标 path。 <script src"your/iconfont/path/iconfont.js"></script>或者 import your/iconfont/path/iconfont.js2、…

【学习心得】websocket协议简介并与http协议对比

一、轮询和长轮询 在websocket协议出现之前&#xff0c;要想实现服务器和客户端的双向持久通信采取的是Ajax轮询。它的原理是每隔一段时间客户端就给服务器发送请求找服务器要数据。 让我们通过一个生活化的比喻来解释轮询和长轮询假设你正在与一位不怎么主动说话的老大爷&…

基于R语言lavaan的SEM在复杂统计建模中的科研技术新突破

此外&#xff0c;我们还将深入探讨R语言的基础知识、结构方程模型的基本原理、lavaan程序包的使用方法等内容。无论是潜变量分析、复合变量分析&#xff0c;还是非线性/非正态/缺失数据处理、分类变量分析、分组数据处理等复杂问题&#xff0c;我们都将一一为您解析。 希望通过…

3.7作业

网络聊天室&#xff1a; 程序代码&#xff1a; ser.c #include <myhead.h> //定义消息类型结构体 struct xiaoxi {char type;char name[20];char text[100]; };int main(int argc, const char* argv[]) {// 创建套接字int sfd socket(AF_INET, SOCK_STREAM, 0);if (s…

Spring源码:手写AOP

文章目录 一、概念1、AOP是什么&#xff1f;2、相关概念1&#xff09;目标对象Target2&#xff09;通知Advice3&#xff09;连接点Joinpoint4&#xff09;切点Pointcut5&#xff09;切面Aspect6&#xff09;织入Weaving 二、分析三、实现1、实现Advice1&#xff09;前置通知2&a…

蓝桥杯-Stack

Stack实例化步骤 1导包&#xff0c;导入java.util.* 2实例化对象&#xff0c;格式如下 Stack<引用数据类型> stacknew Stack<>(); Stack特点&#xff1a;先进后出。比如1&#xff0c;2&#xff0c;3依次入栈&#xff0c;出栈顺序就是3&#xff0c;2&#xff0c…