File size: 2,624 Bytes
2f1fad0
 
 
 
 
 
 
 
 
 
57f1ad7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: OnDemand API Proxy
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: docker
sdk_version: "3.10"
app_file: openai_ondemand_adapter.py
pinned: false
---
# OnDemand API Proxy

使用 Flask 开发的 OpenAI/OpenChat 兼容代理,支持 HuggingFace Space 上部署。内置 KEY 池,支持自动失效切换,并提供基于 Huggingface Space Secrets 的接口鉴权。

## 特性 (Features)
- **多 KEY 池轮询**:支持自动失效禁用和恢复。
- **OpenAI Chat/Completion API 支持**:兼容标准格式。
- **接口权限控制**:基于 `PRIVATE_KEY` 请求头的权限验证。
- **一键部署到 HuggingFace Spaces**- **多模型自动路由**:根据需求选择适配模型。

---

## 快速部署 (Quick Start)

### 1. 克隆项目 (Clone)

### 2. 添加 OnDemand API Key
编辑 `ONDEMAND_APIKEYS` 数组,将你的可用 KEY 逐行填入(至少一个):

```python
ONDEMAND_APIKEYS = [
    "请换为你自己的OnDemand API KEY1",
    "请换为你自己的OnDemand API KEY2",
]
```

### 3. 一键部署 (Deploy)
将代码推送到 HuggingFace Space,即可自动运行服务。

---

### 配置 API网址 和 PRIVATE_KEY
### 1. 设置 API网址
https://用户名-空间名.hf.space/v1

替换到需要调用 API 的地方。

### 2. 配置 Secrets 中的 PRIVATE_KEY
在 HuggingFace Space 的 Settings -> Secrets 页面中,添加以下配置:

PRIVATE_KEY	自定义的访问密钥(例如一段复杂的密码,默认为114514)用于接口权限验证,请勿公开。

---

通过以上配置,你即可完成 API 的集成,并使用 PRIVATE_KEY 对接口权限进行有效控制!

---

## 重要说明 (Important Notice)
1. 项目仅为 API 代理,请勿存储非法内容或滥用接口。
2. 如需扩展更多路径或更改权限逻辑,请修改 `check_private_key` 函数。
3. KEY 池中的所有 Key 会周期性健康检测,失效的 Key 会自动跳过。
4. 对话间隔超过时间(可自定义在代码内,默认十分钟)自动切换下一个账号,自动新建 session,开始新的上下文。
---

## 常见问题 (FAQ)

**Q: 如何修改密钥?**  
A: 在 HuggingFace Space 的 Secrets 中修改 `PRIVATE_KEY` 即可,无需停服。

**Q: KEY 用完/失效会怎样?**  
A: 自动切换到下一个可用 KEY。若全部 KEY 失效,返回 `500` 状态码并间隔自动重试。

**Q: 可以支持自定义 API 路径或白名单吗?**  
A: 可以,通过修改 `check_private_key()` 函数,指定哪些路径需要或不需要鉴权。

--- 

通过本 `README`,你可以轻松快速部署和使用 OnDemand API Proxy!