之前给大家推荐了一个带用户中心的ChatGPT Web 的源码,秉着学习的原则,我研究了一下它的安装,下面说一下安装的过程和碰到的问题。
没看过之前文章的,可以点击先看看
【开源推荐】Express和Vue3开发的ChatGPT Web带用户中心 源码 可二开
安装方法
首先是mongodb的安装(大家查找资料即可),这个系统使用的是mongodb作为存储的数据库,要注意一点是,创建的数据库和用户名都为 chatgpt,因为作者写死了这两部分,否则会报链接不上的错误。
程序安装
Node
node 需要 ^16 || ^18 || ^19 版本(node >= 14 需要安装 fetch polyfill),使用 nvm 可管理本地多个 node 版本
PNPM
若你没有安装过 pnpm
npm install pnpm -g
后端
进入文件夹 /service 运行以下命令
pnpm install
前端
根目录下运行以下命令
pnpm bootstrap
测试环境运行
后端服务
进入文件夹 /service 运行以下命令
pnpm start
前端网页
根目录下运行以下命令
pnpm dev
环境变量配置
进入 service 目录
# service/.env 打开文件,若无,请将 .env.example 复制后改为 .env,添加以下环境变量
# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY= 'sk-J3ZM'
# OpenAI API Base URL - https://api.openai.com
OPENAI_API_BASE_URL= http://api.openai.com
# OpenAI API Model - https://platform.openai.com/docs/models
OPENAI_API_MODEL='gpt-3.5-turbo'
# timeout
TIMEOUT_MS=100000
# set `true` to disable OpenAI API debug log
OPENAI_API_DISABLE_DEBUG=
# Rate Limit
MAX_REQUEST_PER_HOUR=
# Auth Rate Limit
AUTH_MAX_REQUEST_PER_MINUTE=5
# Title for site
SITE_TITLE="ChatGpt Web"
# Databse connection string
# MONGODB_URL=mongodb://chatgpt:xxxx@yourip:port
MONGODB_URL=mongodb://chatgpt:123456@127.0.0.1:27017/chatgpt
# Secret key for jwt
# If not empty, will need login
AUTH_SECRET_KEY='qwer123df'
# ----- Only valid after setting AUTH_SECRET_KEY begin ----
# The roon user only email
ROOT_USER='123456@qq.com'
# Password salt 必须填写
PASSWORD_MD5_SALT='123'
# Allow anyone register, Must be turned on, otherwise administrators cannot register, can be turned off later.
REGISTER_ENABLED=true
#发邮件设置
SMTP_HOST='smtp.qq.com'
SMTP_PORT=465
SMTP_TSL=true
SMTP_USERNAME='123456@qq.com'
SMTP_PASSWORD='123456'
上线配置
后端服务打包
复制 service 文件夹到你有 node 服务环境的服务器上。
# 安装
pnpm install
# 打包
pnpm build
# 运行
pnpm prod
PS: 不进行打包,直接在服务器上运行 pnpm start 也可
前端网页
1、修改根目录下 .env 文件中的 VITE_GLOB_API_URL 为你的实际后端接口地址
2、根目录下运行以下命令,然后将 dist 文件夹内的文件复制到你网站服务的根目录下
pnpm build
最后前端打包后生成dist文件夹,然后将 nginx 的配置指到此文件夹即可。
特别技巧
若是想要不用chatgpt的用户名和数据库名,那么需要更改 service/src/storage/mongo.ts下的代码
const dbName = (parsedUrl.pathname && parsedUrl.pathname !== '/') ? parsedUrl.pathname.substring(1) : 'chatgpt'
将chatgpt改为你自定义的数据库名称。
还有一个更好的方法,配置文件中写上数据库(官方给的文档没写)
# MONGODB_URL=mongodb://用户名:密码@链接地址:端口/数据库名称
MONGODB_URL=mongodb://chatgpt:123456@127.0.0.1:27017/chatgpt
很多报错基本都是数据库链接错误,写仔细点不会有问题的。
429问题
估计作者的轮询Key有问题,当你把key填写上后,很快就报429了。
到此就可以将整个项目跑起来了,429的问题,回头看看改改。
扫码或搜索:PHP学习网 微信公众号
发送 T
刷新页面 即可 立即解锁 本站全部文章