8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
AI干货
开源AI助手Chat-Plus部署教程 AI源码和程序
xiaoniu 1月前 265
Chat-Plus 是基于 AI 大语言模型 API 实现的 AI 助手的全套开源解决方案,自带运营管理后台和支付功能,开箱即用。系统有用户鉴权,你可以自己使用,也可以部署直接给 C 端用户提供 ChatGPT 的服务。集成了 OpenAI, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。并集成了 MidJourney 和 Stable Diffusion AI绘画功能。
项目开源:https://github.com/yangjian102621/chatgpt-plus

#功能特性

  1. 全套系统完全开源,没有收费版,前端应用和后台管理系统皆可开箱即用。
  2. 支持GPT、文心一言、ChatGLM、讯飞星火等众多大语言模型。
  3. 支持在对话窗口中使用 Dall.E 和 MidJourney 画图,自动从 prompt 中提取作图参数。
  4. 支持 Midjourney 高级绘图模式,可以传入各种高级的绘图参数,支持作图、选图、变换、垫图等功能。
  5. 支持 Stable Diffusion 高级绘图模式,兼容官方,秋叶整合包等各种不同的 Stable Diffusion 版本 API。
  6. 消息内容支持markdown输出,图片自动识别,代码高亮等。
  7. 支持 GPT-3.5,GPT-4,文心3.0,文心4.0 等各种语言模型切换,并可以自定义个各种模型参数,如创意度,最大 tokens 等。
  8. 内置了各种预训练好的角色应用(提示词模板),比如小红书写手,英语翻译大师,苏格拉底,孔子,乔布斯,周报助手等。
    轻松满足用户的各种聊天和应用需求。
  9. 支持使用个人微信二维码作为充值收费的支付渠道,个人开发者首选。
  10. 支持会员充值和点卡充值功能,已集成支付宝支付渠道,企业开发者首选。
  11. 支持修改对话标题,对话搜索,角色搜索等功能。
  12. 支持聊天记录的删除和导出功能。
  13. 支持使用自己的 API KEY,不充值也能一直免费使用。

文档网址https://ai.r9it.com/docs

演示网址:https://ai.r9it.com

项目部署

 

作者提供并推荐docker部署方式,部署简单快捷,对于零基础或者试用需求推荐使用此方式进行部署。
因为比较简单,本文对docker部署不进行详细讲解,可以参考官方文档。

文档网址https://ai.r9it.com/docs/install/

 

果需要对项目源码进行修改,或者部署环境需要自定义,就需要采用编译部署方式,编译部署过程比较复杂,需要有一定技术基础,本文主要讲解此方式的过程。

 

  • 基础环境
本机:
windows 10
Golang v1.19.13
Node v18.16

服务器:

Ubuntu-22.04 或centos 7.9 
宝塔面板
Nginx 1.24.0
MySQL 8.0.24
phpMyAdmin 5.0
PHP-7.2.33
Redis 6.2.7
基础环境的安装配置,请参考本公众号内其他文章或自行搜索教程
  • 编译项目,在后台发送chatplus获取编译文件
1.1 下载源码

国内 gitee  

https://gitee.com/blackfox/chatgpt-plus

国外 github:  

https://github.com/yangjian102621/chatgpt-plus

选择打包下载源码的方式,下载zip并解压到本地电脑备用

1.2 编译后端
需要已安装Go语言环境,编译过程中从国外网站下载依赖包会很慢,并容易出错,建议把包源切换到国内镜像 
 SETX GO111MODULE on    
 go env -w GOPROXY=https://goproxy.cn,direct
 SETX GOPROXY https://goproxy.cn,direct
运行cmd命令行窗口 并执行以下命令
cd \chatgpt-plus-main\api
set GOARCH=amd64
set GOOS=linux
go build -o bin/chatgpt_linux main.go
下载依赖包需要一些时间,经过耐心等待后获得后端执行文件api\bin\chatgpt_linux 
1.3 编译前端文件
前端编译同样涉及到国外包源下载慢或失败的情况,建议先切换包源到国内,或安装 cnpm
npm install -g cnpm
执行如下命令
cd \chatgpt-plus-main\web
cnpm install
cnpm run build
 
获得编译后的前端文件目录 web\dist 

 

本人在编译过程中报错,说没找到 webpack

 
经过全局重装webpack后解决,命令如下:
cnpm uninstall webpack-dev-server
cnpm install --save-dev webpack
至此,本机的编译工作完成,开始服务器上的操作。
2.1 创建数据库
通过宝塔面板新建数据库,并记下用户名/密码
 

 

在数据库页面启动phpMyAdmin ,使用新建的数据库用户名密码登录

选择顶部导入功能,并选择对应的SQL文件
SQL文件在源码的database目录下,根据当前版本选择,我们这里是3.2.6版本,所以使用chatgpt_plus-v3.2.6.sql文件
执行成功后,可以看到新数据库中的初始数据表了

 

2.2 编辑后端配置文件
编辑api\config.sample.toml 修改以下内容,并另存为 config.toml
Listen = "0.0.0.0:5678"  #端口根据自己需要替换,需要和宝塔网站设置相同
ProxyURL = "" # 如 http://127.0.0.1:7777
MysqlDns = "chatgpt_plus:khsmmkY4d5phNbRZ@tcp(127.0.0.1:3306)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local"
# 数据库用户名:数据库密码@数据库地址/数据库名   从宝塔面板内获得以上信息
StaticDir = "./static" # 静态资源的目录
StaticUrl = "/static" # 静态资源访问 URL
AesEncryptKey = ""
WeChatBot = false
[Session]
  SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" 
  # 注意:这个是 JWT Token 授权密钥,生产环境请务必更换
  MaxAge = 86400

[Manager]
  Username = "admin"
  Password = "123456" # 如果是生产环境的话,这里管理员的密码记得修改

[Redis] # redis 配置信息   默认情况可以不用修改
  Host = "localhost"
  Port = 6379
  Password = ""
  DB = 0
 
其他配置项请根据自己的需要自行配置
2.3 上传至服务器
通过宝塔面板 -文件 在服务器 /www/wwwroot   目录下新建文件夹chat_front 和  chat_back 

 

将本地  web\dist 目录所有文件上传至chat_front 

 

api\bin\chatgpt_linuxapi\config.toml上传至 chat_back 

 

2.4 试运行后端程序
通过宝塔面板-终端,或者其他远程工具,执行如下命令
cd /www/wwwroot/chat_back
./chatgpt_linux
正常运行界面如图:

 

 
如果报错,根据错误信息调整配置文件参数,直至正常运行。
试运行成功后,Ctrl+C终止或直接关闭终端窗口。
3.1 前端部署
在宝塔面板-网站-PHP项目中,按下图创建网站,域名修改为自己的域名或者IP

 

3.2 后端部署
在宝塔面板-网站-GO项目中,按下图创建项目

 

3.3 nginx配置
在前端项目选择  配置-配置文件,根据自身实际情况添加/修改以下内容

#开通websocket支持
map $http_upgrade $connection_upgrade {
default upgrade;
'websocket' upgrade;
}

server
{
    listen 80;
    server_name 192.168.10.128 ai.r9it.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/chat_front;
    
    location / {
          try_files $uri $uri/ /index.html;

      # 后端 API 的转发
          location /api/ {
          proxy_http_version 1.1;
          proxy_connect_timeout 300s;
          proxy_read_timeout 300s;
          proxy_send_timeout 12s;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection $connection_upgrade;
          proxy_pass http://127.0.0.1:5678;
          }

      # 静态资源转发
          location /static/ {
          proxy_pass http://127.0.0.1:5678;
          }
    }
}

 
3.4 杂项工作
  • 放开防火墙
    宝塔面板-安全页面,检查前端的端口80/443/自定义接口 是否开放
    大厂商的云服务器,检查安全组设置中对应端口是否放开
  • 域名解析
    如果配置了域名,前往域名管理后台配置解析,并等待生效
    国内服务器需要进行域名备案
  • Https配置
    宝塔内置了免费的SSL证书,有需要可以在前端项目-配置中进行操作
 
3.5 外部访问
到现在可以尝试访问前端网址,如果运气好 ,现在可以正常看到登录页面了 
输入默认用户名密码: 18575670125/12345678

 

完成  撒花!
 
后续还要对AI接口、系统参数进行逐项配置,此部分不属于本文内容,就不在这里展开了,有需要的同学可以在公众号后台留言交流。

- END -

 

最后于 28天前 被AI助手编辑 ,原因:
广告图片

AI飞升社区 aifeisheng.com

本站为AI驱动,部分内容由AI大模型生成,不代表本站观点.

XiunoBBSWin95