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

视频版:

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,然后进入项目目录。接下来,我把这个命令执行一下,启动成功。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云AI代码助手编程挑战赛-算法小助手

作品简介 一个可以帮助学习计算机各种算法的AI小助手,提升工作效率。 技术架构 使用Html语言完成图形化页面的样式,使用JavaScript语言来操作对应的逻辑代码。 实现过程 1、创建一个界面 2、获取数据 3、添加按钮与功能 4、程序优化调试 开发环境…

网络安全实验之钓鱼网站的制作及技巧

在红队攻击中,除漏洞以外最简洁高效的攻击方式无疑是钓鱼攻击,通过不同的钓鱼方式可达到不同的攻击效果,本次我会分享最常见的钓鱼手段之一的网站钓鱼技术,同时对可实现的攻击操作进行演示。 更多网站钓鱼实验科普,可…

用户注册模块用户校验(头条项目-05)

1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…

linux-28 文本管理(一)文本查看,cat,tac,more,less,head,tail

之前提到过linux的几个重要哲学思想,使用纯文本文件保存软件的配置信息是其中之一,所以大多数情况下,我们对整个系统的操作,都是通过编辑它的配置文件来完成,那也就意味着,处理文本文件是我们作为系统管理员…

JVM面试相关

JVM组成 什么是程序计数器 详细介绍Java堆 什么是虚拟机栈 能不能解释一下方法区? 直接内存相关 类加载器 什么是类加载器,类加载器有哪些 什么是双亲委派模型 类加载过程 垃圾回收 对象什么时候可以被垃圾回收器回收 JVM垃圾回收算法有那些 JVM的分代…

【Unity3D】利用IJob、Burst优化处理切割物体

参考文章: 【Unity】切割网格 【Unity3D】ECS入门学习(一)导入及基础学习_unity ecs教程-CSDN博客 【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor_unity ijobparallelfor-CSDN博客 工程资源地址&…

Armv8/Armv9架构从入门到精通-介绍

CSDN学院课程连接:https://edu.csdn.net/course/detail/39573 1 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验,擅长 Trustzone/TEE/ 安全的设计与开发,对 ARM 架构的安全领域有着深入的研究和丰富的实践经验,能够…

Cesium小知识:pointPrimitive collection 详解

Cesium.PointPrimitiveCollection 是 Cesium 中用于高效管理和渲染大量点(points)的一个类。它允许你创建和管理大量的 PointPrimitive 实例,这些实例可以用来表示地理空间中的点数据,如传感器位置、车辆位置、兴趣点等。与直接使用 Cesium.Entity 相比,PointPrimitiveCol…

Threejs实现 区块链网络效应

大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | A…

GitCode G-Star 光引计划终审前十名获奖项目公示

在技术的浩瀚星空中,GitCode 平台上的 G-Star 项目熠熠生辉。如今,“光引计划” 已圆满落幕,众多 G-Star 项目作者,一同分享项目在 GitCode 平台托管的宝贵体验,并深入挖掘平台的多样玩法。 众多投稿纷至沓来&#xf…

VRRP技术

堆叠 堆叠指将支持堆叠特性的交换机通过堆叠线缆连接到一起,解决交换机问题 (物理多台交换机变成逻辑上的一台交换机 去进行一个数据转发)聚合解决链路问题在不同的厂商中堆叠的技术: 思科:stackwise 思科智能堆叠VSS Virt…

primitive 的 Appearance编写着色器材质

import { nextTick, onMounted, ref } from vue import * as Cesium from cesium import gsap from gsaponMounted(() > { ... })// 1、创建矩形几何体,Cesium.RectangleGeometry:几何体,Rectangle:矩形 let rectGeometry new…

31_搭建Redis分片集群

Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Red…

快速上手 INFINI Console 的 TopN 指标功能

背景 在分布式搜索引擎系统(如 Easysearch、Elasticsearch 和 OpenSearch)中,性能监控至关重要。为了确保系统的高效运行和资源的合理分配,我们通常需要关注一段时间内关键资源的使用情况,特别是索引、节点和分片的内…

风水算命系统架构与功能分析

系统架构 服务端:Java(最低JDK1.8,支持JDK11以及JDK17)数据库:MySQL数据库(标配5.7版本,支持MySQL8)ORM框架:Mybatis(集成通用tk-mapper,支持myb…

探索AGI:智能助手与自我赋能的新时代

目录 1 AGI1.1 DeepMind Levels(2023年11月)1.2 OpenAI Levels(2024年7月)1.3 对比与总结1.4 AGI可能诞生哪里 2 基于AI的智能自动化助手2.1 通用型大模型2.2 专业的Agent和模型工具开发框架2.3 编程与代码生成助手2.4 视频和多模态生成2.5 商…

工具推荐:PDFgear——免费且强大的PDF编辑工具 v2.1.12

PDFgear——免费且强大的PDF编辑工具 v2.1.12 软件简介 PDFgear 是一款 完全免费的 PDF 软件,支持 阅读、编辑、转换、合并 以及 跨设备签署 PDF 文件,无需注册即可使用。它提供了丰富的 PDF 处理功能,极大提升了 PDF 文件管理的便捷性和效…

【机器学习】L1正则化与L2正则化

L1,L2正则化解决过拟合问题 目录 过拟合的原因 正则化的目标 L1,L2正则化 L1正则化 L2正则化 从概率的角度来看 L1 正则化与拉普拉斯分布 L2 正则化与高斯分布 过拟合的原因 过拟合发生时,模型学习到了训练数据中的噪声或细节&am…

【PyQt】如何在mainwindow中添加菜单栏

[toc]如何在mainwindow中添加菜单栏 如何在mainwindow中添加菜单栏 主要有两种方法: 1.直接创建mainwindow进行添加 2.使用ui文件加载添加 第二种方法更为常见,可以应用到实际 1.直接创建mainwindow进行添加 import sysfrom PyQt5.QtWidgets import …

1.组件的三大组成部分注意点(结构/样式/逻辑)scoped解决样式冲突/data是一个函数2.组件通信组件通信语法父传子子传父

学习目标 1.组件的三大组成部分注意点(结构/样式/逻辑) scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法 父传子 子传父 非父子通信(扩展) 3.综合案例:小黑记事本(组件版) …