反向代理自建教程:你懂的

news2024/11/23 4:04:20

一、为什么需要自建反代

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

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

二、所需环境组件安装

1、环境说明

  • 一台VPS,并且可以访问到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反代

  • 这里使用的chatGPT反代项目:linweiyuan/go-chatgpt-api

1、创建工作目录

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

2、创建部署清单

  • 同时使用ChatGPT和API 模式
    • 如果你的VPS IP没有被Ban就使用这个模式
vim docker-compose.yml

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:科学上网地址
#      - NETWORK_PROXY_SERVER=socks5://host:port
    depends_on:
      - chatgpt-proxy-server
    restart: unless-stopped

  chatgpt-proxy-server:
    container_name: chatgpt-proxy-server
    image: linweiyuan/chatgpt-proxy-server
    restart: unless-stopped
  • 基于Cloudflare WARP模式
    • 解决IP被Ban,提示Access denied之类的报错
    • Cloudflare WARP官网文档:https://developers.cloudflare.com/warp-client/get-started/linux
vim docker-compose.yml

services:
  go-chatgpt-api:
    container_name: go-chatgpt-api
    image: linweiyuan/go-chatgpt-api
    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

# 检查运行的容器
docker ps

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

4、检查是否正常

# 查看容器日志是否运行正常
docker logs -f chatgpt-proxy-server
docker logs -f go-chatgpt-api

在这里插入图片描述
在这里插入图片描述

四、项目使用自建反代

现在我们可以找一个项目,使用access token模式,并使用我们自建的代理地址进行访问;自建IP的访问地址为http://:8080/conversation;如果项目与反代服务同在一台VPS上,则反代地址直接http://127.0.0.1:8080/conversation

  • access token获取:https://chat.openai.com/api/auth/session
    image

  • 现在我们访问chatgpt-web,查看是否可以正常使用

  • 同样日志返回结果正常
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nacos 客户端服务注册源码分析-篇三

Nacos 客户端服务注册源码分析-篇三 版本说明: 源码版本 nacos-1.4.2 Nacos 的核心功能点 服务注册: Nacos Client 会通过发送 REST 请求的方式向 Nacos Server 注册自己的服务,提供自身的元数据,比如 ip 地址以及端口等信息。Na…

Sentinal持久化到Nacos

Springboot应用整合Sentinel实现限流、熔断、降级笔记https://blog.csdn.net/chenjian723122704/article/details/130101875 Sentinel版本 1.8.6 Nacos版本 2.2.0 下载Sentinel源码 Sentinel1.8.6:https://github.com/alibaba/Sentinel/releases/tag/1.8.6 拷贝源…

AtCoder Beginner Contest 295——F - substr = S

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下AtCoder Beginner Contest 295这场比赛的F题! F - substr S 原题 Problem Statement You are given a string SSS consisti…

双塔模型:微软DSSM模型浅析

1.背景 DSSM是Deep Structured Semantic Model (深层结构语义模型) 的缩写,即我们通常说的基于深度网络的语义模型,其核心思想是将query和doc映射到到共同维度的语义空间中,通过最大化query和doc语义向量之间的余弦相似度,从而训…

2023好玩的解压游戏,压力大点开玩可以放松自己

你是不是经常感觉到压力大? 现代社会,竞争逐步激烈,不管是来自学习上,工作上,还是生活上的,压力都非常大! 这时候,我们要学会自我减压,有效的放松是为了更好地前行。 …

JavaWeb开发 —— MyBatis基本操作

目录 一、环境准备 二、删除操作实现 1. 根据主键删除 2. 删除(预编译SQL) 2.1 SQL注入 2.2 参数占位符 三、新增操作实现 1. 新增代码实现 2. 新增(主键返回) 四、更新操作实现 五、查询操作实现 1. 根据ID查询 1.1…

【Python】pip 和 conda install、list的区别,是否一致

【Python】pip 和 conda install、list的区别,是否一致 文章目录【Python】pip 和 conda install、list的区别,是否一致1. 介绍2. 看效果2.1 首先,conda 创建环境2.2 然后,激活环境2.3 查看环境下已经安装包列表2.4 安装新的包&am…

【2023最新】超详细图文保姆级教程:App开发新手入门(2)

上章节我们已经成功的创建了一个 App 项目,接下来我们讲述一下,如何导入项目、编辑代码和提交项目代码。 Let’s Go! 4. 项目导入 当用户创建一个新的应用时,YonStudio 开发工具会自动导入模板项目的默认代码,不需要手动进行代…

