摘要

使用GPT比较频繁,一开始翻墙还能接受,但是用美国节点访问其他国外网站,确实比较麻烦。因此决定自己转发一个出来。

正文

使用GPT比较频繁,一开始翻墙还能接受,但是用美国节点访问其他国外网站,确实比较麻烦。因此决定自己转发一个出来。

一、获取OpenAI授权密钥

首先,进入platform.openai.com-Personal-View API keys

image-20230520124915436.png

不过OpenAI的key并不是免费的,有有效期限。

image-20230520125242701.png

二、搭建转发GPT环境

采用阿里云的云函数

1.) 先修改地区

image-20230520125930470.png

2.) 点击左侧服务及函数-创建服务

image-20230520130130558.png

3.) 函数管理-创建服务

image-20230520130258249.png

4.) 函数配置

  • 创建函数方式:使用自定义运行时创建
  • 基本设置:
    • 函数名称:
    • 请求处理程序类型:处理HTTP请求
  • 函数代码
    • 运行环境:Nodejs 16.13(或者更高的版本)
    • 函数代码:本地上传zip包(点我下载 ZIP 包
    • 启动命令:node app.js
    • 监听端口:9000
  • 高级配置
    • vCPU:0.1
    • 内存:128M
    • 硬盘大小:512
    • 实例并发度:2
    • 执行超时时间:900
    • 时区:UTC
  • 环境变量(不修改)
  • 触发器配置(这里可能要创建一个新的触发器):
    • 请求方法:ANY
    • 禁用公网访问:否
    • 认证方式:无需认证

5.) 获取代理接口地址

image-20230520130654194.png

6.) 访问代理接口

image-20230520132658359.png

跟直接访问官方api返回结果一样,关键是不用中间代理了!

image-20230520133504524.png

能连通,简直完美!

GFW(Great Firewall of China)长城防火墙,原理就是对国外服务器做了黑名单限制,因此大部门国外服务器其实还是可以访问到的。

比如云厂商的服务器。

三、部署前端页面

1.) 配置env

获取源码Minimal web UI for ChatGPT.

.env.example复制一份到.env

image-20230520133110514.png

2.) 启动

Node.js >= 16.12.0

sh
1
2
3
npm install
npm install -g astro
astro dev --host --port 80

image-20230520131127331.png

运行结果如图

image-20230520131419263.png

四、参考致谢

  1. 两条命令搞定 ChatGPT API 的调用问题,有手就会! | 程序猿DD

  2. Minimal web UI for ChatGPT.

  3. Ice-Hazymoon/openai-scf-proxy