# new-pipeline 当前版本:`v1.1.0` 将 Hugging Face 镜像中的 GGUF 模型筛选、查重后,提交到 ModelHub 执行适配验证。项目已按 ModelHub 智能体策略运行规范进行容器化。 ## 运行方式 平台运行时必须提供: - `STRATEGY_ID`:当前策略 ID,提交任务时写入 `strategyId`。 默认模式会持续扫描所选用户的全部模型。发现符合条件且未入库的模型后立即加入提交队列;提交端遇到平台任务上限时等待,扫描端继续工作。 ModelHub 登录账号和密码按照当前部署约定固定在 `modelhub_pipeline_resumable.py` 中,不需要额外配置环境变量。 可选变量: - `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`。 - `PIPELINE_RUN_MODE`:`resume` 或 `fresh`,默认 `resume`。 - `PIPELINE_START_STEP`:从第 1–4 步中的哪一步开始,默认 `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 ``` 健康检查: ```text GET http://127.0.0.1:8080/health GET http://127.0.0.1:8080/ ``` 只要策略服务进程存活,`/health` 返回 HTTP 200。根路径返回策略 ID 和 后台流水线运行状态,但不会返回账号、密码或令牌。 ## 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,避免平台构建环境网络较慢时发生依赖下载超时。 运行时产生的断点文件位于 `/app/pipeline_outputs`。如需跨 Pod 保留断点, 应为该目录挂载持久卷。 平台的 CPU/内存 requests 与 limits 由部署配置设置,不在 Dockerfile 中声明: - requests:`100m CPU / 256 Mi` - limits:`1 CPU / 512 Mi`