ChatGPT部署笔记
由于根据8月施行的《生成式人工智能服务管理办法》,OpenAI公司训练的GPT系列模型产品属境外来源模型,内容无法管控,没有责任主体,所以针对ChatGPT目前仅支持两种部署方式(需注意规避风险):
境外服务器部署
境内局域网部署(使用转发接口)
正常来说,如果在境内部署一个网站,需要将域名、IP、负责人信息提交到工信部进行网站备案,且会不定时抽查网站内容是否合规。如果部署在境内则必须备案,如果网站内容是ChatGPT,则备案一定不会通过。。。
境外服务器部署
云服务器部署:
前提条件
- 一台境外服务器,购置渠道不限,规格最低 1vcpu, 1G RAM;服务器物理地址尽量靠近香港、台湾、东南亚
- 一个域名,注册渠道不限
- 一个Cloudflare账户(免费提供SSL连接,CDN加速)
- 准备好你的ChatGPT的API Key
- 准备好运行在服务器上的应用程序(Github有很多开源项目)
你可能还需要学习一些
- Docker虚拟化技术、常用命令
- Node.js的大概工作原理、常用命令
- Docker部署模式下,环境变量的设置
部署过程
以ChatGPT为关键词,可以在Github中找到众多优秀项目。挑选你最中意的一款GPT项目,进入到详情页面查看。
通常来说,绝大部分项目都是在Node.js框架下,以Vue、Typescript、Javascript语言编写的。可以详细阅读项目中Readme.md文档,详细描述了安装的步骤和过程,按顺序照做就好。一个项目中会为你提供多种安装方案,这里为你大概解释一下Docker安装的过程。
服务器准备好后,通过重置镜像,将系统重置为Unbuntu最新稳定发行版。版本号通常为20.04。然后你需要在这个系统中安装Docker服务。安装步骤请参考官方文档:https://docs.docker.com/engine/install/ubuntu/
回到你选择的项目页面,大部分项目都支持Docker部署(你可以在项目的文件列表中看到“Dockerfile”这个文件),确认支持后,在你的服务器端使用git命令将项目拖拽到你的服务器中。
这时你需要在你刚下载下来的项目文件夹中,修改“.env”环境变量文件,将你的API key替换其中。
然后按照项目中所给出的Docker build命令,来build一版Docker镜像。
Build完成后,使用docker run命令运行刚才build好的镜像。
这时你可以通过访问服务器IP来打开你刚刚部署好的网站项目了!
总结一下:准备系统 -> 安装Docker服务 -> git拉取项目文件 -> 修改环境变量文件 -> 使用Docker build镜像 -> 使用Docker run镜像 ->完成
使用CDN
为了加快访问速度,降低IP封锁风险,我们需要使用Cloudflare提供的免费CDN。它有庞大的IP库,它经由这些IP作为跳板访问目标服务器,避免了直接暴露目标IP,当某一IP不可用时,可自动更换其他IP。你需要做的是:
在你的域名注册商网站中,修改你的域名DNS服务器为Cloudflare指定的域名服务器。
在Cloudflare中添加解析记录,将域名指向你的服务器IP,并勾选“代理”
此时,访问你的域名,应该可以打开你的网站。
需要注意
如果部署过程中没有报错,但网站无法访问,可能是:
- 端口被防火墙屏蔽,请到你的服务器提供商的网站中修改开放
- Docker在build的时候,默认把容器暴露外网的端口设置为了3000或其他
使用云服务部署(Railway、Vercel、Sealos)
云服务部署更加简单,只需在云服务中注册一个账号,按文档操作即可。
境内局域网部署(使用转发接口)
前提条件
- 一个域名,注册渠道不限
- 一个Cloudflare账户
- 准备好你的ChatGPT的API Key
- 准备好运行在服务器上的应用程序
部署过程
与上面的方法大致相似,windows下也可以安装使用Docker,但我没使用过…最好还是使用ubuntu系统
Proxy搭建转发接口
详细部署过程请见:https://github.com/GoGPTAI/ChatGPT-Proxy
部署完成后,请修改.env环境变量文件中预留的转发url选项为你的url,测试网站是否可以正常运行