通过云函数搭建内地可用的OpenAI代理(腾讯云centos系统)

news2025/1/22 9:14:00

需求:
大陆内地云服务器无须搭梯子,无须NGINX反向代理访问openAI。

背景:
平时工作环境是局域网,不方便分享给朋友用,即使不是局域网也不可能一直开着自己的电脑啦,于是想着给弄到云服务器上。

一般来说,

  1. 要么选国内的服务器,需要备案域名并且需要挂梯子连接openai的服务器。
  2. 要么就是买一个可以直接连接openai的服务器,比如海外VNS(好贵买不起),又比如香港服务器(也贵),在上面搭代理,而且,这种要求国内访问你买的服务器网络连接顺畅,所以一般要Nginx反向代理。

穷b且技术菜(字正腔圆,义正言辞),所以我用云函数

云函数直指OpenAI

  • 1 买云服务器
  • 2 文件传输(FTP搭建)
  • 3 腾讯云函数实现代理
  • 4 应用
    • 4.1 使用第三方web(不推荐,很危险,实在没办法时的选择)
    • 4.2 自己搭chatgpt-web(不是搞开发的,我不擅长,不玩)
    • 4.3 ==自己搭python项目==(学术优化chatgpt)

1 买云服务器

我买的腾讯云的轻量应用服务器,我新用户目前是一年112,华为和阿里的太贵啦,我阿里云1核4g服务器五年都得三千多,遭不住。
在这里插入图片描述
我大概是这样选的,反正就是opencloud centos 8.6

听说debian也不错,我没用过,但是centos真让我捉急,主要是以前用过windows想搞搞新的,但新手真的建议搞个带图形界面的,这玩意不带图形界面,pycharm都不能用,只能命令行硬敲。气.jpg
在这里插入图片描述

购买域名(买不买无所谓,我买了但是没搞成功,备案麻烦)

创建秘钥(其实也无所谓,反正我是免密登录)

登录实例,选择一键免密登录。
在这里插入图片描述

我是用腾讯自带的OrcaTerm登录的,原名是WebShell。需要开放22端口
我这个是自带放开的:
在这里插入图片描述

然后我给ftp开了21端口,因为我要用ftp传输数据:

在这里插入图片描述

2 文件传输(FTP搭建)

与项目无关,但是搞云服务器肯定要搞个文件传输吧,就给个参考。
参考这篇文章:
windows系统通过FTP上传文件到轻量应用服务器

我的是centos系统也就是linux,所以如图箭头所示,附录不用搞,验证了就行。
在这里插入图片描述
其中,如果要关闭V2Ray,您可以按照以下步骤操作:

  1. 打开终端,输入以下命令,停止V2Ray服务:
sudo systemctl stop v2ray
  1. 输入以下命令来禁用V2Ray服务:
sudo systemctl disable v2ray
  1. 输入以下命令来删除V2Ray服务:
sudo rm /etc/systemd/system/v2ray.service

这些命令将停止、禁用和删除V2Ray服务,从而关闭它。请注意,您需要使用管理员权限运行这些命令。

3 腾讯云函数实现代理

github项目地址:
https://github.com/Ice-Hazymoon/openai-scf-proxy
https://github.com/riba2534/openai-scf-goproxy
对于第二篇参考文章:可以读一读,但是我没按照这个来,我用香港的web函数是可以的

  • 打开云函数控制台:腾讯云函数控制台
    如果之前没使用腾讯云函数,会提示授权。那就“前往访问管理”去授权就好了。
  • 返回函数服务之后选择新建云函数
    1. 选择“从头开始”
    2. 基础设置:
      函数类型:“web函数”----》取名----》地址:“中国香港”—》Nodejs 16.18
    3. 函数代码:从github下载zip包上传
      函数代码下载地址(github)
      在这里插入图片描述
    4. 高级配置:
  • 环境配置:
内存:64M
执行超时时间:900
  • 请求多并发:
启用
自定义静态
2 并发

在这里插入图片描述
在这里插入图片描述
5. 触发器配置:默认
在这里插入图片描述

  • 点击完成,首次要API网关授权,同意授权就行了,然后新建,创建期间不要乱动,乱动就要重新搞(如果跳到不知道什么地方去了,就重新建立一遍函数就行)
  • 然后函数管理,函数代码,往下拉,访问路径就是代理地址!(去掉"/release/"之后,这时前面的部分就完全相当于api.openai.com)
    在这里插入图片描述
    在这里插入图片描述
  • 验证
    在这里插入图片描述

4 应用

有了香港域名的代理地址,就可以直接对其进行访问(不止是你的云服务器,可以看到我这是在本地验证的),那么就可以开启你的学习之旅了。

4.1 使用第三方web(不推荐,很危险,实在没办法时的选择)

因为要输入apikey,会泄露,每个人都只有5美金额度,你放到别人地盘,那。。。。

4.2 自己搭chatgpt-web(不是搞开发的,我不擅长,不玩)

https://github.com/Chanzhaoyu/chatgpt-web
我没有这方面很丰富的经验,所以就没有玩

4.3 自己搭python项目(学术优化chatgpt)

项目地址:学术优化chatgpt(github)
这是我擅长用的,无非是搭个python的环境啦,篇幅受限,具体情况下一篇文章介绍啦:
【留个链接位置:云服务器搭建Python项目实现学术优化chatgpt】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

diff命令和vimdiff命令

文章目录 diff命令基本用法选项示例 vimdiff命令命令格式选项说明常用操作 diff命令 diff命令是一个文本比较工具,用于比较两个文件的内容,它会逐行比较两个文件的内容并输出它们之间的差异。下面是diff命令的常用选项和用法: 基本用法 比…

数据信息汇总的7种基本技术总结

