Spaces:
Sleeping
Sleeping
| 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! | |