linchuans commited on
Commit
b8eb995
·
verified ·
1 Parent(s): a72db18

Upload 5 files

Browse files
Files changed (5) hide show
  1. Dockerfile +20 -0
  2. Dockerfile_git +14 -0
  3. readme.md +62 -0
  4. requirements.txt +7 -0
  5. version.txt +1 -0
Dockerfile ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # 安装 unzip 工具
6
+ RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
7
+
8
+ COPY app.zip .
9
+ COPY requirements.txt .
10
+ COPY version.txt .
11
+ RUN mkdir -p app
12
+ # 解压 app.zip 文件
13
+ RUN unzip app.zip -d app && rm app.zip
14
+
15
+ RUN pip install --no-cache-dir -r requirements.txt
16
+
17
+ # 环境变量 (在 Hugging Face Spaces 中设置)
18
+ # ENV GEMINI_API_KEYS=your_key_1,your_key_2,your_key_3
19
+
20
+ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]
Dockerfile_git ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY ./app /app/app
6
+ COPY requirements.txt .
7
+ COPY version.txt .
8
+
9
+ RUN pip install --no-cache-dir -r requirements.txt
10
+
11
+ # 环境变量 (在 Hugging Face Spaces 中设置)
12
+ # ENV GEMINI_API_KEYS=your_key_1,your_key_2,your_key_3
13
+
14
+ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]
readme.md ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🚀 HAJIMI Gemini API Proxy
2
+
3
+ 基于某论坛上一位大佬[@Mrjwj34](https://github.com/Moonfanz)基于另一位大佬[@Moonfanzp](https://github.com/Moonfanz)的代码的修改修改而来,由于大佬好长时间没有维护,我自己也遇到些bug,就魔改了一下,求star求star求star
4
+
5
+ 这是一个基于 FastAPI 构建的 Gemini API 代理,旨在提供一个简单、安全且可配置的方式来访问 Google 的 Gemini 模型。适用于在 Hugging Face Spaces 上部署,并支持openai api格式的工具集成。
6
+ ### 使用文档
7
+ - [【推荐】huggingface的使用文档(手机电脑均可使用)](./wiki/huggingface.md)
8
+ - [termux部署的使用文档(手机使用)](./wiki/Termux.md)
9
+ - [docker部署的使用文档(服务器自建使用)](./wiki/docker.md)
10
+ ### 更新日志
11
+ * v0.1.0
12
+ * 使用vue重写前端界面,适配移动端
13
+ * 前端界面添加黑夜模式
14
+ * 支持为多模态模型上传图片
15
+ * 可用秘钥数量将异步更新,防止阻塞进程
16
+ * 这次真能北京时间16点自动重置统计数据了
17
+ * 为api秘钥使用统计新增模型使用统计,可分别统计使用不同模型的次数
18
+ * 修改默认api可用次数为100次
19
+ * 降低默认伪装信息长度为5,以减少对上下文的污染
20
+
21
+ * v0.0.5beta
22
+ * 新增“**伪装信息**功能,默认开启,可在转发消息中添加随机字符串伪装消息,防止被检测
23
+ * 修复若干bug
24
+ * 为前端界面新增**功能配置**栏目,可检查功能是否开启
25
+ * 北京时间16点自动重置统计数据
26
+ * 在环境变量中新增`RANDOM_STRING`,是否启用伪装信息,默认值为true
27
+ * 在环境变量中新增`RANDOM_STRING_LENGTH`,伪装信息长度,默认为20
28
+ * 为git用户提供单独的`Dockerfile_git`
29
+ * 历史版本更新日志请查看[update](./wiki/update.md)
30
+
31
+ ## ✨ 主要功能:
32
+
33
+ ### 🔑 API 密钥轮询和管理
34
+
35
+ ### 📑 模型列表接口
36
+
37
+ ### 💬 聊天补全接口:
38
+
39
+ * 提供 `/v1/chat/completions` 接口,支持流式(streaming)和非流式响应,与 OpenAI API 格式兼容。
40
+ * 自动将 OpenAI 格式的请求转换为 Gemini 格式。
41
+
42
+ ### 🔒 密码保护(可选):
43
+
44
+ * 通过 `PASSWORD` 环境变量设置密码。
45
+ * 提供默认密码 `"123"`。
46
+
47
+ ### 🚦 速率限制和防滥用:
48
+
49
+ * 通过环境变量自定义限制:
50
+ * `MAX_REQUESTS_PER_MINUTE`:每分钟最大请求数(默认 30)。
51
+ * `MAX_REQUESTS_PER_DAY_PER_IP`:每天每个 IP 最大请求数(默认 600)。
52
+ * 超过速率限制时返回 429 错误。
53
+
54
+ ### 🧩 服务兼容
55
+
56
+ * 提供的接口与 OpenAI API 格式兼容,便于接入各种服务
57
+
58
+ ## ⚠️ 注意事项:
59
+
60
+ * **强烈建议在生产环境中设置 `PASSWORD` 环境变量,并使用强密码。**
61
+ * 根据你的使用情况调整速率限制相关的环境变量。
62
+ * 确保你的 Gemini API 密钥具有足够的配额。
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn
3
+ httpx
4
+ python-dotenv
5
+ requests
6
+ apscheduler
7
+ jinja2
version.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ version=0.1.0