最新人工智能源码搭建部署教程/ChatGPT程序源码/AI系统/H5端+微信公众号版本源码

news2024/12/23 6:22:27

一、AI系统

如何搭建部署人工智能源码、AI创作系统、ChatGPT系统呢?小编这里写一个详细图文教程吧!

SparkAi使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统!

1.1 程序核心功能

程序已支持ChatGPT3.5/GPT-4提问、AI绘画、Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画、思维导图生成、知识库(可自定义训练)、AI绘画广场、邀请+代理分销模式、用户每日签到功能、会话记录保存、微信公众号+邮箱+手机号注册登录、后续其他免费版本功能更新

1.2 最新版本更新日志

版本【V2.6.0】更新功能:

  • 优化key池额度耗尽锁定逻辑(8月26日更新)!
  • 优化MJ绘画连接、优化CSS、部分页面样式修改(8月26日更新)!
  • 增加手机端签到领取免费次数功能、优化后台总计绘画数量逻辑!
  • 新增 MJ 官方图片重新生成指令功能
  • 同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)
  • 同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x

二、系统演示

https://ai.idcyli.com

三、功能模块

3.1 GPT模型提问

已支持GPT联网提问

3.2 应用工作台

3.2.1 prompt知识库

3.2.2 支持用户自定义知识库

3.3 Midjourney专业绘画

文生图:

以图生图: 

3.4 Dall-E2绘画

3.5 思维导图生成​

3.6 AI绘画广场

四、源码系统

4.1 前台演示站点

  • 系统演示

4.2 SparkAi源码下载

  • 源码

4.3 SparkAi系统文档

  • SparkAi系统文档 · 语雀

4.4 详细搭建部署教程

  • SparkAi系统部署搭建文档

五、详细搭建教程

以下教程使用Linux宝塔搭建部署

5.1 基础env环境配置

在代码中我们提供了基础 环境变量文件配置文件env.example,使用前先去掉后缀改为.env文件即可, 我们在env环境配置文件只需要配置如下东西。

  • 授权码、ip配置

  • 邮件服务配置

  • mysql数据库 这三项是基础配置、mysql与授权是必须的、在配置mysql与授权的情况下项目才可以启动成功、邮件服务可以后续追加。

5.2 env.env文件配置

# 服务器ip (必填项)
SPARK_AI_HOST=
# 授权码 (授权码留空,可启动运行体验系统半小时)
SPARK_AI_KEY=

# mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=数据库用户名
DB_PASS=数据库密码·
DB_DATABASE=数据库名
DB_LOG=false
DB_SYNC=true

#  mailer 邮件服务
MAILER_HOST=smtp.163.com/smtp.qq.com (选择自己的发信服务器地址,网易邮箱或者qq邮箱)
MAILER_PORT=465
MAILER_USER=发信邮箱
MAILER_PASS=邮箱发信密钥
MAILER_FROM=发信邮箱

# Redis
REDIS_PORT=6379
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=

# mj并发数
CONCURRENCY=3

# jwt token
JWT_SECRET=chat-spark
# jwt token 过期时间
JWT_EXPIRESIN=7d
# 接口文档前缀
SWAGGERPREFIX=/docs
# 自定义端口
PORT=9520

六、环境安装

  • Nginx >= 1.19.8

  • MySQL >= 5.7或者MySQL 8.0

  • PHP-7.4

  • PM2管理器 5.5

  • Redis 7.0.11

  • Node版本:>=16.19.1

详细教程:

6.1 确定Node版本

