引言
拥有私人GPT并不是真正把GPT据为己有,而是让你能够在任何地方都能通过API的形式随时使用GPT。私人GPT目前也可以完美解决如下问题:
- 无需魔法即可使用,不限次数随意调用;
- 无需注册、登录,也无需国外账户支付购买;
- 经济实惠,仅为使用官方费用的2折~4折;
- 超级聚合,支持调用gpt、claude、gemini、midjourney多种大模型。
另外,自己部署GPT的方式相比于第三方部署的GPT类AI程序,有以下几方面独特的优势:
- 隐私性更好:数据最大程度保留在了自己手中;
- 费用更合理:仅API调用计费,无广告或隐藏的任何额外费用;
- 更快更稳定:独享专线,速度更快,不受第三方程序牵制,稳定性更好。
目前来看,满足以上7大特点,chatgpt-web-midjourney-proxy是作为私人GPT程序的最佳实践方案。至于其程序功能的介绍,请阅读前期文章《GPT-4 / Midjourney / GPTs,普通人如何用一套程序全搞定》。
本程序对大部分人来说,可能有一定学习门槛,很多人问过我如何搭建,鉴于此,本文依托程序作者发布在github上的原部署教程为基础,着重延伸补充说明该程序的Docker版本完整部署步骤和细节,让更多人能够少走弯路,顺利安装和部署成功私人GPT,不文主要讲部署,不会过多涉及其功能介绍。
需求描述
使用chatgpt-web-midjourney-proxy搭建私人GPT,我们期望通过自己的努力,实现如下目标:
- 个人即可搭建:无需复杂“备案”类审查手续;
- 内容可更改:程序内容可自由更改而不是必须使用作者给的Docker固定镜像内容;
- 全功能可用:聊天、绘图、GPTs、识图、语音、上传文件等;
条件准备
需要完成本部署,至少需要具备如下条件:
- 一个可用域名:推荐在阿里云购买,解析过程简单方便,阿里云购买地址>>;
- 一台香港服务器:这是无需备案的关键,推荐购买有回大陆CN2专线的服务器,这里还是推荐购买阿里云香港服务器;
- 一个GPT的API:本站长期提供稳定API服务,7*24h购买地址>>
注意,以下部署步骤,会按照推荐方式操作,如果你采用的不是推荐方式,请自行判断,并对应调整即可。
部署步骤
1、购买域名和服务器
点击这里>>访问阿里云,登录并按照提示步骤完成域名的购买与实名制。完成域名购买后,找到阿里云香港轻量应用服务器,因为一直处于爆火状态,官方限量发售,所以这里推荐在凌晨12点后,再购买34元/月的2-2轻量应用服务器,一般购买成功率在这个时间段会高很多。
香港服务器因为性价比很高,所以一般很难找到入口,具体位置详见图示:
完成域名和服务器购买后,即可进入下一步。
2、宝塔的安装
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后,根据获得的宝塔登录面板地址和信息,登录宝塔面板:
宝塔面板用到的端口,请在登录前,去服务器防火墙(VPS叫防火墙,ECS叫安全组)中放行:
输入宝塔面板的账号和密码,登录宝塔面板,并绑定自己的宝塔账号(这个账号自行去宝塔官网免费注册一个即可)。
如果你没有绑定过ssl,大概率会遇到这个页面,不用慌,直接点“高级”→“继续前往”即可:
登录宝塔后,需安装如下几个应用(搭建环境,注意,php非必需安装,我只是习惯性安装了php,便于其它程序使用):
至此,服务器环境已搭建完成,可以开始程序安装之旅了!
3、程序修改
部署该程序,难免会有些小小的改动,比如头像更换、默认图标更换、标题文字更改等,如果我们直接使用作者提供的最新镜像,会无法满足我们的修改要求。
这里提供一种既可以修改内容又可以docker部署的思路:因为作者的dockerfile已经整理好,所以我们可以在程序修改完后自行打包镜像并部署即可。
首先,我们先将作者的程序代码打包下载至本地电脑,作者仓库地址>> 并通过VScode的全局查找命令%xx来查询相关内容并修改(注意这里需要一点代码基础,把文字内容原样替换,不要输入多余符号或空格,避免改乱了)。
此处列举了两个常用的修改文件清单(经过一定版本的迭代,大部分用户经常更改的内容已被作者放入了环境变量,比如自定义模型、主题默认颜色等,此处不再赘述):
第二步,将修改完成的代码打包成zip并通过宝塔面板上传到服务器文件www/wwwroot目录下并解压,解压完成后的文件目录应该是类似于www/wwwroot/chatgpt-web-midjourney这样。
建议:因为Vercel部署非常快,所以修改完成后的程序,建议可以先上传自己的仓库,并通过Vercel快速部署一遍,检查一下是否达到预想效果(至于如何clone代码仓库并同步至github,自行百度或参考我早期文章《Github中clone仓库项目的版本更新方法(非fork)》)。
下面我们cd到该程序目录下并构建新docker镜像(如果你的文件名不是chatgpt-web-midjourney,请对应修改cd命令),并且假如我构建的镜像名字起名为chatgpt2024:
cd www/wwwroot/chatgpt-web-midjourney
docker build -t chatgpt2024 .
docker run --name chatgpt-web-midjourney-proxy -d -p 6015:3002 \
-e OPENAI_API_KEY=sk-xxxxx \
-e OPENAI_API_BASE_URL=https://api.juheai.top \
-e MJ_SERVER=https://api.juheai.top \
-e API_UPLOADER=1 -v /data/uploads:/app/uploads \
-e UPLOAD_TYPE=Container \
-e SYS_THEME=light \
-e UPLOAD_IMG_SIZE=10 \
-e CUSTOM_MODELS=gpt-4-all kokomi \
-e MJ_API_SECRET=sk-xxxxx chatgpt2024
以上命令翻译成大白话如下,你不需要某条对应删除即可:
- 端口用我们服务器的6015托管映射3002(所以我们防火墙得开一下6015端口);
- 设置购买的api-key,不能为空,但是可以是错的,后面可以在程序服务端设置;
- 设置OpenAI接口地址;
- 设置MJ接口地址(同上);
- 支持上传文件,并且走服务器存储;
- 系统主题默认是明亮型;
- 图片上传最大支持10MB;
- 自定义模型新增两个:gpt-4-all和kokomi;
- MJ的api-key(就是第2条购买的key,再填一遍)。
第四步,通过服务器IP+端口的形式访问程序,看看是否正常启动,正常启动后的程序如下图。然后我们将阿里云购买的域名下某个子域名( www.aaa.com)解析至本服务器IP,等待解析生效:
解析生效后,请在宝塔面板 → 网站 → PHP项目中,新增该网址,设定如下:
为网站添加ssl证书并反向代理程序IP+端口访问地址:
至此,恭喜你的网站搭建完成,从此你拥有了属于自己的私人GPT!
总结
本程序具备与AI大模型对话、绘图、联网、识图、上传文件等多种功能,是我们日常学习和办公中不可或缺的最为全面的一款AI程序,对于一般使用者,一个月不到60块的价格(含域名、服务器、API费用)也能够在大部分人的承受范围之内。通过此方法,不只是能够满足个人使用,为自己所在企业或身边的朋友/同学搭建共同使用也绰绰有余了。