Cloudflare中转Gemini API,国内免费爽用,Gemini编程,音视频,多模态能力测试

embedded/2025/1/14 10:01:24/

视频版:

Cloudflare中转顶级大模型API,国内免费爽用,Gemini编程,音视频,多模态能力测试

       谷歌Gemini是所有一线顶级大模型当中唯一一个API可以免费白嫖的。本期视频,我们借助互联网大善人Cloudflare来中转一下Gemini API,这样就得到一个国内免费爽用的顶级大模型。有了API以后,我们可以进行AI编程,可以聊天,可以音视频通话,做各种各样好玩的事情。

开始之前,我们需要先注册一个Cloudflare的账号,然后把一个域名托管到Cloudflare上面。爬爬虾之前有很多期视频介绍关于Cloudflare的使用,还有如何获得一个免费域名托管到Cloudflare上面,这里我就不赘述了。

Chat API

然后我们来到Github,找到这个项目叫做openai-gemini。

Gemini 转OpenAI格式: https://github.com/PublicAffairs/openai-gemini

它的作用是把Gemini的API转换成OpenAI的API格式。我们可以看到,这里提供了一个部署到Cloudflare worker上面的方式。

部署到Cloudflare worker以后,它事实上达成了两个效果:

  1. 把API中转到了国内
  2. 把Gemini的API转换成更为通用的openai的格式

好,我们点击这个deploy with worker这个按钮,填写一个Account ID还有API TOKEN,下面都有获取方式的指引。我们先点击worker dashboard这个按钮,

进来以后我们可以看到右侧的账户ID,把它复制一下填写过来。

接下来我们来获取一个API TOKEN,点击这个my profile的按钮,

然后我们点击创建令牌,点击编辑cloudflare worker使用模板。

账户资源选择所有账户,选择包含所有区域,

点击继续以显示摘要,点击创建令牌。

我们把这个令牌也复制一下,粘贴到API Token里面,然后点击connect account。

接下来我们需要在浏览器登录一下自己的Github账户。这里我登录技术爬爬虾的账号,然后点击这个fork repository。这里指的是把项目复刻一份到自己的名字底下。然后我们需要开启fork出来项目的Github action功能,这里点击这个按钮,

点击中间这个绿色按钮,

开启Github action功能。

后我们回到刚才的页面,点击workflow enabled,最后点击deploy。

等待worker部署完成。

我们点击下面的worker Dash,进入Cloudflare worker的dashboard。

我们可以看到有一个名字叫Gemini的worker,就是我们刚刚部署好的那个worker。我们点进来找到设置,这里需要给它添加一个域名,才能在国内正常使用。

我已经把tech-shrimp.com的域名托管到Cloudflare上面了,我们就来使用这个域名。

下一步,我们来申请一个免费的Gemini API key。我们来到这个地址,

Gemini API申请: https://aistudio.google.com/

我们需要一个能连上谷歌的上网环境才能进入这个页面。进来以后我们点击这个Get API key,找到这里的密钥,创建API密钥,然后随便填上一个项目,点击创建好,这样我们就拿到了API密钥。

这里我打开一个API测试工具,比如postman,测试一下,注意修改其中的域名与API Key

curl --location "https://gemini.tech-shrimp.com/v1/models"  --header "Authorization: Bearer AIzaSyBMEmq3MiK2zdWJovLlJ7zKmQK0ZBi5gwg"

这里返回了一个模型列表,gemini-2.0-flash-exp是目前速度最快的模型,gemini-exp-1206应该是目前谷歌最强大的模型,在大模型竞技场上也是位居榜首的。

API 实战

AI对话

接下来我用几个实战案例带大家看一下这个API如何使用。我们来看AI聊天,这是我在Github上面找的一个开源项目叫做chatbox,就是一个大模型聊天的客户端。

ChatBox:https://github.com/Bin-Huang/chatbox

把它下载安装好以后,我们点击左下角的设置,然后模型这里我们还是用OpenAI的API,这个域名我们当然填写自己的域名。API密钥我们还是填写谷歌的Gemini API Key。

然后我们在下面选择自定义模型,然后填一个模型的名字,这里我填gemini-2.0-flash-exp,最后点击保存。

AI编程

我们来看如何使用Gemini API进行AI编程。cursor应该是目前最多人使用的AI编码工具,我们先把它下载安装一下。安装完成我们点击右上角的这个设置,选择Models,然后往下找。这里Open AI API Key,我们先把链接填上,我们填写自己的域名。接下来我们填写这个API Key,我们填写Gemini的API Key过来。