数据汇总是一个将原始数据简化为其主要成分或特征的过程,使其更容易理解、可视化和分析。本文介绍总结数据的七种重要方法,有助于理解数据实质的内容。 1、集中趋势:平均值,中位数,众数 集中趋势是一种统计测量,目的…

RFID系统简介:优点、应用与发展前景

一、介绍RFID系统 RFID系统全称是Radio Frequency Identification,是一种通过电磁场自动识别标记(Tag或RFID标签)并读取相关数据的技术。与条形码技术相比,RFID系统最大的特点就是可以自动识别、无须接触扫描,并且可以…

MySQL报错:Got an error reading communication packets

error reading 关闭连接 通常一旦连接建立,MySQLD端的线程会堵塞在poll上,而poll的就是连接socket的fd,等待读取命令,也就是读取MySQL net packet的header。同时如果是poll timeout超时则设置为SOCKET_ETIMEDOUT 这就是我们平时说…

ResNet 原论文及原作者讲解

ResNet 论文摘要1. 引入2. 相关工作残差表示快捷连接 3. 深度残差学习3.1. 残差学习3.2. 快捷恒等映射3.3. 网络体系结构普通网络 plain network残差网络 residual network 3.4. 实施 4. 实验4.1. ImageNet分类普通的网络 plain network残差网络 residual network恒等vs.快捷连…

ribbon的使用

什么是ribbon Ribbon是Netflix公司提供的一个基于HTTP和TCP的客户端负载均衡工具。 Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取…

随笔:mysql的主主同步

背景: nginx负载均衡和双击热备下,要求支持mysql的test库的主主同步,同时需要豁免特定的三张配置表。 实现步骤: 1. 查看防火墙是否是关闭状态。systemctl status firewalld 2. 修改配置,增加以下内容。vi /etc/my.cnf…

利用Github Action备份Docker容器中的数据库

利用Github Action备份Docker容器中的数据库 本文方案仅供技术参考与娱乐! 前言 数据很重要,所以我们要经常备份。 那么怎么备份呢?假如我们使用云厂商的数据库,里面已经自带了快照和备份功能了,只要你愿意花钱&…

golang 使用 OpenTelemetry 实现跨服务 全链路追踪

使用 OpenTelemetry 链路追踪说明 工作中常常会遇到需要查看服务调用关系,比如用户请求了一个接口接口会调用其他grpc,http接口,或者内部的方法这样的调用链路,如果出现了问题,我们需要快速的定位问题,这时候就需要一个工具来帮助我们查看调用链路OpenTelemetry就是这样一个工…

力扣总结,深度优先题

LCP 67. 装饰树 –链接– 中等 10 相关企业 力扣嘉年华上的 DIY 手工展位准备了一棵缩小版的 二叉 装饰树 root 和灯饰,你需要将灯饰逐一插入装饰树中,要求如下: 完成装饰的二叉树根结点与 root 的根结点值相同 若一个节点拥有父节点&#x…

用Java开发的建站神器JPress

什么是 JPress ? JPress 是一个使用 Java 开发的、类似 WordPress 的产品,支持多站点、多语种自动切换等。(JPress 始于2015 年) 目前已经有 10w 网站使用 JPress 进行驱动,其中包括多个政府机构,200 上市公…

HashMap 扰动函数、负载因子、扩容链表拆分

文章目录 1.扰动函数2.初始容量3.负载因子4.扩容链表拆分 1.扰动函数 在jdk8中,hashmap有这样一段代码,他叫扰动函数,目的是优化散列效果 static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h &…

初识Java多线程编程

文章目录 一、线程的状态二、线程的常见属性三、多线程编程Thread类常用构造方法1.继承Thread类2.实现Runnable接口3.匿名内部类实现4.lambda 表达式创建 Runnable 子类对象 四、线程的常见方法 一、线程的状态 //线程的状态是一个枚举类型 Thread.State public class ThreadS…

【C语言】结构体——基础篇

结构体 为什么需要结构体?结构体类型的定义结构体变量结构体变量的定义结构体变量的引用结构体变量的初始化 结构体嵌套 为什么需要结构体? 💫首先,来举一个例子看一下为什么需要结构体。   在学籍管理系统中,要存储…

驱动开发:内核远程堆分配与销毁

在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这个函数用于专门分配虚拟空间,而与之相对应…

MATLAB绘制动画(二)擦除动画

如果我们在绘制图形之后将原有的图形擦除,并重新绘制,看上去就像动画了 示例: t 0; m [sin(t);cos(t)]; p plot(t,m,EraseMode,background,MarkerSize,5); x -1.5*pi; axis([x x2*pi -1.5 1.5]); grid onfor i 1:100t [t 0.1*i];m [m [sin(0.1*i…

【LeetCode: 97. 交错字符串 | 暴力递归=>记忆化搜索=>动态规划 | 位置对应】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

校园安全,一键报警主机助力保障

校园安全,一键报警主机助力保障 随着社会发展和科技进步,校园安全问题日益受到重视。如何保障师生们的安全成为了学校一项重要任务。而校园可视一键报警主机就是一种非常有效的安保设备。 这种报警主机集合了视频监控、安全防范、数据处理等多个功能&a…

asm 加盘 udev 重启 导致网络异常

Network interface going down when dynamically adding disks to storage using udev in RHEL 6 (Doc ID 1569028.1)正在上传…重新上传取消To Bottom In this Document APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Oracle Net Servi…

阿里国际、Lazada、eBay如何提高转化率?测评养号优化方式是什么

转化率是卖家在分析复盘时非常关键的因素,转化率的高低直接影响着卖家目前的关键词listing或者商品描述是否符合,消费者的满意度。 1.调查获客,明确分析市场需求 这是在产品上架之前必须明确的重要环节。如果市场上对于一个产品接受率低&am…