搭建chatgpt反向代理

  • A+
所属分类:系统文档

一、为啥需要自建反代

OpenAI提供了两种访问方式,一种是直接在ChatGPT网页端使用的Access Token方式,这种方式可以免费使用GPT-3.5模型,只需要登录即可使用。但缺点是不稳定,且无法扩展。另一种是使用API,注册用户可以获得5美元的赠送额度,但使用完之后就需要付费。这种方式相对更稳定,但缺点是赠送额度较少且存在限流,目前是3条/分钟。

因此,对于那些希望免费使用OpenAI GPT-3.5模型的用户来说,选择Access Token方式是比较好的选择。但是需要解决的问题是不稳定以及可能IP被封禁的问题。为了解决这些问题,我们可以自建反向代理服务来提高稳定性,并保护我们的IP地址不被OpenAI封禁。也有一些公共的反向代理服务可以选择使用,但是很不稳定,因为它们是免费共享的。所以自建反向代理服务是一个不错的选择

二、所需环境组件安装

1、环境说明

  • 一台VPS,规格最低配 1C1G(项目作者文档里作了说明)
  • 可以访问到openai地址;或者国内服务器实现科学上网也可以,可以参考这篇文章国内服务器实现科学上网
  • 部署docker和docker-compose

2、部署docker

  • 设置一个yum源,下面两个都可用
# 中央仓库
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

# 阿里仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker
yum -y install docker-ce

# 启动并设置开机自启
mkdir /data/docker
systemctl start docker
systemctl enable docker
systemctl status docker

3、部署docker-compose

(1)定义Docker-Compose版本变量
export composeVer=v2.16.0

(2)下载最新版本的 docker-compose 到 /usr/bin 目录下
curl -L https://github.com/docker/compose/releases/download/${composeVer}/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

(3)给 docker-compose 授权
chmod +x /usr/bin/docker-compose

(4)检查docker-compose安装情况
docker-compose -v

三、部署ChatGPT反代

1、创建工作目录

mkdir -p /data/go-chatgpt-api && cd $_

2、创建部署清单

  • 同时使用ChatGPT和API 模式
    • 如果你的VPS IP没有被Ban就使用这个模式

vim docker-compose.yml

version: "3"
services:
  go-chatgpt-api:
    container_name: go-chatgpt-api
    image: linweiyuan/go-chatgpt-api
    ports:
      - 8080:8080  # 容器端口映射到宿主机8080端口;宿主机监听端口可按需改为其它端口
    environment:
      - GIN_MODE=release
      - CHATGPT_PROXY_SERVER=http://chatgpt-proxy-server:9515
      #- NETWORK_PROXY_SERVER=http://host:port     # NETWORK_PROXY_SERVER:科学上网代理地址,例如:http://10.0.5.10:7890
      #- NETWORK_PROXY_SERVER=socks5://host:port   # NETWORK_PROXY_SERVER:科学上网代理地址
    depends_on:
      - chatgpt-proxy-server
    restart: unless-stopped

  chatgpt-proxy-server:
    container_name: chatgpt-proxy-server
    image: linweiyuan/chatgpt-proxy-server
    restart: unless-stopped

vim docker-compose.yml

version: "3"
services:
  go-chatgpt-api:
    container_name: go-chatgpt-api
    image: linweiyuan/go-chatgpt-api
    ports:
      - 8080:8080  # 容器端口映射到宿主机8080端口;宿主机监听端口可按需改为其它端口
    environment:
      - GIN_MODE=release
      - CHATGPT_PROXY_SERVER=http://chatgpt-proxy-server:9515
      - NETWORK_PROXY_SERVER=socks5://chatgpt-proxy-server-warp:65535
    depends_on:
      - chatgpt-proxy-server
      - chatgpt-proxy-server-warp
    restart: unless-stopped

  chatgpt-proxy-server:
    container_name: chatgpt-proxy-server
    image: linweiyuan/chatgpt-proxy-server
    restart: unless-stopped

  chatgpt-proxy-server-warp:
    container_name: chatgpt-proxy-server-warp
    image: linweiyuan/chatgpt-proxy-server-warp
    restart: unless-stopped

3、运行容器服务

docker-compose up -d

# 检查运行的容器;确保容器状态为UP
docker ps

# 检测容器映射到宿主机的监听端口是否监听
ss -tnlp|grep 8080

4、检查是否正常

  • 注意确保chatgpt-proxy-server运行正常
  • go-chatgpt-api需要初始化启动需要耐心等待
# 查看容器日志是否运行正常
docker logs -f chatgpt-proxy-server
docker logs -f go-chatgpt-api

access token获取:先访问http://ai.com正常登录你的账号再访问下面的地址即可

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin