教程:如何部署ChatGPT到自己的域名 两个部署方式 详细的搭建教程

承接前文,那个ChatGPT Html是初级阶段,是直接使用Jquery做异步去调api接口,也容易造成api的泄漏导致滥用,从而被封号,建议都不要再使用那个方法了。

最近站长也一直在研究这项课题,使用OpenAI API的应用在Github上一搜一大把,基本上有两类:

一类是调用官方的API,可以使用 gpt-3.5-turbo-0301 模型,是最稳健的方案,但是会扣费用,目前各位手上的账号都是有赠金的,会优先扣赠金,等扣完了就需要充值,但是充值这条路非常崎岖难走,你可以访问下面的链接,了解一下OpenAI绑定信用卡是有多麻烦。

第二类是使用非官方代理服务器去访问 ChatGPT 的后端API,会绕过Cloudflare(使用真实的的ChatGPT,非常轻量级,但依赖于第三方服务器,并且有速率限制),使用的是accessToken。好处是不扣费用,但不太稳定。

直接使用官方API的项目,例如:https://github.com/ddiu8081/chatgpt-demo,甚至都不需要服务器,注册个Vercel账号,直接一键部署就完事了。

今天聊另外一个项目,就是能即用官方API的也能用非官方代理服务器访问后端API的项目,特别是现在非常容易封OpenAI API权限,我们就可以使用第二种方法去调用。

本次项目:https://github.com/Chanzhaoyu/chatgpt-web ,我们来做两种部署的介绍,非常简单,跟着步骤来吧!

写在前面

现在使用ChatGPT API极易触发风控,这里有一份站长根据自身经验整理的避坑指南,欢迎领取

鉴于ChatGPT项目极易被封,这里就不放演示链接了。直接给个图就好。

dbc6e83971175428

准备工作

  1. 准备一个可正常登录的chatGPT账号,只要有chatgpt访问的权限就好,api被封的账号也可以用
  2. 准备一台非中国大陆、香港的服务器,注意IP必须符合OpenAI的相关要求,特别是广播的IP。另外慎用华为云的机器。

如果你还没有注册一个ChatGPT 账号,可以参考下面的教程进行注册:

前置环境要求

看一遍项目README.md,我们选择使用Docker进行部署

首先安装Docker

按以下步骤进行,别看一些博主瞎写的,去装发行版的docker版本。

这里直接使用Docker官方推荐的安装脚本一键安装

# 一键安装Docker
curl -sSL https://get.docker.com | sh

准备OpenAI API_KEY或accessToken

API_KEY的获取,参考一下步骤:

浏览器打开https://platform.openai.com/account/api-keys/登录你的ChatGPT账号,或登陆后在右上角头像那里点击,找到View API keys

5d6ec34e21185324

默认没有API密钥,需要手动创建一个,点击Create new secret key

a17d68bfa8185459

创建成功后,将API key保存到临时文件去,待会要用。

如果是要获取accessToken,首先前往https://platform.openai.com,登录一下你的账号,然后新开一个浏览器页面,在地址栏输入:https://chat.openai.com/api/auth/session,在打开的json里面,把accessToken字段的内容,整段保存到临时文件,回头要用。

6436531227175105

开始部署

准备好要的API_KEY和accessToken之后,就可以开始部署了。

镜像直接使用项目作者的,就没必要自己制作docker镜像了,没太大必要。

使用docker的部署

建个目录,在目录里创建docker-compose.yaml,文件内容如下:

version: '3'

services:
  app:
    image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
    ports:
      - 3002:3002
    environment:
      # 二选一
      OPENAI_API_KEY: xxxxxx
      # 二选一
      OPENAI_ACCESS_TOKEN: xxxxxx
      # API接口地址,可选,设置 OPENAI_API_KEY 时可用
      OPENAI_API_BASE_URL: xxxx
      # API模型,可选,设置 OPENAI_API_KEY 时可用
      OPENAI_API_MODEL: xxxx
      # 反向代理,可选
      API_REVERSE_PROXY: xxx
      # 访问权限密钥,可选
      AUTH_SECRET_KEY: xxx
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000
      # Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
      SOCKS_PROXY_HOST: xxxx
      # Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
      SOCKS_PROXY_PORT: xxxx

要把里面需要填的环境变量给填了。

启动就一条命令就行了:

docker compose up -d

默认监听tcp端口 3002,你可以在前面套个nginx反代一下,可以参考以下的步骤:

配置 Nginx

这里直接使用Docker安装Nginx,不用去编译什么,执行命令:

首先准备配置文件 chatgpt.conf ,your_domain.com 替换为你自己的域名,配置文件内容如下:

server {
    server_name your_domain.com;
    listen       80;
    location / {
        proxy_pass http://127.0.0.1:3002;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

然后直接docker 起一个容器出来,注意挂载配置文件进来

docker run -d --network host --name nginx-frontend -v ./chatgpt.conf:/etc/nginx/conf.d/chatgpt.conf:ro -d nginx

这样就好了,然后去把域名解析改一下,访问域名就好了

使用Railway 部署

Raildway 就更简单了,只要注册好就可以跑,但有免费时长的限制,一个月500个小时,用来体验一下就好。

点击以下部署按钮:
教程:如何部署ChatGPT到自己的域名 两个部署方式 详细的搭建教程-1

然后在打开的页面中,把环境变量填进去,注意这里有一个双模式的选择,如果都填了API_KEY和accessToken,那么默认优先是API的模式,这里就看个人的选择了。

a2894b42e9182630

点击Deploy,等待一段时间,部署就完成了,这时候你可以进控制面板,把自己的域名添加上去,然后做一下cname解析就完事了。

总结

没啥总结的,转载加链接就行了。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享