Files
new-pipeline/README.md

73 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`:从第 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
```
健康检查:
```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`