73 lines
2.7 KiB
Markdown
73 lines
2.7 KiB
Markdown
# 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`
|