共计 1779 个字符,预计需要花费 5 分钟才能阅读完成。
本篇文章将简单介绍下如何搭建一个私人的ChatGPT网站,规避GFW,支持国内/外直接部署。
免责声明
本人爱党爱国,是一位坚定的马克思主义者和社会主义支持者,本篇文章所涉及的内容仅学习学习与研究使用,任何人通过本文章的内容所造成的法律纠纷问题,本人均不负责。具体请参考2023年8月15日起施行的《生成式人工智能服务管理暂行办法》。
准备工作
- Debian 发行版Linux服务器
- OpenAI Key
- 成功解析到服务器的域名
- 远程连接工具,本篇文章以Xshell为例
- ChatGPT 代理API(国内部署必须)
技术栈
参考开源项目ChatGPT-Next-Web,本篇文章以我修改后的Docker镜像为例,网站效果。
利用Docker对ChatGPT-Next-Web项目进行容器化部署,使用Nginx反代容器端口实现域名绑定和访问。
步骤
一、安装Docker
Debian可以直接使用Docker官方提供的安装脚本安装Docker,依次执行下面两行代码即可:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
待脚本执行完成后,执行下面的指令查看Docker是否安装完成:
docker -v
二、拉取镜像
若正常显示Docker版本信息,就可以执行下述代码拉取镜像:
docker pull ningning0111/chat-web:latest
上述镜像是我对原项目简化后构建的,想要原生态的,可以执行下述代码:
docker pull yidadaa/chatgpt-next-web
三、部署容器
在拉取镜像后,就可以通过镜像部署容器,以我的镜像为例,介绍一下相关参数:
-
OPENAI_API_KEY
(必填项):OpanAI 密钥,你在 openai 账户页面申请的 api key。 -
CODE
(可选):访问密码,可选,可以使用逗号隔开多个密码。 -
BASE_URL
(可选):你的代理接口,国内部署需要。默认为官方接口:https://api.openai.com
执行下述Docker指令即可部署容器:
docker run -d -p 访问端口:3000 -e OPENAI_API_KEY="你的官方Key" -e CODE="访问密码" -e BASE_URL="代理接口" ningning0111/chat-web
简化版如下:
docker run -d -p 访问端口:3000 -e OPENAI_API_KEY="你的官方Key" ningning0111/chat-web
为了通过Nginx反向代理将域名代理到该容器上,访问端口就不设置为80了,通常80端口也不是这么随意用的,当然如果这个看自己喜好吧。这里以国内部署为例,提供国内代理接口,参考我的这一篇文章。
docker run -d -p 3000:3000 -e OPENAI_API_KEY="你的官方Key" -e BASE_URL="https://chatapi.mnzdna.xyz" ningning0111/chat-web
容器部署完成后,可以尝试通过浏览器访问服务器IP:3000
。
若对话响应的是一串代码而非正常内容,请确定你的Key是否有效。若无法访问到页面,请确定防火墙是否放开了访问端口。具体请参考这一篇文章。
四、安装Nginx
Nginx安装通过运行下述指令,选择y即可:
apt install nginx
放开80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
浏览器输入服务器IP
访问
五、配置Nginx信息
进入到/etc/nginx
目录,将nginx.conf
里的内容清空,填写下面配置信息:
http {
include mime.types;
server {
listen 80;
server_name 成功解析到本机的域名;
location / {
proxy_pass http://localhost:3000;
}
}
}
events {}
执行下述指令重新加载Nginx服务:
nginx -s reload
然后在浏览器中输入域名进行访问:
至此,一个私人化的ChatGPT网站搭建完成。
其它
整个流程最重要的就是OpenAI Key,没有Key就无法使用ChatGPT对话。因此对于想部署一个独立的ChatGPT网站,就需要准备好Key,有一个Key的渠道。