--- 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!