最新AI创作系统ChatGPT源码+详细搭建部署教程,支持AI绘画/支持OpenAI-GPT全模型+国内AI全模型

news2024/11/15 12:10:08

一、AI创作系统

SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统+AI绘画系统,支持OpenAI GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!SparkAi程序使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统。

系统详细文档:

SparkAi系统文档 (yuque.com)icon-default.png?t=N7T8https://www.yuque.com/yuqueyonghutq9yt2/egy0d0Ai模型提问:

Ai绘画:

1.1 程序核心功能

支持OpenAI GPT全模型+国内AI全模型(已上线!)

  1. AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问
  2. 已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型等!
  3. AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画
  4. 微信公众号+邮箱+手机号注册登录
  5. 一键智能思维导图生成
  6. 应用广场知识库,支持用户前台自定义添加私密或共享
  7. AI绘画广场(画廊)
  8. 邀请+代理分销模式
  9. 用户每日签到功能
  10. 会话记录同步保存
  11. 支持对接微信官方支付、易支付、码支付、虎皮椒支付等
  12. 自定义聚合会员套餐
  13. 其他核心功能
  14. 后续其他免费版本功能更新

1.2 更新日志

SparkAi系统大版本更新日志:

【V2.6.3】更新功能(10.6号更新)
重写AI对话系统:新增 国内AI全模型,已支持OpenAI GPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型等!
新增 AI提问框工具插件:开通会员、连续对话、一键清屏、导出对话功能
分销代理新增银行卡提现渠道(微信、支付宝、银行卡)
新增Midjourney专业绘画提示词参考功能
去除游客功能:修复游客指纹ID导致后台账户明细变动查询失败和购买套餐导致一系列BUG
修复不是超级管理员(Super)可以删除订单记录的问题,即管理员(Admin)删除订单记录
UI更新等其他优化

【V2.6.2】9月核心功能更新日志
新增MJ提交绘画,中文自动翻译英文功能
优化思维导图生成逻辑,防止只生成两级大纲
修复后台关闭签到功能,手机端仍然显示bug
【V2.6.1】9月核心功能更新日志
增加访客体验功能、可配置每日未登录使用额度、注册账号可同步访客使用数据
增加后台底部自定义配置版权信息
增加虎皮椒支付自定义网关
违规敏感词检测记录功能
【V2.6.0】8月核心功能更新日志
优化key池额度耗尽锁定逻辑
优化MJ绘画连接、优化CSS、部分页面样式修改
增加手机端签到领取免费次数功能、优化后台总计绘画数量逻辑
新增 MJ 官方图片重新生成指令功能
同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)
同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x

二、系统模块演示

https://ai.idcyli.com

三、系统功能模块

3.1 AI模型提问

支持GPT联网提问

3.2 Prompt应用

3.2.1 Prompt应用广场

3.2.2 支持前台自定义Prompt应用

3.3 Midjourney专业绘画

  • 支持同步官方图片重新生成指令

  • 同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)

  • 同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x

3.3.1 文生图

3.3.2 以图生图

3.4 Dall-E2绘画

3.5 Mind思维导图生成

3.6 AI画廊

四、SparkAi系统介绍

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

4.1 前台演示站点

系统演示站点:https://ai.idcyli.com

4.2演示后台站点

  1. 演示系统后台:Spark-AI

  2. 演示后台账号密码:admin,123456

