前言 ChatGPT 是不面向中国用户提供服务的,而且国内使用网页版也非常麻烦,比如需要国外IP等网络环境,但是我们可以自建网页版解决这个问题,可以参考文章:PandoraNext的Docker部署方法,ChatGPT官网原生体验,支持GPTs,不用API、完全免费 而且 ChatGPT 还提供了 API 服务,所以我们可以通过 API 来调用它的服务,但是同样受网络影响,中国境内无法调用该服务,但是我们可以做个代理来绕过这个限制。 本篇文章提供两种方式: Cloudflare Workers(免费用户每日请求量 100000,可自定义域名) Nginx代理(需要解锁 ChatGPT 的 VPS 进行反代) ⚠ 注 前置条件:需要购买一个属于自己的域名 以下 Cloudflare 简称 CF 如果不想自建,可使用:免费 API 代理服务 (不能完全保证 SLA) Cloudflare Workers 特点: Cloudflare Workers 本质上是一个后端函数服务,无需购置服务器就能够接受和处理请求 Cloudflare 有非常多的节点,在全球任何地方请求都可以获得不错的网络体验 Cloudflare 是免费使用的,免费用户每日有 100000 次请求量,完全满足个人需求 首先把自己的域名托管到 CF 上,托管教程:Cloudflare域名解析接入教程 然后进入 CF 首页,点击左侧菜单栏【Workers 和 Pages】,创建一个 Worker(部署完后才能修改 worker.js 的代码) 创建完毕后,编辑代码 然后把下面的代码复制粘贴到文件中,点击右上角 - 保存并部署(不用关心404报错问题) const TELEGRAPH_URL = 'https://api.openai.com'; addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { const url = new URL(request.url); url.host = TELEGRAPH_URL.replace(/^https?:\/\//, ''); const modifiedRequest = new Request(url.toString(), { headers: request.headers, method: request.method, body: request.body, redirect: 'follow' }); const response = await fetch(modifiedRequest); const modifiedResponse = new Response(response.body, response); modifiedResponse.headers.set('Access-Control-Allow-Origin', '*'); return modifiedResponse; } 然后 Worker 就部署成功了,但是这个地址后缀太长,而且还有个 dev ,所以有必要修改一下。 如果不想修改,则直接去对应的域名配置下 DNS 解析也可以,名称就是上面 自定义的名称,IPv4 地址 随便填,但是要符合标准,代理状态必须开启 然后访问地址测试:https://<你的链接>/v1/chat/completions (例如:https://api-gpt.xfjy.workers.dev/v1/chat/completions) 出现下面结果,则表示配置成功,就可以使用了 { "error": { "message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": null } } 但是默认给的域名后缀不想用,可以自定义域名。 进到 Workers 页面,选择刚刚创建的 Worker,点击【Custom Domains】 添加自定义域,等待初始化完成 然后你会发现你域名下面新增了一条 Worker 的 DNS 配置 初始化完成后,访问地址测试即可:https://<你的链接>/v1/chat/completions (例如:https://api-gpt.xfjy.in/v1/chat/completions) 出现下面结果,则表示配置成功,就可以使用自定义的域名了 { "error": { "message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": null } } Nginx 特点: 需要购买一个能够访问 ChatGPT 的 VPS 服务器需要安装 Nginx 服务(宝塔等面板默认支持配置反代,无需安装) 没有请求限制 如果不了解 Nginx,可以去学习一下相关知识:Nginx使用及配置 或者使用一些可视化工具也可以,例如:Nginx Proxy Manager、nginxWebUI Nginx 整体配置如下,重点配置已加注释(可自行修改): 配置成功后,重新加载 Nginx 配置文件,然后使用配置的域名即可 ⚠ 注意 域名别忘了配置 DNS 解析,还有端口问题 视频链接 YouTube:https://youtu.be/vwf1115-zk4 Bilibili:https://bilibili.com/video/BV1bN4y1Y74J
暂无讨论,说说你的看法吧