使用PM2切换Node版本(必须

切换Node版本为:v16.19.1

​​​​​​

6.2 安装pnpm模块

6.3 安装Redis

​​​​​​

七、部署跑起来

7.1 新建站点

宝塔 - 网站 - 添加站点

7.2 配置SSL

7.2.1 使用自己的ssl证书,使用HTTPS安装访问

7.2.2 Let's Encrypt 证书申请

如果自己没有证书,可以使用宝塔免费证书,申请Let's Encrypt

​​​​​​

7.3 上传系统源码

7.3.1 上传系统源码

删除原始文件

将程序上传并解压到网站根目录下

​​​​7.3.2 配置.env文件

在宝塔直接双击 .env.example 文件编辑,或在终端vim编辑

配置完成后将文件后缀删掉、文件名字就是 .env

7.4 启动项目

7.4.1 宝塔开启端口

进入宝塔面板安全设置,开启 9520 端口和 3306 端口

7.4.2 安装依赖

在网站根目录下进入ssh终端
使用 pnpm i 安装依赖

7.4.3 启动项目

使用 pnpm start 启动项目

7.4.4 查看启动日志

输入 pm2 log 查看详细日志、看到下图表示成功!

​​​​​​

7.4.5 设置反向代理

添加 9520 端口反向代理,宝塔安全需要开启该端口,不然无法访问

八、测试使用系统

部署完成!此时通过域名即可访问SparkAi系统了!

8.1 管理后台

默认前台地址为域名地址 默认后台地址则为:域名地址/sparkai/admin

默认超级管理员账号是 super spark123

此时我们就安装完成了!​

8.2 访问测试系统

感谢观看,教程完成!

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

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

相关文章

Vue3.0极速入门- 目录和文件说明

目录结构 以下文件均为npm create helloworld自动生成的文件目录结构 目录截图 目录说明 目录/文件说明node_modulesnpm 加载的项目依赖模块src这里是我们要开发的目录,基本上要做的事情都在这个目录里assets放置一些图片,如logo等。componentsvue组件…

加快edge网页的下载速度

1、 edge://flags/#enable-parallel-downloading、 2、 点击enabled

Leetcode每日一题:1448. 统计二叉树中好节点的数目(2023.8.25 C++)

目录 1448. 统计二叉树中好节点的数目 题目描述: 实现代码与解析: dfs 原理思路: 1448. 统计二叉树中好节点的数目 题目描述: 给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为&…

谈谈子网划分的定义、作用、划分方式以及案例

个人主页:insist--个人主页​​​​​​ 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、子网划分的定义 二、子网掩码的作用 1、…

[管理与领导-51]:IT基层管理者 - 8项核心技能 - 6 - 流程

前言: 管理者存在的价值就是制定目标,即目标管理、通过团队(他人)拿到结果。 要想通过他人拿到结果: (1)目标:制定符合SMART原则的符合业务需求的目标,团队跳一跳就可以…

【mysql是怎样运行的】-EXPLAIN详解

文章目录 1.基本语法2. EXPLAIN各列作用1. table2. id3. select_type4. partitions5. type 1.基本语法 EXPLAIN SELECT select_options #或者 DESCRIBE SELECT select_optionsEXPLAIN 语句输出的各个列的作用如下: 列名描述id在一个大的查询语句中每个SELECT关键…

Unity——后期处理举例

Post Processing(后期处理)并不属于特效,但现代的特效表现离不开后期处理的支持。本文以眩光(Bloom)为例,展示一种明亮的激光的制作方法 1、安装后期处理扩展包 较新的Unity版本已经内置了新版的后期处理扩…

2022年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:拦截导弹 某国为了防御敌国的导弹袭击, 发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷: 虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 某天, 雷达捕捉到敌国的…

Linux内核学习(十)—— 块 I/O 层(基于Linux 2.6内核)

目录 一、剖析一个块设备 二、缓冲区和缓冲区头 三、bio 结构体 四、请求队列 五、I/O 调度程序 系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的硬件设备称作块设备,这些固定大小的数据片就称作块。最…

项目进度管理(4-1)关键链法

1 关键链法产生的背景 关键链法(Critical Chain Method,CCM)起源于20世纪80年代,是由Eliyahu M. Goldratt在他的著作《关键链》("Critical Chain")中首次提出和阐述的。Eliyahu M. Goldratt是以…

Java 时间String转Date类型

Testpublic void testTime() throws ParseException {SimpleDateFormat format new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//法一:String time111 "2023-08-14 18:13:10";Date date format.parse(time111);System.out.println("法一…

4.18 TCP 和 UDP 可以使用同一个端口吗?

目录 TCP 和 UDP 可以同时绑定相同的端口吗? 多个 TCP 服务进程可以绑定同一个端口吗? 重启 TCP 服务进程时,为什么会有“Address in use”的报错信息? 重启 TCP 服务进程时,如何避免“Address in use”的报错信息…

Java之API详解之System类的详解

2 System类 2.1 概述 tips:了解内容 查看API文档,我们可以看到API文档中关于System类的定义如下: System类所在包为java.lang包,因此在使用的时候不需要进行导包。并且System类被final修饰了,因此该类是不能被继承的。…

【C++】C++ 引用详解 ⑤ ( 函数 “ 引用类型返回值 “ 当左值被赋值 )

文章目录 一、函数返回值不能是 " 局部变量 " 的引用或指针1、函数返回值常用用法2、分析函数 " 普通返回值 " 做左值的情况3、分析函数 " 引用返回值 " 做左值的情况 函数返回值 能作为 左值 , 是很重要的概念 , 这是实现 " 链式编程 &quo…

我的128天创作纪念日-东离与糖宝

文章目录 机缘收获日常成就憧憬 不知不觉我也迎来了自己的128天创作纪念日,一起来看看我有什么想对大家说的吧 机缘 我的写博客之旅始于参加了代码随想录算法训练营。在训练营期间,代码随想录作者卡尔建议我们坚持每天写博客记录刷题学习的进度和心得体…

Jira vs Trello:项目管理的深层巅峰对决

引言 项目管理在现代企业运作中起着至关重要的作用。从跨国公司的巨大项目,到创业公司的快速反应,再到个人的日常任务管理,一个好的项目管理工具可以有效地跟踪进度,优化资源分配,确保项目在预定时间内完成。今天&…

银河麒麟服务器、centos7服务器mysql离线安装:通过获取临时密码进行登录修改新密码

离线安装脚本 cd /home/zenglg/mysql5.7# 判断mysql是否安装# 下面这种方法必须是rpm安装的判断才有效,不通用# IS_INSTALLED$(rpm -qa |grep mysql)# if [ $? -eq 0 ]# 下面的判断方法是查询版本号,比较通用SQL_VERSIONmysql -V | grep -i -o -P 5.7.4…

Kotlin协程flow发送时间间隔debounce

Kotlin协程flow发送时间间隔debounce debounce的作用是让连续发射的数据之间间隔起来。典型的应用场景是搜索引擎里面的关键词输入,当用户输入字符时候,有时候,并不希望用户每输入任何一个单字就触发一次后台真正的查询,而是希望…

简单了解文件上传漏洞(md版)

简单了解文件上传漏洞 一、什么是文件上传漏洞二、常见功能点三、成功的前提四、文件上传的校验方式五、Pass-1六、Pass-2七、蚁剑结合msf获取目标权限 一、什么是文件上传漏洞 在文件上传的功能处,如果服务端未对上传的文件进行严格的验证和过滤,导致攻…

系统架构设计高级技能 · 层次式架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…