type
status
date
slug
summary
tags
category
icon
password
项目介绍 ✨
概述
Gemini Balance 是一个基于 Python FastAPI 构建的强大应用程序,旨在为您提供 Google Gemini API 的代理和负载均衡功能。🚀 它可以帮助您轻松管理多个 Gemini API Key,并通过简单的配置实现 Key 的智能轮询、安全认证、灵活模型过滤和实时状态监控。此外,我们还集成了便捷的图像生成和多种图床上传功能,并贴心地支持 OpenAI API 格式的代理,让您的开发更加顺畅!
主要功能
- 多 Key 负载均衡: 轻松配置多个 Gemini API Key,实现智能轮询,提高可用性。🔄
- 可视化配置即时生效: 在管理后台修改配置,无需重启服务,即刻生效!⚡
- 双协议API 兼容: 同时支持 Gemini 和 OpenAI 格式的 CHAT API 请求转发,兼容性更强。🤝
- 支持图文对话和修改图片: 特定模型支持图文对话和强大的修图功能。🖼️
- 支持联网搜索: 特定模型支持联网搜索,获取实时信息。🌐
- Key 状态监控: 提供直观的可视化页面,实时监控各 Key 的状态和使用情况。📊
- 详细的日志记录: 提供详细的错误日志,助您快速定位和解决问题。📜
- 支持自定义Gemini代理: 灵活配置自定义的 Gemini API 代理地址。🔗
- OpenAI画图接口兼容: 兼容 OpenAI 的图像生成接口,扩展您的创意空间。🎨
- 灵活的密钥添加方式: 支持通过正则表达式批量添加密钥,并自动去重,省时省力。🔑
- 兼容OpenAI格式Embeddings接口: 完美适配 OpenAI 格式的 embeddings 接口。🧠
- 流式响应优化: 可选的流式输出优化器,带来更流畅的交互体验。💨
- 失败重试与 Key 管理: 智能处理 API 请求失败,自动重试并管理失效 Key。🛡️
- Docker 支持: 提供 AMD 和 ARM 架构的 Docker 镜像,部署更便捷。🐳
- 模型列表自动维护: 自动获取并兼容 OpenAI/Gemini 模型列表,始终保持最新。📋
- 支持移除不使用的模型: 通过配置轻松过滤掉不需要的模型。🗑️
技术栈
- 后端: Python, FastAPI, Uvicorn 🐍
- 数据库: MySQL (根据配置项推断) 💾
- 部署: Docker 📦
要感谢snailyp大佬开发的gemini-balance 项目地址:https://github.com/snailyp/gemini-balance
clawcloud上部署sqlite版本
一、申请注册多个Gemini API Key
注册google账号就可以免费申请Gemini API密钥。
申请地址 https://aistudio.google.com/

有了Gemini API密钥后就可以调用API使用Gemini 大模型的能力了。
注册多个google账号就可以申请多个Gemini API 密钥。
二、注册ClawCloud账号
ClawCloud是一个成立于2024年的云计算平台,总部位于新加坡,ClawCloud旨在简化技术栈的复杂性,帮助用户从编码到生产的整个过程只需几次点击即可完成 。它提供免费的每月5美元GitHub验证赠金,无需信用卡即可开始使用,并承诺在1分钟内完成设置 。
ClawCloud 在国内可以直接访问,Github 账户注册时间超过 180天就有每个月5美元的赠送额度,足够支撑我们部署gemini-balance的应用了。

点击 Github 登录

进入 Github 登录界面后,输入账户名、密码,随后点击 Sign in。

登录以后就在用户中心Account Center就可以看到每个月赠送的额度,如果有使用还可以看到目前使用的额度。

三、通过 ClawCloud Run 部署gemini-balance
gemini-balance官方有详细的部署文档
https://gb-docs.snaily.top/guide/setup-clawcloud-sqlite.html
大家可以按照这个文档一步步部署
- 部署项目
- 进入主界面后,点击左上角 Region,选择服务器地址。推荐选择 Singapore。选择完成后,网页会刷新,并在服务器地址前☑️。

- 点击 App Launchpad。

- 进入页面后,点击页面右上角 Create App,进入配置页面。

- 进入配置页面后,按顺序填写信息(不熟悉项目名称的,请打开在线翻译)。
- Application Name:为方便识别管理,建议填写本项目名字
geminibalance
- Image:
Public
- Image Name:
ghcr.io/snailyp/gemini-balance:latest
- Usage:
Fixed
; - Replicas:
1
- CPU:
1
- Memory:
512
- Network
- Container Port:
8000
- Enable Internet:点选为
Access
状态

说明:1. 若登录账号只选择部署 1 个项目,则推荐上述最高免费配置。2.目前免费用户每月流量为 10g,超出部分 0.05 美元/g。可根据流量使用情况选择服务器配置。


- Advanced Configura
- Environment Variables:点击 Add,随后粘贴以下变量。填写完成后点击 Add 完成配置。
变量说明如下:
变量名 | 说明 | 格式及示例 |
API_KEYS | Gemini API 密钥列表,用于负载均衡 | [“your-gemini-api-key-1”,“your-gemini-api-key-2”] |
ALLOWED_TOKENS | 允许访问的 Token 列表 | [“your-access-token-1”,“your-access-token-2”] |
AUTH_TOKEN | 【可选】超级管理员token,具有所有权限,不填默认使用 ALLOWED_TOKENS 的第一个 | sk-123456 |

- 添加玩环境变量后,再按照下图设置storage

- 返回页面最上方,点击 Deploy Application。弹窗提示Are you sure you want to deploy the application?选择 Yes。

- 等待几秒后,跳转至状态界面。此时,请确认页面左上角显示 running。若显示为其他状态,请稍后片刻;仍未显示 running,请确认你配置选项是否正确。需要修改的,可点击页面右下角 Manage Network 选项修改参数,或删除该项目重新部署。

- 将页面滚动到最下方,在 Network 选项卡中,查看右侧公网地址配置情况。一般情况下,显示 pending 表明还在处理当中,需要等待 2~5 分钟,直至pending 状态变为Available。 实际情况下, 2 分钟后即使公网地址前显示pending,亦可尝试在新的浏览器标签中打开该地址。若网页能正常显示本项目登录界面,则正常使用即可。若公网地址前的pending状态超过 10 分钟,且无法打开登录界面,原因可能是服务器过载,需要更长等待时间。建议换区或换服务商重新部署。

- 设置自定义域名
- 在cloudflare添加cname记录,如我希望域名为ggg.abc.xyz,cloudflare中这样设置,abc.xyz为托管在cloudflare域名
- 在clawcloud这样设置,这样就可以自定义域名访问

四、使用gemini-balance监控配置页面
gemini-balance贴心的带了一个监控配置页面,在这个界面可以配置多个Gemimi API 也可以监控Gemini API的调用情况。
- gemini-balance监控页面配置
- 复制项目公网访问地址后,在浏览器中打开。随后进入登录界面,输入密码即可进入。(如果没有更改配置,密码是
your-access-token-1
)

登录后可以进行相应的配置如添加更多的Gemini API Key

也可以监控Gemini API Key的调用情况

五、在 cherry studio使用GeminiBalance
- 以 cherry studio 为例
- 添加提供商。
- 提供商名称:任意填写
- 配置
- API 密钥:填写监控面板“API 密钥”选项卡中的“允许的令牌列表”。
- API 地址:填写 ClawCloud 中的公网访问地址。注意结尾不要出现“/”。



至此,部署完成。
最后看调用效果

- 作者:weny888
- 链接:https://weny888.com/article/233fe469-c405-803c-a07f-fa2e8ac362e5
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。