AI创作系统ChatGPT源码+AI绘画系统+支持OpenAI DALL-E3文生图,可直接对话文生图

一、AI创作系统

SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。新增支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型,新增支持OpenAI DALL-E3文生图插件,可直接对话文生图。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统!

《SparkAi系统详情及搭建部署文档》:

https://www.yuque.com/yuqueyonghutq9yt2/egy0d0?# https://www.yuque.com/yuqueyonghutq9yt2/egy0d0?# 

AI模型提问

AI绘画

新增Midjourney局部重绘(Vary Region)在线编辑功能

DALL-E3文生图

新增支持OpenAI DALL-E3文生图插件,可直接对话文生图

二、程序核心功能

2.1 核心模块

已支持OpenAI GPT全模型+国内AI全模型+Midjourney绘画池系统。

  1. AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问

  2. 已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言,支持百度文心4.0版本、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型等、新增支持讯飞星火认知大模型V3.0版本、新增支持腾讯混元大模型

  3. AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画

  4. 新增 Midjourney绘画账号池系统,可实现万级用户高并发

  5. 支持Midjourney局部重绘(Vary Region)

  6. 微信公众号+邮箱+手机号注册登录

  7. 一键智能思维导图生成

  8. 应用广场知识库,支持用户前台自定义添加私密或共享

  9. AI绘画广场(画廊)

  10. 邀请+代理分销模式

  11. 用户每日签到功能

  12. 会话记录同步保存

  13. 支持对接微信官方支付、易支付、码支付、虎皮椒支付等

  14. 其他核心功能

2.2 更新日志

SparkAi最近大版本更新日志:

SparkAi【V3.0】版本已上线!

SparkAi【V3.2.0】版本已上线!
【V3.2.0】更新功能(2023.11.13更新)
1.新增支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型(后续支持对话识图功能)
2.新增支持最新OpenAI GPT-3.5-Turbo-1106、GPT-4-1106-Preview模型
3.新增支持对话插件系统,后续逐步增加插件功能,扩展AI能力
4.新增支持OpenAI DALL-E3文生图插件,可直接对话文生图,搭配GPT4-Turbo使用(官网20231107发布)
5.新增KEY支持单独配置消耗费率,比如GPT4-32K比GPT4成本更高应该消耗更多的额度次数
6.新增后台配置指定用户端默认使用大模型

三、系统演示

演示系统

SparkAi官方演示站:
https://ai.sparkaigf.com
管理后端:

https://ai.sparkaigf.com/sparkai/admin​​​​​​​

测试账号:admin、123456

如不能访问请查看《SparkAi系统详情及搭建部署文档》获取最新地址。

四、搭建部署教程

以下教程使用宝塔面板搭建

4.1 基础env环境配置

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

  • 授权码授权ip配置

  • 邮件服务配置

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

4.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=
REDIS_DB=0# jwt token
JWT_SECRET=chat-spark
# jwt token 过期时间
JWT_EXPIRESIN=7d
# 接口文档前缀
SWAGGERPREFIX=/docs
# 自定义端口
PORT=9520

五、环境安装

前置条件:

  1. 国内或者海外服务器均可,最低配置2H2G起,建议2H4G甚至更高

  2. 宝塔安装成功

所需环境:

  • Nginx >= 1.19.8

  • MySQL >= 5.7 或 MySQL 8.0

  • PHP-7.4(非必须)

  • PM2管理器 >=5.5

  • Redis 7.0.11

  • Node版本:>=16.19.1

a871d1741c2f41d6b958c77125d5a594.png

5.1 Node版本

使用PM2切换Node版本(必须)

  • 切换Node版本为:v16.19.1

7b024939978343ac914baaa8d8619ec8.png

5.2 安装pnpm模块

729df29b970c42c99ad10721f69576dd.png

5.3 安装Redis

1a92226e7d31465b85933c1865a8ef16.png

六、部署跑起来

6.1 新建站点

进入宝塔 - > 网站 ->  添加站点

a5aea0d49b5849478ea952c6c02c9dd4.png

6.2 开启HTTPS

6.2.1使用自己的ssl证书

4e5674802d0c4565a92fff88d3f5689a.png

6.2.2 Let's Encrypt 证书申请

如果没有证书,就使用宝塔免费证书,申请 Let's Encrypt

c9dac158301845aaaa56a694a4918daa.png

6.3 上传系统源码

删除宝塔创建站点生成的原始文件

ea67a0be19334bfd856c207bbd0e7d05.png

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

90f75159cf434e529e387e7242b9af4c.png

6.3.1 配置.env文件

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

c10615067c0c43a5b101633569d7eefa.png

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

37b24e036b2f4330bcab4b0567f9b3b2.png

6.3.2 检查验证Node环境

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

node -v
npm -v
pnpm -v

eaa6adb3f4cc4a939f3471b3f99ab527.png

6.4 启动项目

6.4.1 开启端口

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

