【GPT科技系列】国内开发者调用openAI-API科技方法

news/2024/11/20 11:42:08/

1. 前言

openAI上线7个月了,但是随着openAI的约束越来越多,国内开发者想要使用openai的接口实现开发简直就是难上加难。那真的就没有办法了吗?no no no,CF解决一切不开心~

2.准备工作

    1. 我们需要一个国际域名
    1. 注册cloudflare账号
    1. 一个代理转发的脚本

工具介绍

域名
域名是互联网上的一个地址,用于标识一个网站或者一个网络服务的名称。它的作用是让用户更方便地访问网站或者网络服务,而不需要记住复杂的IP地址。当用户在浏览器中输入一个域名时,浏览器会向域名系统(DNS)服务器发送请求,获取该域名对应的IP地址,然后再向该IP地址发送请求,获取网站或者网络服务的内容。域名通常由多个部分组成,例如www.example.com,其中www是子域名,example是二级域名,com是顶级域名。

CloudFlare:简称CF(可不是穿越火线~~)
CloudFlare是一家提供云计算服务的公司,其主要业务是提供网站加速、安全防护、DNS解析等服务。通过将网站的内容缓存到全球各地的服务器上,CloudFlare可以加速网站的访问速度,同时还可以提供DDoS攻击防护、SSL证书管理、防火墙等安全服务。CloudFlare的DNS解析服务可以帮助网站管理员更方便地管理域名解析,同时还可以提供一些高级功能,例如负载均衡、智能路由等。总之,CloudFlare是一家提供全方位云计算服务的公司,可以帮助网站提高性能、安全性和可靠性。
我们在项目中使用的就是他的路由和负载功能

3.实现思路

在这里插入图片描述

4.开始操作

4.1 域名注册

推荐使用GNAME、GoDady进行域名注册

以下案例以GNAME实现思路实现:

4.1.1 进入官网注册账号,有账号直接登录

GAME域名注册官网-点击这里
在这里插入图片描述

4.1.2 域名注册

在输入框中输入想要的域名进行购买,推荐top年费不到5刀,续费同价
在这里插入图片描述

然后加购进行购买可以使用AliPay支付。

注意
1.GNAME支付后会将资金冻结,需要添加两个方式以上的账号安全认证才能解冻继续支付
2.建议添加谷歌邮箱和国内手机号码验证

4.1.3 够买成功后在管理中心可以看到购买域名

在这里插入图片描述

4.2 CloudFlare注册以及配置

4.2.1 注册账号

CloudFlare官网-点击进入
CloudFlare官网注册地址-点击进入
进入后右上角进行注册登录
在这里插入图片描述

4.2.2 添加站点

在输入框里输入刚刚注册的域名,然后添加站点
在这里插入图片描述

4.2.3 收费模式选择免费

免费计划:每天提供10万次转发、负载请求次数,对于我们开发一个小型场景也够了,如果你的大型网站那建议使用VPS或者自行搭建反向代理服务可以减少支出达到更好的效果。
在这里插入图片描述

4.2.4 跳过添加DNS记录

直接点击继续
在这里插入图片描述
下一步弹窗点击确定即可:
在这里插入图片描述

4.2.5 更改申请域名的DNS服务名称地址

继续上一步后,界面中级工会告诉你删除哪些原有的dns规则,然后添加由cloudFlare提供的dns地址
在这里插入图片描述
注册域名后可以通过whois确定域名代理机构,GNAME就是专业域名注册机构所以GNAME有管理工具
回到GNAME官网,然后到“域名管理”

1. 先添加一个域名管理模板

因为gname需要模板实名来管理每一个dns地址
在这里插入图片描述

2. 修改DNS服务名

在这里插入图片描述

(1)首先将域名模板设置为刚刚你保存的域名模板
在这里插入图片描述
设置完成后刷新一下网页就ok
(2)点击修改DNS
在这里插入图片描述

选择自定义
在这里插入图片描述
然后将CloudFlare提供的两个DNS地址复制黏贴进来即可
在这里插入图片描述

在这里插入图片描述
确定之后稍等片刻,刷新网页DNS域名变为绿色代表成功

4.2.6 回到CloudFlare继续检查监测域名与DNS服务是否修改

在这里插入图片描述

这个操作可能需要5分钟~4小时不等,我的等待了30分钟,我们可以不用理会继续往下执行,写好代码也差不多了,但是官方的解答是根据服务运行并发情况而定,因为本身CloudFlare也是一个域名解析站点所以吞吐较大

