国内免代理使用Gemini API
提出问题
谷歌的 Gemini API 是目前老苏能找到的唯一的、可以免费使用的顶级大模型。
我们这里说的免费是指
API调用,而不是在网页上免费聊天。而且免费也是指在**免费层级 ** (Free of charge) 之内。当然这个额度对个人用户来说,是足够用的
唯一的问题是,我们怎么才能访问到 Gemini API?
以· Cherry Studio 为例,如果没有网络代理的情况下,会直接报错
| 1 | 连接失败 [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent: Failed to fetch | 

有代理,但是所处的地区不支持 Gemini API 的情况下,也会报错
| 1 | 连接失败 [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 ?
Gemini是LLM)。它被设计为具有高度的多模态能力。
这意味着它可以理解和生成多种类型的内容,包括:
- 文本: 生成各种风格的文本,回答问题,总结内容等等。
- 代码: 编写和调试代码,解释代码,甚至将代码从一种语言翻译成另一种语言。
- 图像: 理解图像内容,并根据图像生成描述或进行推理。
- 音频: 处理音频数据,理解语音,并生成音频内容。
- 视频: 分析视频内容,理解场景,并生成视频描述。
主要特点
- 多模态能力: 能够理解和生成多种类型的数据,使其在各种任务中表现出色。
- 强大的推理能力: 能够进行复杂的推理和逻辑思考,解决复杂的问题。
- 先进的理解能力: 能够理解上下文和细微差别,从而提供更准确和相关的答案。
- 生成能力: 能够生成高质量的文本、代码、图像和音频。
- 高度可扩展性: 可以根据不同的任务进行调整和优化。
openai-gemini
什么是 openai-gemini ?
openai-gemini是一个serverless的代理项目,用于将Gemini API转换为OpenAI API。它提供了一个免费的、个人使用的OpenAI兼容端点,使用户能够方便地访问Gemini的功能。
主要特点
- 免费使用:Gemini API是免费的,但许多工具仅支持OpenAI API。此项目解决了这一限制。
- serverless:项目运行在云端,无需用户管理服务器,简化了部署过程。
- 易于部署:可以在多个云服务提供商(如 Vercel、Netlify和Cloudflare)上轻松部署,并支持本地开发。
使用场景
- 用户可以通过配置 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 项目
项目支持在 Vercel、Netlify 和 Cloudflare 上部署,当然首先要在对应的平台上有账号。
老苏以 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),注册就送 2000 万 Tokens,虽然不是免费,但也够用一阵子的
注册地址
https://cloud.siliconflow.cn/i/NkUiXVhQ

参考文档
PublicAffairs/openai-gemini: Gemini ➜ OpenAI API proxy. Serverless!
地址:https://github.com/PublicAffairs/openai-geminimy-openai-gemini-demo.vercel.app
地址:https://my-openai-gemini-demo.vercel.app/
