算法管理
算法管理维护平台内可复用的自定义算法模板。每个模板记录一个 Docker 镜像引用、一份参数 Schema 与一组资源限制;流程管理 的处理规则在匹配到数据集后,按模板在该数据集上拉起容器,把数据集挂载为只读输入,并回收运行报告与制品。

使用前提
| 项 | 内容 |
|---|---|
| 菜单入口 | 管理 → 流程 → 流程总览 → 「后处理算法」→ 算法库管理 |
| 备用入口 | 流程 → 处理规则 → 运行自定义算法步骤 → 算法选择框旁的「新建」 |
| 路由 | /algorithms |
| 页面权限 | 「查看流程」 |
| 接口权限 | 「查看训练」(列表与详情)、「创建训练任务」(新建、编辑、启停、删除) |
| 可写范围 | 全局算法仅管理员可写;项目算法需项目经理且对目标项目具备写权限 |
| 依赖 | 镜像已推送至执行节点可访 问的仓库;执行节点具备容器运行环境 |
模块权限的配置方式见 模块权限。
算法定义与操作
算法字段
新建与编辑页维护以下字段。
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | 文本 | 是 | 无 | 最大 200 字符;处理规则按名称与 ID 引用 |
| 范围 | 枚举 | 是 | 全局 | 全局:全平台可用;项目:仅所选项目可用 |
| 镜像引用 | 文本 | 是 | 无 | registry/repo:tag 或 Docker Hub 的 repo:tag;最大 500 字符 |
| 描述 | 文本 | 否 | 空 | 最大 500 字符 |
| 启用 | 开关 | 否 | 开启 | 关闭后处理规则无法选用该算法 |
| 参数 Schema | JSON | 是 | 空对象 | JSON Schema,用于生成运行时参数表单 |
| 资源限制 | JSON | 否 | 见下表 | 容器资源上限 |

参数 Schema
参数 Schema 描述运行时表单字段,平台据此生成参数输入控件。
| 项 | 取值 | 说明 |
|---|---|---|
| 字段类型 | string、number、integer、boolean、array、object | 由 JSON Schema 定义 |
| 枚举约束 | enum | 限制可选值 |
| 默认值 | default | 运行时表单的初始值 |
| 必填项 | required 数组 | 未填写时拒绝运行 |
| 数值范围 | minimum、maximum | 数值型字段的上下限 |
示例:
{
"type": "object",
"properties": {
"threshold": { "type": "number", "title": "质量阈值", "default": 0.8, "minimum": 0, "maximum": 1 },
"mode": { "type": "string", "title": "检测模式", "enum": ["strict", "normal", "loose"], "default": "normal" },
"enable_video": { "type": "boolean", "title": "生成视频", "default": false }
},
"required": ["threshold"]
}
运行时填写的参数转换为容器命令行参数,规则为 --key value;布尔值 true 转为 --key,false 省略。

资源限制
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
memory_mb | 数值 | 2048 | 内存上限,单位 MB |
cpus | 数值 | 1 | CPU 核数上限 |
pids_limit | 数值 | 100 | 进程数上限 |
timeout_seconds | 数值 | 3600 | 运行超时,单位秒 |
network_enabled | 布尔 | false | 是否允许容器访问网络 |
示例:
{
"memory_mb": 2048,
"cpus": 1,
"pids_limit": 100,
"timeout_seconds": 3600,
"network_enabled": false
}
镜像输入输出约定
平台以固定参数启动容器,算法镜像需按下列路径读写。
| 路径 | 读写 | 必需 | 说明 |
|---|---|---|---|
/input/dataset.{扩展名} | 只读 | 是 | 平台挂载的数据集文件,扩展名与数据集一致 |
/output/report.json | 可写 | 是 | 运行报告,写入运行记录的 results 字段 |
/output/artifacts/* | 可写 | 否 | 视频、图片等制品,平台上传并记录到运行记录 |
stdout 中的 [PROGRESS] 42 message | 输出 | 否 | 平台解析为运行进度 |
平台固定传入 --input、--output、--mode 三个参数,--mode 取值为 qc 或 preprocess。
| 模式 | 行为 |
|---|---|
| qc | 不改变原始数据,仅生成报告与制品 |
| preprocess | 允许通过制品输出新文件,平台不自动替换原数据集 |