接下来我们点击这个add model按钮,我们填写一个模型的名字,这里我填写Google最强的编程大模型gemini-exp-1206,

把这里勾选上,最后我们保存一下。

使用Gemini进行AI编程,它的最大优势是上下文长度。我们看到,2.0 Flash模型的上下文长度比Claude3.5要大了5倍,对于中小型的项目,它甚至一次性可以把源代码全部读完。

多模态API

Gemini最强的就是它的原生多模态能力,也就是实时的音视频通话。不过这个功能是使用websocket的API来实现的。爬爬虾自己写了一个项目用来代理Gemini的Websocket API。

Worker代理WebSocket多模态:https://github.com/tech-shrimp/gemini-proxy

现在项目还非常的简陋,如果本期视频点赞播放量高的话,我会把这个项目完善一下,把前后台的功能都加上。

这里我回到Cloudflare,找到左侧的workers and page,点击创建,点击创建worker。

worker的名字我叫做gemini-websocket-proxy,在右下角点击部署好,右上角点击编辑代码。

这里来到我写的这个Github项目,把这个worker.js里面的代码复制出来,然后拷贝到cloudflare的worker.js,把它覆盖掉。

拷贝完成以后,我们点击右上角的部署,点击设置,这里还是给他添加一个域名。

我们来测试一下。我在Github上面找了一个Gemini的客户端项目,这个项目只有5个star,它是使用原生js来实现的一个Gemini的多模态API,现在都非常的简陋。我们先跑起来再说,后期有时间,我把它跟proxy项目合并起来,改造一下。

Gemini多模态客户端:https://github.com/ViaAnthroposBenevolentia/gemini-2-live-api-demo

首先我先把配置文件创建出来,按照模板新建一个config.js文件 。把我谷歌GMAI的API Key填到里面。

接下来我来修改这个文件,在core里面有一个websocket-client.js,把这个连接地址改一下,改成我自己的域名。

我把它启动一下,我们按照他的说明把项目启动一下。我打开一个命令提示符CD,然后进入项目目录。接下来,我把这个命令执行一下,启动成功。


http://www.ppmy.cn/embedded/153804.html

相关文章

阿里云ios镜像源

阿里云镜像源:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 下载centos7

TCP和UDP

UDP(User Datagram Protocol,用户数据报协议)和TCP(Transmission Control Protocol,传输控制协议)都是互联网协议套件中的核心协议,用于在网络中的不同设备之间传输数据。下面是对这两种协议的基…

postgresql|数据库|利用sqlparse和psycopg2库批量按顺序执行SQL语句(psyconpg2新优化版本)

一、 旧版批量执行SQL脚本的python文件缺点,优点,以及更新内容 书接上回,postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)_python sql psycopg2-CSDN博客 这个python脚本写了很久了,最近开始…

stacking中如何把基础学习器设置为ann神经网络

在Stacking集成学习方法中,将人工神经网络(ANN)作为基础学习器是可行的,以下是一般的步骤: 一、数据准备 数据划分 首先,将原始数据集划分为训练集和测试集。例如,对于一个包含 n n n 个样本的数据集 D =

【traefik】forwadAuth中间件跨namespace请求的问题

前情提要 - fowardAuth鉴权中间件的使用: 【traefik】使用forwardAuth中间件做网关层的全局鉴权 1. 问题 我的 traefik-ingress-controller 所在 namespace: traefik 业务服务所在 namespace: apps 路由与 forwardAuth 中间件配置如下: # 路由 apiV…

Apache Hop从入门到精通 第二课 Apache Hop 核心概念/术语

1、apache hop核心概念思维导图 虽然apache hop是kettle的一个分支,但是它的概念和kettle还是有一些区别的,下图是我根据官方文档梳理的appache hop的核心概念思维导图。 2、Tools(工具) 1)Hop Conf Hop Conf 是一个…

取消项目的版本控制

ls -a 如果看到 .git 目录,说明这是一个独立的 Git 仓库(或者是父仓库中的一个“子仓库”)。 rm -rf .git 删除这个 .git 文件夹后,文件夹便会变成一个普通文件夹,不再包含 Git 版本控制信息。

ASP.NET Core的部署、维护、日志记录和错误处理

一、日志记录(Logging) 1.1 日志记录的概念 日志记录是一种记录系统运行状态、活动和事件的重要机制。在软件开发和系统管理中,日志记录扮演着关键角色,用于追踪应用程序的执行过程、监视系统的健康状况、诊断问题和安全审计等。在ASP.NET Core等现代W…