5b8b549759f8485eb34b4bb696a47275.png

6.4.2 安装依赖

使用终端切换到网站目录

cd /www/wwwroot/网站目录

或直接在网站根目录下输入ssh终端

使用 pnpm i 命令安装依赖

pnpm i

8cda7727b56a4e849854d052d7d038f6.png

6.4.3 启动项目

使用 pnpm start 命令启动项目

pnpm start

b3cce39f6eb14570bd9cae6a58e8e745.png

6.4.4 查看启动日志

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

pm2 log

325148f6c03d410bbeb73d21876137cf.png

6.4.5 添加反向代理

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

b2e1b0b53c7c48c0b8d696312b17eaf7.png

七、使用系统

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

7.1 管理后台

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

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

813255c76c9d460fb9ceaaa0dfbe747b.png

此时我们就安装完成了

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

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

7.3 搭建完成

bed50f3d47a54c5eaa5061972410741f.png

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

8.1 后台配置

系统配置教程和其他教程请前往系统详情部署文档或博客原教程。

https://www.idcyli.com

8.2 系统版本更新

系统版本更新教程请前往系统详情部署文档或博客原教程。

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

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

相关文章

学Diffusion前需要储备的一些知识点

自学Diffusion是非常困难的,尤其是到了VAE和VI这里基本找不到比较好的中文资料,甚至是涉及到一些重参数化,高斯混合之类的问题摸不着来龙去脉。在本文中,基本不会涉及公式,只有intuition和理解,如果要看公式…

正点原子嵌入式linux驱动开发——Linux ADC驱动

在之前的笔记中,学习了如何给ICM20608编写IIO驱动,ICM20608本质就是ADC,因此纯粹的ADC驱动也是IIO驱动框架的。本章就学习一下如何使用STM32MP1内部的ADC,并且在学习巩固一下IIO驱动。 ADC简介 ADC ADC,Analog to D…

C/C++调试工具 - gdb详解

C/C调试工具 -gdb详解 1 简介 2 常用的命令 3 使用的条件 4 程序调试 4.1 直接运行程序 4.2 断点调试(在某一行) 4.3 断点调试(在函数入口处打断点) 5 调试core文件 5.1 生成core文件的方法 5.2 调试core文件 1 简介 GDB是Linux下非常好用且强大的调试工具。GD…

提升代码复用性:探讨Mixin类在面向对象语言中的独特作用和优势

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、m…

Spring 只用一招,就摆脱被垃圾回收的命运,拯救了自己

SpringBoot ApplicationContext 会被 JVM 当成垃圾对象,然后回收掉吗? 最近五阳哥在复习JVM 垃圾回收的知识,被别人问到这个问题,我心里感到一惊,如果Spring 被回收掉,Spring管理的bean全部会被回收&#…

Linux系统简介与开源精神

🎥 屿小夏 : 个人主页 🔥个人专栏 : Linux系统理论 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言🌤️Linux系统背景☁️UNIX发展史☁️Linux发展史☁️Linux系统企业应用现…

TDengine 与煤科院五大系统实现兼容性互认,助力煤矿智能化安全体系搭建

近日,涛思数据与煤炭科学技术研究院(以下简称煤科院)已完成数个产品兼容互认证工作,经双方共同严格测试,涛思数据旗下物联网、工业大数据平台 TDengine V3.X 与煤炭科学技术研究院旗下煤矿复合灾害监测监控预警系统、煤…

LeetCode算法心得——高级访客(模拟枚举+小窗口)

大家好,我是晴天学长,今天的周赛第二题,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .高级访客 给你一个长度为 n 、下标从 0 开始的二维字符串数组 access_times 。对于每个 …

μC/OS-II---计时器管理1(os_tmr.c)

目录 创建一个计时器重新启动一个计时器停止一个计时器删除一个计时器 计时器是倒计时器,当计数器达到零时执行某个动作。用户通过回调函数提供这个动作。回调函数是用户声明的函数,在计时器到期时被调用。在回调函数中绝对不能进行阻塞调用(…

Ansible playbook详解

playbook是ansible用于配置,部署,和被管理被控节点的剧本 playbook常用的YMAL格式:(文件名称以 .yml结尾) 1、文件的第一行应该以 "---" (三个连字符)开始,表明YMAL文件的开始。    2、在同一…

原型制作神器ProtoPie的使用Unity与网页跨端交互

什么是ProtoPie? ProtoPie是一款面向设计师的软件原型设计工具,例如制作App界面交互展示,制作好的原型可以一键发布到Web服务器,就可以浏览器访问。由于其内置了大量常用交互类型,以及"程序化"模块&#xf…

hash算法

一、Hash散列算法介绍 1.引言 每个人在这个社会上生存,都会有一个属于自己的标记,用于区分不同的个体。通常使用名字就可以了。但是一个名字也并不能完全表示一个人,因为重名的人很多。所以我们可以使用一个身份证号或者指纹来表示独一无二…