Replies: 149 comments 344 replies
-
{ |
Beta Was this translation helpful? Give feedback.
-
你好,请问最后一张图的post请求是在哪里操作的呢? |
Beta Was this translation helpful? Give feedback.
-
const region = request.headers.get('cf-ipcountry').toUpperCase(); Uncaught (in promise) TypeError: Cannot read properties of null (reading 'toUpperCase') |
Beta Was this translation helpful? Give feedback.
-
请教一个问题:给cloudflare绑定域名的,注册一个普通的域名可以吗,还是有什么要求? |
Beta Was this translation helpful? Give feedback.
-
亲测好用,感谢分享~ 给后面的人指条路:如果没有免费域名,可以去eu.org申请。我用的就是这个,就是审批时间有点长,可能需要一个月。 另外,如果大家使用的是bob的那个插件,记得更改api时只替换openai的部分,后面的chat不用加上去。不过大家都开始玩api了,估计代码也能看懂~ cheers for open source forever~ |
Beta Was this translation helpful? Give feedback.
-
{ |
Beta Was this translation helpful? Give feedback.
-
非常感谢,我这里可以正常调用了。 |
Beta Was this translation helpful? Give feedback.
-
亲测好用,大佬牛掰 |
Beta Was this translation helpful? Give feedback.
-
很棒,按教程一遍过 |
Beta Was this translation helpful? Give feedback.
-
一个没有被 GFW 认证的域名? |
Beta Was this translation helpful? Give feedback.
-
是否可以理解为,使用二级域名也可以? |
Beta Was this translation helpful? Give feedback.
-
通过cloudfare 这个方法,从发送请求到收到请求,cost time: 10s,这个正常么? |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
2024.03.18 亲测可用 感谢~ |
Beta Was this translation helpful? Give feedback.
-
为什么脚本可以直接部署在cloudflare上,但是通过page zip方式部署不成功呢?我想要通过zip的方式部署 |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
话说,现在openai 把中国禁了,等于双向奔赴了。 |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
之前按这个办法成功代理了OpenAI的API,感觉这个办法在别家也可以通用?想请问一下如果要代理其他公司的API应该调整脚本里的哪些内容? 我想试着代理一下Anthropic的语言模型的API,自己瞎琢磨,单纯把:
里的 如果能指点我一下,哪怕只是提供一下思路就好,感激不尽! |
Beta Was this translation helpful? Give feedback.
-
请问什么是被GFW认证的域名?我刚在阿里云买的.cn的域名可以吗? |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
使用这个方法,无法使用o1 mini及更新的模型,提示模型不存在,旧的却都可以 |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
-
此法已阵亡。
|
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
事实证明 ChatGPT 是足够火爆的,火爆到什么程度呢,其 API 一经推出便获得了 GFW 的认证。在 Twitter 上看到很多人都在为解决无法正常访问 OpenAI 的 API 而苦恼,最常见解决方案是使用一台服务器来进行反向代理,但这样又徒增了一些成本。因为之前在公司的业务上遇到过类似问题,当时老板找到了一个还不错的几乎零成本解决方案,试了一下现在仍然可以用来解决 OpenAI 的 API 无法访问的问题,所以在这里推荐给大家。
该方案的主要思路是使用 Cloudflare 的 Workers 来代理 OpenAI 的 API 地址,配合自己的域名即可在境内实现访问。因为 Cloudflare Workers 有每天免费 10 万次的请求额度,也有可以免费注册的域名,所以几乎可以说是零成本。而且该方法理论上支持所有被认证的网站,而不只是 OpenAI。
使用这个方案需要你有以下东西:
没有的话也可以到 https://www.freenom.com 免费注册一个,太长不看
api.openai.com
如果具体步骤有问题,可以参考下面的详细版教程。
🆕 将域名 NS 转到 Cloudflare
如果域名已经托管在 Cloudflare 的忽略这一步即可。
没有 Cloudflare 账号的话可以注册一个,具体注册细节就不多说了。注册或登录到 Cloudflare 的管理界面后,点击侧边栏的 “Websites” ,然后点击 “Add a Site” 按钮准备将域名转到 Cloudflare:
在 “Enter your site (example.com)” 处输入要转入的域名后,点击 “Add Site”:
根据 Cloudflare 的提示,在域名注册商处将 NS 修改到 Cloudflare 指定的地址,等待域名解析成功后,即可进行后续操作。
创建一个 Cloudflare Worker
登录到 Cloudflare 的管理界面后,点击侧边栏的 “Workers” 选项,然后点击 “Create a Service” 创建一个 Worker。
然后在创建界面中输入 “Service name” 后点击 “Create Service” 按钮新建 Worker。“Select a starter” 项先不用管。
至此 Cloudflare 的 Worker 便创建好了,下面开始修改 Worker 的代码,使其能代理 OpenAI 的 API。
修改 Cloudflare Worker 的代码
在 Worker 的管理界面,点击右上角的 “Quick Edit” 按钮编辑代码 Worker 的代码。
在左侧的代码编辑器中,删除现有的所有代码,然后复制粘贴以下内容到代码编辑器:
最后点击编辑器右下角的 “Save and deploy” 按钮部署该代码,在弹出的对话框中继续选择 “Save and deploy” 确认部署。
至此,便可以使用该 worker 的地址来代替 OpenAI 的 API 地址了。比如想要请求 ChatGPT 的 API 时,把官方文档中的
https://api.openai.com/v1/chat/completions
替换成https://openai.workers.dev
即可(注意这个地址并不存在,是需要换成自己刚刚创建的 Worker 的地址)。但是你可能会发现,这样做了依然还是没有解决问题,因为 Cloudflare Workers 的
workers.dev
域名也是被 GFW 认证过的🥲。但是好在只是认证了workers.dev
域名,而 ip 还是幸存的状态,所以我们可以给 Worker 绑定一个自己的域名。绑定域名
在 Cloudflare Workers 的管理界面中,点击 “Triggers” 选项卡,然后点击 “Custom Domians” 中的 “Add Custom Domain” 按钮以绑定域名。
输入域名后点击 “Add Custom Domain”,⚠️ 据评论区提示,目前只支持 NS 托管在 Cloudflare 上的域名,如果不介意,可以点击 Cloudflare 侧边栏的 “Websites”,然后点击 “Add a Site” 按钮,根据提示将域名的 NS 记录指定到 Cloudflare。
根据提示修改域名的 DNS 记录。因为我的域名是托管在 Cloudflare 上的,所以无需手动更改 DNS 记录,如果域名没有托管在 Cloudfalre 上,可以根据相关提示自行配置。至此便大功告成。等待片刻,应该就可以通过你自己的域名来代替 OpenAI 的 API 地址了,比如在本文的例子中,想要请求 ChatGPT 的 API ,即是把官方 API 地址⚠️ 注意请不要使用我这里的
https://api.openai.com/v1/chat/completions
换为我自己的域名https://openai.nooc.ink/v1/chat/completions
,其他参数均参照官方示例即可。由于 Cloudflare 有每天免费 10 万次的请求额度,所以轻度使用基本是零成本的。openai.nooc.ink
,因为随时可能会被我关闭🤪🥰 如果本文对你有帮助,欢迎 follow 我的 Twitter 和 GitHub 。
🤖 也欢迎关注我发布的开源项目 OhMyGPT ,仅需几步即可发布属于自己的基于 ChatGPT API 的 Web 应用。
📱如果你不知道拿 OpenAI API 来干嘛,又或者想找一个 ChatGPT 的第三方客户端,不妨试试我新开发的 AssisChat。
Beta Was this translation helpful? Give feedback.
All reactions