Skip to content

HuggingFace部署数据库版本 🚀

一、准备工作 准备好了吗?清单在这里!📋

  • mysql数据库服务
  • huggingface账号
  • gemini_api_key

二、创建MySQL数据库 💾

1. 注册 aiven 账号 📝

2. 登录并选择个人计划,地区选择美国(与 Hugging Face IP 保持一致)🇺🇸

alt text

alt text

3. 创建 MySQL 服务,选择免费计划 🆓

alt text

alt text

4. 记录下数据库配置信息(后续部署服务时需要用到),这些信息对应 Gemini Balance 服务配置中的以下项(见图示)👇

alt text

三、Hugging Face 部署服务 ☁️

1. 注册或登录 Hugging Face 账号 🔑

2. 创建 Space,空间名可以随意填写(尽量独一无二),选择 Docker 环境。🐳

alt text

alt text

alt text

3. 选择 Files 选项卡,创建一个名为 Dockerfile 的文件。📄

alt text

填入下面内容,点击页面最下方的commit new file to main按钮

bash
FROM ghcr.io/snailyp/gemini-balance:latest
EXPOSE 7860
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]

alt text

4. 添加必要的环境变量 📝

选择settings,往下拉到Variables and secrets,new variavble新建公开变量,new secret新建私密变量(比如gemini密钥)

alt text

这些变量是必填的,正确填完之后,服务就会正常运行了 按顺序一个一个添加环境变量,先API 相关配置,再时区配置,最后数据库配置

配置项说明示例
API 相关配置
API_KEYS必填,Gemini API 密钥列表可以配置一个值,批量设置可以在web端进行(比较方便),用于负载均衡["gemini_key"] 数组,一定要包含中括号和引号
ALLOWED_TOKENS必填,允许访问的 Token 列表,该值为自定义值,可用于api调用,分享给朋友使用["allowed_key1"] 数组,一定要包含中括号和引号
AUTH_TOKEN可选,超级管理员token,具有所有权限也可以用于api调用,不填默认使用 ALLOWED_TOKENS 的第一个,web端登录需要用这个值sk-123456
时区配置
TZ时区设置,建议值 Asia/Shanghai
数据库配置
MYSQL_HOST必填,MySQL 数据库主机地址mysql-xxxxxxxx.h.aivencloud.com
MYSQL_PORT必填,MySQL 数据库端口100000
MYSQL_USER必填,MySQL 数据库用户名adafd
MYSQL_PASSWORD必填,MySQL 数据库密码123456
MYSQL_DATABASE必填,MySQL 数据库名称defaultdb

alt text

alt text

四、访问 Web 端 🌐

按照下面的步骤复制出请求 URL(这将是您在各种客户端中填写的 base_url),然后在浏览器(推荐使用 Chrome 浏览器)中打开该 URL。输入您配置的 AUTH_TOKEN 值,即可进入管理后台。💻 alt text

alt text

在这里,您可以方便地批量添加密钥,支持任意格式(系统会基于正则表达式进行匹配并自动去重)。最后,请务必点击页面下方的“保存”按钮,您的配置才会生效。💾 alt text