在这里插入图片描述
站点网页出现这个窗体代表站点DNS已经完成解析,但是我在开发时发现没有出现此提示我的转发服务依旧可以使用,ping 域名也能发现dns已经发生了改变所以可能是网站的状态更新延迟,根据实际调用结果而定。

4.2.7 创建openAI代理转发Worker

worker的功能就是以代码的方式实现转发或负载

1. 创建worker

在这里插入图片描述
生成的代码和三级域名不理会直接保存(Deploy)
在这里插入图片描述

2.修改代码

保存好Worker后在管理界面点击“快速编辑”
在这里插入图片描述
此时会进入一个浏览器在线调试编译工具

注意:编译工具请求次数会非常多,页面的每次改变都会触发1~25个请求不等(我测试出来的不知道大家的如何),所以按照我的方法赋值黏贴好即可

如果进入后出现白屏情况换Edge浏览器,因为里面有微软的在线编译工具插件

在这里插入图片描述
进入后将以下代码复制进入左侧代码窗体:

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;
}

保存完成后点击保存并部署
在这里插入图片描述

3. 设置你的域名映射到当前添加的Worker

进入当前Worker的触发器,点击添加自定义域
在这里插入图片描述
输入你的域名后保存,等待10分钟左右直到证书标识生效功能就完成了

5. 测试验证

比如我们请求openai官方的获取模型列表的api接口:
原地址:https://platform.openaiapi.com/v1/models
通过CloudFlare转发的地址:(将openai的转为你的地址)
https://你的域名/v1/models

测试结果:

在这里插入图片描述

6. 总结

到这里,我们就完成了在国内就可以访问openai的接口了,我们不需要花大力气去做VPS,在Python和java中调用只要使用OKHttps类库之类的就可以正常访问了

希望本文对大家有帮助,点赞、收藏、加关注哟老板们~~~~


http://www.ppmy.cn/news/89094.html

相关文章

在Windows上安装Docker与k8s,完美亲测!

一、软件准备 1、去Docker官网下载Docker Desktop,并一键安装 2、下载k8s-for-docker-desktop包 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git二、镜像源配置 配置docker的国内镜像,国外的网络下载可能比较慢 doc…

PaLM 2重磅来袭,深挖谷歌92页技术报告亮点总结

谷歌CEO桑达尔・皮查伊(Sundar Pichai)亲切地将2023年称为是一个AI busy year,当地时间5月10日,谷歌IO大会上,谷歌大语言模型PaLM 2虽迟但到。作为一个“AI-first”公司,谷歌在Bard聊天机器人爆出事实性错误…

365天深度学习打卡 第P9周:YOLOv5的backbone实现

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 文章目录 一、Backbone模块代码1.1 Conv模块1.2 C3模块Bottleneck模块SPPF模块 二、数据集和相关参数设置2.1 数据集操作2.2 相关参数设置2.3…

LAMP的部署(天光渐暗,暮色里遗漏了一丝蓝,星辰便从中亮起。)

文章目录 一、LAMP架构概述二、LAMP框架搭建1.准备工作2.部署apache(1)安装环境依赖包(2)配置软件模块(3)服务优化(4)添加httpd服务(5)修改httpd 服务配置文件…

C语言中的数学库math.h介绍

目录 1、三角函数 2、双曲函数 3、指数函数与对数函数 4、幂函数 5、误差与伽马函数 6、四舍五入与余数函数 7、绝对值、最小、最大 Absolute、Minimum, maximum C语言中的数学函数库是math.h,它提供了许多常用的数学函数,如三角函数、指数函数、…

MySQL mysqldump备份数据库(附带实例)

数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略。 保证数据安全的最重要的一个措施就是定期的对数据库进行备份。这样即使发生…

linuxOPS基础_运维概述,及其泛概念

运维岗位定义 什么是运维? ​ 在技术人员(写代码的)之间,一致对运维有一个开玩笑的认知:运维就是修电脑的、装网线的、背锅的岗位。 ​ IT运维管理是指为了保障企业IT系统及网络的可用性、安全性、稳定性&#xff0…

实时时钟 RTC(2)

RTC 使能与停止 RTC 上电后立即启动,不可关闭,软件应在32K 晶体振荡器完全起振后再设置当前时间;在晶体振荡器起振之前芯片使用内部环振计时,偏差较大。 RTC 时间设置 软件可以在任意时刻直接设置RTC 时间寄存器;由于…