在大陆访问ChatGPT一直是一个难题。当然会的人轻而易举就可以使用,不会的小白只能等着被圈钱。。。。。。即便是会的人,偶尔做个演示或者不在自己经常工作的环境下想要使用便是难上加难了。而ChatGPT在工作学习上带给我们的方便不言而喻,因此搭建一款ChatGPT镜像站是十分有必要的!
下面就介绍一款有GitHub大佬用typescript/next.js开发的一套开源chatgpt镜像站程序,最主要的是开源且免费,不仅好用还能学习大佬的代码。
虽然大佬的程序在GitHub上提供了vercel的部署方式,但是把自己的网站部署到别人的东西上对某些强迫症来说简直就是灭顶之灾!而且部署到vercel大陆访问速度不是很理想,而且修改起来也比较麻烦,那么就需要我们把大佬的程序部署到自己的服务器上了!我在网上找了一些资料,发现相关的教程比较少。考虑到宝塔的用户很多(不得不说宝塔是真的好用,免费版就已经相当强大了),管理起来也比较方便,下面就出一期宝塔部署chatgpt-next-web的教程。
首先需要准备一台云服务器(最好是美国的),推荐来速云https://www.r0e.cn/,九块钱就能搞定。
其次需要一枚域名(可选,没有的去bing免费二级域名分发)以及你聪明的脑袋瓜即可!
nginx/apach
docker,docker-compose
这些直接在宝塔找到对应的软件选择安装即可!
首先打开docker-镜像,点击从仓库中拉取
2.输入
yidadaa/chatgpt-next-web
然后稍微等一会就自动拉取好了!
3.点击docker-容器-添加容器,在弹出的窗口中
容器名随便填写
暴露端口中容器端口必须填写3000!服务器端口最好填写一个不常用的端口,如3001,3002或者一万开外。填写完毕后记得点右面的小加号。
限制CPU推荐两个及以上,限制内存推荐1000MB及以上,不然搭建好的项目可能过一会儿就不能访问了.
除上面提到的其他选项不填即可!!!
4.访问服务器IP地址+端口,我们可以看到这个时候就已经可以访问了!大功告成!
5.当然,自用的话到这里就结束了,我们可以填写自己的API KAY使用了
。
6.当然以上只是粗糙的搭建,即以最简单的方式搭建成功,不然辛辛苦苦弄了半天结果却访问不了,那简直就是天煞的孽畜,太折磨小白了…我们接下来还要设置一下其他的环境变量。
如果上面的步骤没有任何问题,那么恭喜你你已经成功了!由于本程序没有数据库,也没啥重要的东西需要保存,所有我们直接新启动一个容器,在最下面填写你需要的环境变量即可!
OPENAI_API_KEY
(必填项)-(官方写的是必填项,然而实际上我们不填写依旧可以在访问前台的时候自行填入!可能大佬肝完这个项目太累了没有考虑到)OpanAI 密钥,你在 openai 账户页面申请的 api key,使用英文逗号隔开多个 key,这样可以随机轮询这些 key。
CODE
(可选)访问密码,可选,可以使用逗号隔开多个密码。
警告:如果不填写此项,则任何人都可以直接使用你部署后的网站,可能会导致你的 token 被急速消耗完毕,建议填写此选项。
BASE_URL
(可选)Default:
https://api.openai.com
Examples:
http://your-openai-proxy.com
OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填写此选项。
如果遇到 ssl 证书问题,请将
BASE_URL
的协议设置为 http。
OPENAI_ORG_ID
(可选)指定 OpenAI 中的组织 ID。
AZURE_URL
(可选)形如:https://{azure-resource-url}/openai/deployments/{deploy-name}
Azure 部署地址。
AZURE_API_KEY
(可选)Azure 密钥。
AZURE_API_VERSION
(可选)Azure Api 版本,你可以在这里找到:Azure 文档。
HIDE_USER_API_KEY
(可选)如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。
DISABLE_GPT4
(可选)如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。
ENABLE_BALANCE_QUERY
(可选)如果你想启用余额查询功能,将此环境变量设置为 1 即可。
DISABLE_FAST_LINK
(可选)如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可。
CUSTOM_MODELS
(可选)示例:
+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo
表示增加qwen-7b-chat
和glm-6b
到模型列表,而从列表中删除gpt-3.5-turbo
,并将gpt-4-1106-preview
模型名字展示为gpt-4-turbo
。 如果你想先禁用所有模型,再启用指定模型,可以使用-all,+gpt-3.5-turbo
,则表示仅启用gpt-3.5-turbo
用来控制模型列表,使用 +
增加一个模型,使用 -
来隐藏一个模型,使用 模型名=展示名
来自定义模型的展示名,用英文逗号隔开。
7.运营以及域名访问
如果我们想用这个程序引流,可以把OPENAI_API_KEY
填写好,并且不设置CODE
变量,最后配合一个纯HTML即可!
如果要使用域名访问,则需要使用反向代理,将域名代理到服务器ip:端口号即可!
https://chat.nbfnk.fun/
一只大神棍 2023-10-08