| --- |
| title: SCNet OpenAI API Proxy |
| emoji: 🐳 |
| colorFrom: blue |
| colorTo: gray |
| sdk: docker |
| app_port: 7860 |
| pinned: false |
| --- |
| |
| # SCNet → OpenAI Compatible API Proxy |
|
|
| 这是一个可以部署到 Hugging Face Space 的 Docker 版本,提供 OpenAI 兼容接口: |
|
|
| - `POST /v1/chat/completions` |
| - `GET /v1/models` |
| - `GET /healthz` |
| - `GET /` |
|
|
| ## 部署步骤 |
|
|
| 1. 在 Hugging Face 新建一个 Space,SDK 选择 **Docker**。 |
| 2. 把本目录里的文件上传到 Space 仓库根目录: |
| - `README.md` |
| - `Dockerfile` |
| - `go.mod` |
| - `main.go` |
| - `.dockerignore` |
| 3. 在 Space 的 **Settings → Variables and secrets** 里按需添加环境变量。 |
| 4. Space 自动 build 完成后即可使用。 |
|
|
| ## 环境变量 |
|
|
| | 变量 | 必填 | 说明 | |
| | --- | --- | --- | |
| | `API_KEY` | 否 | 设置后,调用方必须使用 `Authorization: Bearer <API_KEY>`。不设置则无鉴权。 | |
| | `SCNET_USERNAME` | 否 | SCNet 登录用户名。需要联网搜索模型时建议设置。 | |
| | `SCNET_PASSWORD` | 否 | SCNet 登录密码,建议在 Hugging Face Secrets 中设置。 | |
| | `SCNET_MAX_SESSIONS` | 否 | 最大缓存会话数,默认 `10`。 | |
| | `VERBOSE` | 否 | 设置为 `true` 或 `1` 输出更详细日志。 | |
| | `SCNET_CLEAN_ON_START` | 否 | 设置为 `true` 时启动时清理远端会话。默认不清理。 | |
| | `SCNET_CLEAN_ON_SHUTDOWN` | 否 | 设置为 `false` 时关闭时不清理远端会话。默认清理。 | |
| | `CACHE_FILE` | 否 | 会话缓存路径,默认 `/tmp/conversations.json`。 | |
| | `PORT` | 否 | Hugging Face 默认使用 `7860`,通常不需要改。 | |
|
|
| ## 调用示例 |
|
|
| 把 `<SPACE_URL>` 换成你的 Space 地址,例如 `https://用户名-Space名.hf.space`。 |
|
|
| ```bash |
| curl <SPACE_URL>/v1/chat/completions \ |
| -H "Content-Type: application/json" \ |
| -H "Authorization: Bearer $API_KEY" \ |
| -d '{ |
| "model": "deepseek-v4-pro", |
| "messages": [ |
| {"role": "user", "content": "你好"} |
| ], |
| "stream": false |
| }' |
| ``` |
|
|
| 如果没有设置 `API_KEY`,删除 `Authorization` 这一行。 |
|
|
| ## 可用模型 |
|
|
| 匿名模式通常可用: |
|
|
| - `deepseek-v4-pro` |
| - `deepseek-v4-flash` |
|
|
| 设置 `SCNET_USERNAME` / `SCNET_PASSWORD` 并登录成功后,还会暴露: |
|
|
| - `deepseek-v4-pro-search` |
| - `deepseek-v4-flash-search` |
|
|
| ## 本地 Docker 测试 |
|
|
| ```bash |
| docker build -t scnet-hf-space . |
| docker run --rm -p 7860:7860 \ |
| -e API_KEY=your_api_key \ |
| scnet-hf-space |
| ``` |
|
|
| 然后访问: |
|
|
| ```bash |
| curl http://localhost:7860/healthz |
| curl http://localhost:7860/v1/models |
| ``` |
|
|