ChatGPT最近几个月可算是火爆了,但是在使用的时候你是否遇到以下问题:
1. 国内网络受限,无法直接访问
2. 页面停留几分钟后token就过期了,必须频繁的刷新页面
3. 自己写个后台部署还得买个国外的服务器
如果你也被以上问题困扰,不妨往下看,你现在面临的正是我所经历的,这篇文章或许能够给你提供一些帮助。
针对以上问题有很多种解决方案,网络受限我们可以选择购买vpn;token过期我们可以升级plus;后端调不通openai的接口,我们可以选择国外的服务器,或者服务器上装代理;那有没有更完美的解决方案呢?今天给大家分享一个通过cloudflare
实现最小成本代理openai
的方案。
废话不多说,上Demo,亲测可用。传送门
第一步:注册cloudflare账号
前往cloudflare官网注册一个账号
第二步:创建worker,进行请求中转
将此js代码替换上图左侧部分的代码
export default {
async fetch(request, env) {
return await handleRequest(request)
}
}
async function handleRequest(request) {
// 定义目标服务器的地址
const url = new URL(request.url)
const targetUrl = 'https://api.openai.com'
// 构造新的请求对象
const proxyRequest = new Request(targetUrl + url.pathname + url.search, {
method: request.method,
headers: request.headers,
body: request.body
})
// 发送请求到目标服务器
const response = await fetch(proxyRequest)
// 构造新的响应对象
const proxyResponse = new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: response.headers
})
// 返回响应给客户端
return proxyResponse
}
点击保存并发布,至此,域名转发配置完成。但是workers.dev在国内依然无法访问,这时我们需要一个国内可访问的域名来转发。
第三步:域名转发
回到workers首页,找到刚才添加的server,点击进入详情。
此处需注意,如果已经有域名的直接填入即可,没有的需要去注册一个,国内平台注册域名需要备案才行,如果觉得备案麻烦,可以就在cloudflare
上购买,大概一年30元左右,比起购买国外的服务器和VPN来说实惠不少。
实际支付截图
第四步:使用中转域名
import openai
openai.api_base = '[刚才填写的域名]/v1' # 注意后面/v1不可省略
openai.api_key = '[你的openai key]'
openai.ChatCompletion.create(
model='gpt-3.5-turbo-0301',
messages=[messages],
stream=stream
)
最后,愉快的玩耍去吧~
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net