File size: 2,512 Bytes
79d8a2e | 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 82 83 84 85 86 87 88 89 90 91 92 | ---
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
```
|