部署gemini-balance gemini轮询池
4

如何部署Gemini-Balance项目

  1. .env 文件

    # 配置文件 for gemini-balance
    
    # 数据库配置
    # 数据库类型,支持 'mysql' 或 'sqlite'
    DATABASE_TYPE=mysql
    
    # 如果使用 SQLite,设置 DATABASE_TYPE=sqlite 并指定数据库文件路径
    # 例如:
    # SQLITE_DATABASE=/www/wwwroot/gemini-balance/data/mydatabase.db
    
    # 如果使用 MySQL,设置 DATABASE_TYPE=mysql 并提供以下信息:
    MYSQL_HOST=xxx
    MYSQL_PORT=xxx
    MYSQL_USER=xxx
    MYSQL_PASSWORD=xxx
    MYSQL_DATABASE=xxx
    
    # Gemini API 密钥列表,用于负载均衡(必需)
    API_KEYS='[""]'
    
    # 允许的访问令牌列表(必需)
    ALLOWED_TOKENS='[""]'
    
    # 超级管理员令牌,具有所有权限(可选)
    AUTH_TOKEN=xxx
    
    # 用于测试密钥有效性的模型名称(可选)
    TEST_MODEL=gemini-2.0-flash
    
    # 支持图像生成的模型列表(可选)
    IMAGE_MODELS='["gemini-2.0-flash-exp"]'
    
    # 支持搜索的模型列表(可选)
    # SEARCH_MODELS='["gemini-2.0-flash-exp"]'
    
    # 禁用模型的列表(可选)
    # FILTERED_MODELS='["gemini-1.0-pro-vision-latest", ...]'
    
    # 启用代码执行工具(可选)
    # TOOLS_CODE_EXECUTION_ENABLED=false
    
    # 在响应中显示搜索结果链接(可选)
    # SHOW_SEARCH_LINK=true
    
    # 显示模型思考过程(可选)
    # SHOW_THINKING_PROCESS=true
    
    # 支持思考功能的模型列表(可选)
    # THINKING_MODELS='[]'
    
    # 思考功能预算映射(可选)
    # THINKING_BUDGET_MAP='{}'
    
    # Gemini API 基础 URL(可选)
    BASE_URL=https://generativelanguage.googleapis.com/v1beta
    
    # 每个密钥允许的失败次数(可选)
    MAX_FAILURES=3
    
    # 失败 API 请求的最大重试次数(可选)
    MAX_RETRIES=3
    
    # 检查禁用密钥恢复的间隔(小时,可选)
    CHECK_INTERVAL_HOURS=1
    
    # 应用时区(可选)
    TIMEZONE=Asia/Shanghai
    
    # 请求超时时间(秒,可选)
    TIME_OUT=300
    
    # 代理服务器列表(可选)
    # PROXIES='[]'
    
    # 日志级别(可选)
    LOG_LEVEL=INFO
    
    # 启用自动删除错误日志(可选)
    # AUTO_DELETE_ERROR_LOGS_ENABLED=true
    
    # 自动删除错误日志前的天数(可选)
    # AUTO_DELETE_ERROR_LOGS_DAYS=7
    
    # 启用自动删除请求日志(可选)
    # AUTO_DELETE_REQUEST_LOGS_ENABLED=false
    
    # 自动删除请求日志前的天数(可选)
    # AUTO_DELETE_REQUEST_LOGS_DAYS=30
    
    # 安全设置,JSON 格式(可选)
    SAFETY_SETTINGS='[{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF"}, {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "OFF"}, {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF"}, {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF"}, {"category": "HARM_CATEGORY_CIVIC_INTEGRITY", "threshold": "BLOCK_NONE"}]'
    
    # 付费 API 密钥,用于高级功能(可选)
    # PAID_KEY=your-paid-api-key
    
    # 图像生成模型(可选)
    # CREATE_IMAGE_MODEL=imagen-3.0-generate-002
    
    # 图像上传提供者:'smms', 'picgo', 'cloudflare_imgbed'(可选)
    UPLOAD_PROVIDER=smms
    
    # SM.MS API 令牌(可选)
    SMMS_SECRET_TOKEN=H2Acl2fTR3ptzL2WtgtnL12yjJn2V0TO
    
    # PicoGo API 密钥(可选)
    # PICGO_API_KEY=your-picogo-apikey
    
    # CloudFlare 图像床上传 URL(可选)
    # CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload
    
    # CloudFlare 图像床认证密钥(可选)
    # CLOUDFLARE_IMGBED_AUTH_CODE=your-cloudflare-imgber-auth-code
    
    # 启用流输出优化(可选)
    STREAM_OPTIMIZER_ENABLED=false
    
    # 流输出最小延迟(可选)
    # STREAM_MIN_DELAY=0.016
    
    # 流输出最大延迟(可选)
    # STREAM_MAX_DELAY=0.024
    
    # 短文本阈值(可选)
    # STREAM_SHORT_TEXT_THRESHOLD=10
    
    # 长文本阈值(可选)
    # STREAM_LONG_TEXT_THRESHOLD=50
    
    # 流输出块大小(可选)
    # STREAM_CHUNK_SIZE=5
    
    # 为不支持的模型启用伪流(可选)
    # FAKE_STREAM_ENABLED=false
    
    # 伪流心跳间隔(秒,可选)
    # FAKE_STREAM_EMPTY_DATA_INTERVAL_SECONDS=5
    
  2. docker-compose.yml 文件

    version: '3.8'
    
    services:
      gemini-balance:
        image: ghcr.io/snailyp/gemini-balance:latest
        ports:
          - "8000:8000"
        env_file:
          - .env
        volumes:
          - ./data:/app/data  # 如果使用 SQLite 数据库以持久化数据,请挂载此卷yaml
    
部署gemini-balance gemini轮询池
http://152.53.84.24:8090/archives/1749356880446
作者
Administrator
发布于
更新于
许可