4.3 SparkAi源码下载

  • SparkAi-点击下载(https://pan.baidu.com/s/1_jnAsU_aC_i_mWSjIfyQgw?pwd=vw0o)

4.4 系统文档

SparkAi系统文档 (https://www.yuque.com/yuqueyonghutq9yt2/egy0d0)icon-default.png?t=N7T8https://www.yuque.com/yuqueyonghutq9yt2/egy0d0

五、搭建部署教程

以下教程使用宝塔搭建!

5.1基础env环境配置

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

  • 授权码授权ip配置

  • 邮件服务配置

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

5.2 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
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
# 自定义端口
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 开启HTTPS安全访问

7.2.1 使用自己的ssl证书

7.2.2 Let's Encrypt 证书申请

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

7.3 上传源码

删除宝塔生成的默认文件

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

7.3.1 配置.env文件

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

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

7.3.2 确认node相关环境

此时再次打开终端确定我们需要是否有node相关环境

node -v
npm -v
pnpm -v

如果没有,就需要手动下载:

依次执行下面两条命令,安装node环境

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash - sudo yum install nodejs -y

然后安装 pnpm、pm2 模块

npm i pm2 pnpm -g

7.4 启动项目

7.4.1 开启端口

宝塔面板安全开启9520端口和3306端口

7.4.2 安装依赖

使用终端切换到网站目录

cd /www/wwwroot/网站目录

或者直接在网站根目录下达赖ssh终端

使用 pnpm i 命令安装依赖

pnpm i

7.4.3 启动项目

使用 pnpm start 命令启动项目

pnpm start

7.4.4 查看启动日志

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

pm2 log

7.4.5 添加反向代理

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

八、 使用系统

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

8.1 管理后台

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

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

默认超级管理员密码:spark123

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

8.2 修改超级管理员默认密码

登录后,请先修改超级管理员默认密码

8.3 搭建完成

配置好API KEY

九、后台配置&系统版本更新

9.1 后台配置&系统版本更新

系统配置教程和其他教程请直接点击博客首页查看。

9.1 系统更新

系统版本更新教程请前往博客原教程查看。

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

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

相关文章

苹果FindMy

随着科技的不断发展,人们的生活越来越离不开各种电子设备。然而,随着设备的增多,如何有效地管理和追踪这些设备成为了一个日益突出的问题。针对这一问题,苹果公司推出了一款名为“Find My”的应用程序,为全球的苹果用户…

Blender:渲染一个简单动画

接上 Blender:对模型着色_六月的翅膀的博客-CSDN博客 目标是做一个这种视频 先添加一个曲线,作为相机轨迹 然后添加一个相机 对相机添加物体约束,跟随路径,选择曲线,然后点击动画路径 假如对相机设置跟随路径后&…

新闻软文稿件媒体发布怎么做?纯干货

新闻软文稿件需要投放在正确的媒体上,才能获得更好的宣传推广效果,新闻软文稿件媒体发布怎么做?今天伯乐网络传媒就来给大家讲解一下,纯干货,建议收藏起来慢慢看。 一、媒体选择与分析 1. 确定目标媒体 在进行新闻软…

从物联网到万物互联:AI与6G融合,实现互联智能

物联网市场正在快速增长。它正在走进全球每一个家庭。据McKinsey预测,到2030年,全球物联网市场将达到12.6万亿美元。但是,如今,它已不再严格限于机器对机器(M2M)通信。 物联网(IoT)建立了一个网络,用于连接物理对象&am…

数据结构(一)—— 数据结构简介

文章目录 一、基本概念和术语?1.1、数据1.2、数据元素1.3、数据项(属性、字段)1.4、数据对象1.5、数据结构 二、逻辑结构和物理结构(存储结构)2.1、逻辑结构1、定义2、分类(线性结构和非线性结构&#xff0…

机器学习 Q-Learning

对马尔可夫奖励的理解 看的这个教程 公式:V(s) R(s) γ * V(s’) V(s) 代表当前状态 s 的价值。 R(s) 代表从状态 s 到下一个状态 s’ 执行某个动作后所获得的即时奖励。 γ 是折扣因子,它表示未来奖励的重要性,通常取值在 0 到 1 之间。…

程序员个性终端指南(cmder、powershell、window terminal)

序言 工欲善其事,必先利其器。对于 IT 从业者,命令行终端是一道绕不过的坎,日常开发、服务运维都要用到这个工具。 这里我介绍下从业多年来用过的 windwos 平台下终端工具。 CMD/命令行提示符 这个是 windows 自带的工具,平平无…

10.12按键中断

设置按键中断,按键1按下,LED亮,再按一次,灭 按键2按下,蜂鸣器响。再按一次,不响 按键3按下,风扇转,再按一次,风扇停 keyit.h: #ifndef __KEYIT_H__ #define __KEYIT_…

speech recognization

目标,在播放声音的时候,禁用掉麦克风 新建立一个文件夹,然后拖入vscode中 然后创建虚拟环境,vscode会自动帮我们创建虚拟环境,手动激活虚拟环境 source venv/bin/activate import speech_recognition as sr import …

免费使用Salesforce Data Cloud!详细操作步骤来啦

Data Cloud是Salesforce向市场推出的增长最快的产品,这对Salesforce来说是一个重要竞争优势。 近期,Salesforce宣布客户可以免费使用Data Cloud。这就是所谓的零美元SKU,换句话说,这是一条不会产生任何成本的Salesforce产品线。 …

云原生Kubernetes:K8S集群版本升级(v1.20.15 - v1.22.14)

目录 一、理论 1.K8S集群升级 2.集群概况 3.升级集群(v1.21.14) 4.验证集群(v1.21.14) 5.升级集群(v1.22.14) 6.验证集群 (v1.22.14) 二、实验 1.升级集群(v1.21.14) 2.验…

03在命令行环境中创建Maven版的Java工程,了解Java工程的目录结构并编写代码,执行Maven的构建命令

创建Maven版的Java工程 Maven工程的坐标 数学中使用x、y、z三个向量可以在空间中唯一的定位一个点, Maven中也可以使用groupId,artifactId,version三个向量在Maven的仓库中唯一的定位到一个jar包 groupId: 公司或组织域名的倒序, 通常也会加上项目名称代表公司或组织开发的一…

Pygame中将鼠标形状设置为图片2-1

在Pygame中利用Sprite类的派生类将鼠标形状设置为图片,其原理就是将Sprite类的派生类对应图片的位置设置为鼠标的当前位置即可。其效果如图1所示。 图1 将鼠标设置为图片 从图1可以看出,鼠标的形状变为红色的,该红色的随着鼠标的移动而移动&…

SQL:left join、right join 究竟什么区别?

1、SQL join 分三种 1)inner join(内连接,也叫等值连接) 显示两个表中有联系的所有数据,是默认方式。 2)cross join(交叉连接) 两个表格做笛卡尔积,显示的数据行数是…

LeetCode416 分割等和子集

题目: 、 分析: 因为分割的子数组,不连续;所以双指针、栈,一般不适用,分析起来很像是DP问题。 思路: https://www.imooc.com/article/300277 代码: //TODO 这题有难度

基于spring boot的多维分类的知识管理系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户管理 知识分类管理 知识信息管理 知识信息添加 用户功能实现 首页 知识信息 个人中心 我的收藏 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着国内市场经济这几十年来的蓬勃发展&…

Docker网络管理和数据管理

目录 Docker网络 Docker 网络实现原理 为容器创建端口映射 查看容器的输出和日志信息 Docker 的网络模式 查看docker网络列表 指定容器网络模式 网络模式详解 host模式 container模式 none模式 bridge模式 自定义网络 Docker数据管理 数据卷 数据卷容器 容器互联 Do…

【Leetcode】 406. 根据身高重建队列

假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 peopl…

TCP/IP(十三)滑动窗口

一 滑动窗口 通信双方要读懂对方的反馈信息,并进行调整 TCP滑动窗口原理终于清楚了 TCP Window Full 和 TCP Zero Window "特殊的场景" 1、TCP Window Full 是站在发送端角度说的特点: 表示发送端不能再发数据给对方,除非发送的数据包得到ACK响应2、…

求二叉树第K层的节点个数——递归

int BinaryTreeLevelKSize(BTNode* root, int k) {assert(k > 0);if (root NULL){return 0;}if (k 1){return 1;}return BinaryTreeLevelKSize(root->left, k - 1) BinaryTreeLevelKSize(root->right, k - 1); }