C语言的Hello World的汇编剖析(64位 Intel架构)

C语言的Hello World的汇编剖析(64位 Intel架构) 文章目录C语言的Hello World的汇编剖析(64位 Intel架构)一. 前提准备二. C转换为汇编操作准备2.1 创建目录&复制代码2.2 C文件转换为汇编文件三. 剖析汇编文件四. 指令相关五. …

TenserRT(三)PYTORCH 转 ONNX 详解

第三章:PyTorch 转 ONNX 详解 — mmdeploy 0.12.0 文档 torch.onnx — PyTorch 2.0 documentation torch.onnx.export 细解 计算图导出方法 TorchScript是一种序列化和优化PyTorch模型的格式,将torch.nn.Module模型转换为TorchScript的torch.jit.Scr…

ERTEC200P-2 PROFINET设备完全开发手册(6-1)

6 报警和诊断 Profinet提供了强大的诊断功能,这是其他通讯协议所无法比拟的。PN设备检测到问题后可以向控制器发送报警信息,报警分为三大类: 诊断报警 (PN设备本身故障触发的报警,例如:温度测量通道变送电…

Activiti学习02

这里写目录标题一、流对象简介1.1 事件1.2 活动1.3 条件二、Activiti系统服务结构图核心类:服务类:RepositoryServiceRuntimeServiceTaskServiceHistoryServiceFormServiceIdentityServiceManagementService三、Activiti数据库支持一、流对象简介 一个业务流程图有三个流对象的…

ATFX国际:中国一季度GDP同比增长4.5%,社消总额约11.5万亿元

ATFX国际:中国统计局发布一季度国民经济运行报告,其中值得关注两大数据分别为GDP同比增速、社会消费品零售总额增速。统计显示,一季度GDP总额28.5万亿元,同比增长4.5%,其中第一产业和第二产业的增速低于平均值&#xf…

Pyqt案例讲解(实现模拟计算器效果)

PyQt5是一个用于Python的GUI框架,它提供了一个简单易用的GUI工具包,可以用于创建各种类型的应用程序,包括计算器。下面是一个简单的计算器的实现,其中包括了一些难点和复杂的地方。 难点: 使用Qt的布局管理器来创建窗…

证书扫描件怎么弄?手机也能轻松扫描

现代社会中,证书是人们展示自己能力和经历的重要凭证。然而,我们有时需要将证书扫描并保存在电脑或手机中,以备不时之需。本文将介绍如何扫描证书以及手机上是否能进行扫描。 证书扫描的方法 将证书扫描成电子文档可以方便地将其存储在电脑或…

C++ Primer 第7章 类 - 中(零基础学习C++,精简学习笔记)

🤖 作者简介:努力的clz ,一个努力编程的菜鸟 🐣🐤🐥 👀 文章专栏:C Primer 学习笔记 📔专栏简介: 本专栏是博主学习 C Primer 的学习笔记,因为…

技巧:WIN10手动指定某个应用程序使用独立显卡

目录1. 背景2. 解决方法,假如要让剪映始终使用独立显卡2.1 步骤1,右击电脑桌面空白处,选择“显示设置”2.2 步骤2,拉到最下面,点击图形设置2.3 步骤3,选择桌面应用,点击浏览2.4 步骤4&#xff0…

领课在线教育系统源码 各行业都适用的分布式在线教育系统+支持讲师入驻功能

领课教育系统(roncoo-education)是基于领课网络多年的在线教育平台开发和运营经验打造出来的产品,致力于打造一个各行业都适用的分布式在线教育系统。系统采用前后端分离模式,前台采用vue.js为核心框架,后台采用Spring…

bash shell 无法使用 perl 正则

1.案例现象 前几天有一个小伙伴在群里求助,说他这个 shell 脚本有问题,让大家帮忙看看 #!/bin/bash regularExpression"^\[(\d)\].$" contentcat $1 for i in ${content} doif [[ $i ~ $regularExpression ]]thenecho -e "\033[32m 【 i…

一款多参数多合一的空气质量传感器【温湿度、TVOC甲醛CO2粉尘等】

档案馆库房专用的一款智能型空气质量云测仪 空气质量检测仪 空气质量传感器 环境集成传感器 集成/温湿度、粉尘PM2.5 PM10/甲醛/TVOC/CO2等高度集成的一款传感器/RS485信号输出 ◆温度测量参数: (1)温度测量范围: -40~80℃(2)输出分辨率:0.1oC (3)…