国内免代理使用Gemini API

在这里插入图片描述

提出问题

谷歌的 Gemini API 是目前老苏能找到的唯一的、可以免费使用的顶级大模型。

我们这里说的免费是指 API 调用,而不是在网页上免费聊天。而且免费也是指在**免费层级 ** ( Free of charge) 之内。当然这个额度对个人用户来说,是足够用的

唯一的问题是,我们怎么才能访问到 Gemini API

以· Cherry Studio 为例,如果没有网络代理的情况下,会直接报错

连接失败 [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent: Failed to fetch

有代理,但是所处的地区不支持 Gemini API 的情况下,也会报错

连接失败 [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent: [400 ] User location is not supported for the API use.

只有都满足的情况下,才能连接成功

这个对于大部分人来说,是非常困难的

背景知识

Gemini

什么是 Gemini ?

GeminiGoogle 开发的先进的大型语言模型 (LLM)。它被设计为具有高度的多模态能力。

这意味着它可以理解和生成多种类型的内容,包括:

  • 文本: 生成各种风格的文本,回答问题,总结内容等等。
  • 代码: 编写和调试代码,解释代码,甚至将代码从一种语言翻译成另一种语言。
  • 图像: 理解图像内容,并根据图像生成描述或进行推理。
  • 音频: 处理音频数据,理解语音,并生成音频内容。
  • 视频: 分析视频内容,理解场景,并生成视频描述。

主要特点

  • 多模态能力: 能够理解和生成多种类型的数据,使其在各种任务中表现出色。
  • 强大的推理能力: 能够进行复杂的推理和逻辑思考,解决复杂的问题。
  • 先进的理解能力: 能够理解上下文和细微差别,从而提供更准确和相关的答案。
  • 生成能力: 能够生成高质量的文本、代码、图像和音频。
  • 高度可扩展性: 可以根据不同的任务进行调整和优化。

openai-gemini

什么是 openai-gemini ?

openai-gemini 是一个 serverless 的代理项目,用于将 Gemini API 转换为 OpenAI API 。它提供了一个免费的、个人使用的 OpenAI 兼容端点,使用户能够方便地访问 Gemini 的功能。

主要特点

  • 免费使用Gemini API 是免费的,但许多工具仅支持 OpenAI API。此项目解决了这一限制。
  • serverless:项目运行在云端,无需用户管理服务器,简化了部署过程。
  • 易于部署:可以在多个云服务提供商(如 VercelNetlifyCloudflare)上轻松部署,并支持本地开发。

使用场景

  • 用户可以通过配置 API 地址和密钥,使用该代理进行聊天生成和嵌入请求。
  • 适合个人开发者和小型团队,特别是需要访问 AI 功能而又不想承担高成本的用户。

总的来说,openai-gemini 提供了一种简便的方式,让用户能够利用 Gemini API 的强大功能,同时保持与 OpenAI API 的兼容性。

解决方案

虽然 openai-gemini 项目只是协议转换,但老苏希望通过在 vercel 上部署,利用 vercel 的网络,最终能够实现,在使用时不需要科学上网,也能够正常使用 Gemini API

获取 API 密钥

第一步,我们需要申请一个免费的 Gemini API key

在浏览器中打开 https://aistudio.google.com/app/apikey,创建一个 API 密钥

这一步需要网络和区域都满足才行,后面使用就不需要满足网络条件了;

Vercel 部署

第二步、部署 openai-gemini 项目

项目支持在 VercelNetlifyCloudflare 上部署,当然首先要在对应的平台上有账号。

老苏以 Vercel 为例。在浏览器中打开 https://github.com/PublicAffairs/openai-gemini,下拉找到 Deploy with Vercel,直接点 Deploy 开始部署

Create 创建

部署完成后

如果您在浏览器中打开新部署的站点,您将只会看到一条 404 Not Found 消息。这是意料之中的,因为 API 并非设计用于直接浏览器访问。

建议绑定自己的域名

Cherry Stduio

要使用它,您应该在 Cherry Stduio 设置中先添加一个自定义的供应商,例如: vercel

然后再相应字段中输入您的 API 地址和 Gemini API 密钥

  • API 密钥:填入我们前面生成的 Gemini API 密钥;
  • API 地址:填入 vercel 生成的站点地址;

如果上面的内容都是正确的,点 管理 能看到所以支持的模型

根据需要,点 + 号添加

测试成功

就可以开始聊天了

One API

主要区别就在于 Base URL,需要以 /v1 结尾

设置完成后

测试一下

速度在 0.6 ~1.5 秒之间

总结

不管是申请 Gemini API key ,还是访问 github 的代码地址,都是需要用到网络代理的,如果你不具备这样的条件,也不想折腾,可以用国产大模型的 API 来替代

目前硅基流动(SiliconFlow),注册就送 2000Tokens,虽然不是免费,但也够用一阵子的

注册地址

https://cloud.siliconflow.cn/i/NkUiXVhQ

参考文档

PublicAffairs/openai-gemini: Gemini ➜ OpenAI API proxy. Serverless!
地址:https://github.com/PublicAffairs/openai-gemini

my-openai-gemini-demo.vercel.app
地址:https://my-openai-gemini-demo.vercel.app/

当前提供的信息主要集中在GNN模型在识别软件漏洞方面的局限性和改进方向[^1]。然而,关于如何在Java中调用Gemini大模型的API接口的信息并未在此提及。 尽管如此,在通常情况下,要在Java应用程序中调用任何RESTful API服务(假设Gemini提供的是基于HTTP/HTTPS协议的服务),可以采用如下方式: ### 使用HttpURLConnection发送GET请求 ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class ApiCaller { public static void main(String[] args) throws Exception { URL url = new URL("https://api.example.com/gemini-endpoint"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; StringBuilder content = new StringBuilder(); while ((inputLine = in.readLine()) != null) { content.append(inputLine); } in.close(); conn.disconnect(); System.out.println(content.toString()); } } ``` 对于POST请求以及更复杂的场景比如认证、参数传递等,则需进一步配置`HttpURLConnection`对象的相关属性或考虑使用更加高级别的库如Apache HttpClient或是OkHttp来简化开发过程并提高效率。 值得注意的是,实际操作时应当查阅最新的官方文档获取确切的支持方法和必要的安全措施,因为不同的API可能会有不同的要求和特性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值