Linuxword Global
当前位置: Linux技术 > Gemini Balance:Gemini模型API兼容OpenAI格式,解锁区域限制并支持多API Key轮询

综合介绍

Gemini Balance是一个基于FastAPI框架开发的OpenAI API代理服务,旨在提供高效的多API Key管理和优化功能。该项目支持Gemini模型调用,主要功能包括多API Key轮询、认证鉴权、流式响应、CORS跨域支持和健康检查接口。通过使用Python 3.9+和Docker等技术栈,Gemini Balance为开发者提供了一个灵活且高效的API代理解决方案,适用于需要高并发和高可靠性的应用场景。

de764f6b7eec4e8

 

功能列表

  • 多API Key轮询支持
  • Bearer Token认证
  • 支持流式响应
  • CORS跨域支持
  • 健康检查接口
  • 支持Gemini模型调用
  • 支持搜索功能
  • 支持代码执行

 

使用帮助

环境要求

  • Python 3.9+
  • Docker(可选)

安装依赖



pip install -r requirements.txt

配置文件

创建.env文件并配置以下参数:



API_KEYS=["your-api-key-1","your-api-key-2"]
ALLOWED_TOKENS=["your-access-token-1","your-access-token-2"]
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
TOOLS_CODE_EXECUTION_ENABLED=true
MODEL_SEARCH=["gemini-2.0-flash-exp"]

Docker部署



docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance

API接口

  • 获取模型列表


  GET /v1/models
Authorization: Bearer your-token
  • 聊天完成


  POST /v1/chat/completions
Authorization: Bearer your-token
{
"messages": [...],
"model": "gemini-1.5-flash-002",
"temperature": 0.7,
"stream": false,
"tools": []
}
  • 获取Embedding


  POST /v1/embeddings
Authorization: Bearer your-token
{
"input": "Your text here",
"model": "text-embedding-004"
}
  • 健康检查


  GET /health

代码结构

  • app/
    • api/
    • routes.py:API路由
    • dependencies.py:依赖注入
    • core/
    • config.py:配置管理
    • security.py:安全认证
    • services/
    • chat_service.py:聊天服务
    • key_manager.py:Key管理
    • model_service.py:模型服务
    • schemas/
    • request_model.py:请求模型
    • main.py:主程序入口
  • Dockerfile:Docker配置
  • requirements.txt:项目依赖

安全特性

  • API Key轮询机制
  • Bearer Token认证
  • 请求日志记录
  • 失败重试机制
  • Key有效性检查

注意事项

  • 请确保妥善保管API Keys和访问令牌
  • 建议在生产环境中使用环境变量配置敏感信息
  • 默认服务端口为8000
  • API Key失败重试次数默认为10次
  • 支持的模型列表请参考Gemini API文档

 

补充:huggingface部署gemini代理,账号轮询调用,解锁区域限制

1.space空间
Gemini Balance - a Hugging Face Space by snailyp

df2fc80fe87bde2

 

2.修改visibility为Public(一定注意修改成public,不然访问不到),配置ALLOWED_TOKENS,API_KEYS,BASE_URL默认

6e9f52261bd0d12

ALLOWED_TOKENS 格式为["自定义apikey"],注意中括号,逗号,引号都有严格遵循。
API_KEYS格式为单个key的形式:["gemini_key1"],多个key的形式["gemini_key1","gemini_key2"],注意中括号,逗号,引号都有严格遵循。
BASE_URL保持默认

 

3.等待部署成功,部署成功后,会出现如下的日志和running状态

46906867a6027c5

 

4.这时该huggingface服务的默认host为huggingface用户名-gemini-balance.hf.space,比如我的就是snailyp-gemini-balance.hf.space

注意:huggingface服务48h不使用会进入sleeping,建议通过青龙面板或者uptime kuma等定时任务进行保活。(直接用get请求调用https://用户名-gemini-balance.hf.space即可)

 

5.支持的端点/hf/v1/models和/hf/v1/chat/completions

 

6.huggingface域名国内可能无法直接访问,hf.space 好像可以访问,如果不能访问,可以参考下面的流程。

可以通过cf workers代理一下,并且绑定自定义域名,便可在国内访问了,cf worker代理代码如下,url.host修改成自己的:



export default { async fetch(request, env) { const url = new URL(request.url); url.host = 'xxx-gemini-balance.hf.space'; url.pathname = "/hf" + url.pathname; return fetch(new Request(url, request)) } }

注意:经过代理后的端点去掉了/hf,因此现在的端点变成了/v1/models和/v1/chat/completions,客户端的配置需要注意一下

 

7.一些限制,目前还无法进行图片处理和结构话输出

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) *** 在线联系博主***
+1(323)529-5889

TeleGram联系

WhatsAPP联系

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

关于VmShell INC

VMSHELL INC 是一家成立于2021年的美国云计算服务公司,总部位于怀俄明州谢里丹,专注于提供全球数据中心的虚拟机服务器租赁和全球金融服务。 公司旗下品牌包括VmShell 和ToToTel,业务覆盖亚洲和美洲以及欧洲,致力于为外贸企业提供高效、稳定的网络解决方案。购买CMI香港服务器

站点统计

  • 文章总数: 3149 篇
  • 草稿数目: 0 篇
  • 分类数目: 9 个
  • 独立页面: 0 个
  • 评论总数: 3 条
  • 链接总数: 0 个
  • 标签总数: 48420 个
  • 注册用户: 139 人
  • 访问总量: 8,672,433 次
  • 最近更新: 2025年12月16日