Files
new-pipeline/README.md

73 lines
2.7 KiB
Markdown
Raw Normal View History

2026-07-27 17:29:26 +08:00
# new-pipeline
当前版本:`v1.1.0`
2026-07-27 17:29:26 +08:00
将 Hugging Face 镜像中的 GGUF 模型筛选、查重后,提交到 ModelHub
执行适配验证。项目已按 ModelHub 智能体策略运行规范进行容器化。
## 运行方式
平台运行时必须提供:
- `STRATEGY_ID`:当前策略 ID提交任务时写入 `strategyId`
默认模式会持续扫描所选用户的全部模型。发现符合条件且未入库的模型后立即加入提交队列;提交端遇到平台任务上限时等待,扫描端继续工作。
ModelHub 登录账号和密码按照当前部署约定固定在
`modelhub_pipeline_resumable.py` 中,不需要额外配置环境变量。
2026-07-27 17:29:26 +08:00
可选变量:
- `PORT`:健康检查端口,默认 `8080`
- `PIPELINE_MODE``continuous`(默认,持续扫描)或 `batch`(兼容旧的四步批处理)。
- `PIPELINE_SCAN_INTERVAL_SECONDS`:持续模式扫描间隔,默认 `1800` 秒。
- `HF_START_PAGE` / `HF_END_PAGE`:扫描页范围;结束页为 `0` 时持续翻页直到没有数据。
- `HF_MAX_PAGES`:单次扫描最大页数,默认 `0` 表示不限制。
- `HF_PER_PAGE`:每页模型数,默认 `100`
- `PIPELINE_RETRY_FAILED`:是否重试历史失败模型,默认 `true`
2026-07-27 17:29:26 +08:00
- `PIPELINE_RUN_MODE``resume``fresh`,默认 `resume`
- `PIPELINE_START_STEP`:从第 14 步中的哪一步开始,默认 `1`
- `PIPELINE_FORCE_RERUN_STEPS`:强制重跑的步骤,例如 `1,2,3`
- `PIPELINE_RUN_INTERVAL_SECONDS`:成功完成后再次运行的间隔,默认 `3600`
- `PIPELINE_RETRY_INTERVAL_SECONDS`:发生未处理异常后的重试间隔,默认 `60`
本地运行:
```powershell
$env:STRATEGY_ID="your-strategy-id"
python main.py
2026-07-27 17:29:26 +08:00
```
健康检查:
```text
GET http://127.0.0.1:8080/health
GET http://127.0.0.1:8080/
2026-07-27 17:29:26 +08:00
```
只要策略服务进程存活,`/health` 返回 HTTP 200。根路径返回策略 ID 和
后台流水线运行状态,但不会返回账号、密码或令牌。
2026-07-27 17:29:26 +08:00
## Docker
```bash
docker build -t new-pipeline .
docker run --rm -p 8080:8080 \
-e STRATEGY_ID=your-strategy-id \
new-pipeline
```
镜像监听 `8080` 端口,并处理 `SIGTERM`。收到停机信号后,后台等待和轮询
会立即停止;进行中的 HTTP 请求最长等待 20 秒,随后关闭会话并退出。
`vendor/` 保存了 Linux x86_64 / Python 3.11 的离线 wheel。镜像构建不会访问
PyPI避免平台构建环境网络较慢时发生依赖下载超时。
2026-07-27 17:29:26 +08:00
运行时产生的断点文件位于 `/app/pipeline_outputs`。如需跨 Pod 保留断点,
应为该目录挂载持久卷。
平台的 CPU/内存 requests 与 limits 由部署配置设置,不在 Dockerfile 中声明:
- requests`100m CPU / 256 Mi`
- limits`1 CPU / 512 Mi`