文档版本:V1.0 创建日期:2026-06-05 负责人:[姓名已隐藏] 关联原型:
模型管理界面原型.html
一、项目背景
市"项目甲"体系中的多源视频智能检测工具,需要对各类 AI 识别模型进行统一管理和运维。现有系统缺少模型版本管理、识别目标配置、业务来源绑定等核心能力,无法满足生产环境对模型全生命周期管理的需求。
本需求文档描述模型管理中心的功能需求、界面设计和数据规范,作为前端开发和后端接口设计的依据。
二、设计目标
| 目标 | 说明 |
|---|---|
| 统一模型管理 | 在一个界面内完成模型的新增、编辑、启用/停用、版本更新全生命周期管理 |
| 业务来源绑定 | 支持按业务配置识别目标,前端不传则走默认逻辑,兼容历史接口 |
| 版本可追溯 | 模型 ID 不变,支持多版本历史记录,上传新版本不影响现有调用 |
| 识别数据可视化 | 展示调用次数、识别总次数、最后调用时间等关键运营指标 |
| 行业分类导航 | 左侧树形导航按行业快速筛选,提升查找效率 |
三、功能需求
3.1 模型列表(主页面)
入口:顶部导航「模型管理」
界面结构:
- 左侧:行业类别导航树(全部 / 行业通用 / 林业监管 / 矿山安全 / 智慧城管 / 公共安全)
- 右侧:工具栏 + 模型卡片网格
工具栏功能:
- 搜索框:按模型名称 / ID 搜索
- 状态筛选:全部状态 / 已启用 / 已停用 / 更新中
- 导出列表按钮
- 「新增模型」按钮(主操作,绿色高亮)
卡片展示字段(每个模型卡片):
| 字段 | 说明 |
|---|---|
| 模型名称 | 大字标题 |
| 版本号 | 如 V1.2,紫色标签 |
| 状态角标 | 已启用(绿)/ 已停用(灰)/ 更新中(橙),含圆点动画 |
| NEW 标识 | 新上传模型显示(可选) |
| 识别目标标签 | 前3个 + 剩余数量,如「烟雾检测、火焰检测、+2」 |
| 识别总次数 | 大字统计,含图标 |
| 今日识别次数 | 次数字体较小,灰色 |
| 最后调用时间 | 相对时间,如「3分钟前」 |
| 操作按钮 | 「查看详情」主按钮 + 「···」更多操作 |
卡片交互:
- 点击卡片任意位置 → 进入模型详情页
- 点击「查看详情」→ 进入模型详情页
- 点击「···」→ 弹出操作菜单(编辑 / 版本管理 / 启用或停用 / 删除)
3.2 新增模型
触发方式:模型列表页点击「新增模型」按钮
弹窗字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 模型名称 | 文本输入 | ✅ | 模型展示名称 |
| 业务类型 | 下拉选择 | ✅ | 林业监管 / 矿山安全 / 智慧城管 / 公共安全 / 行业通用 |
| 模型类型 | 下拉选择 | ✅ | 目标检测 / 图像识别 / 行为识别 / 态势分析 |
| 版本号 | 文本输入 | ✅ | 如 V1.0 |
| 模型描述 | 文本域 | ❌ | 模型用途说明 |
| 模型文件 | 文件上传 | ✅ | 支持 .pt / .onnx / .pth / .bin,最大 500MB,支持拖拽 |
| 识别目标 | 多选标签 | ❌ | 烟雾检测 / 火焰检测 / 扬尘异常 / 人员聚集 / 越界入侵 / 可疑包裹 |
| 业务来源绑定 | 动态列表 | ❌ | 见 3.2.1 节 |
3.2.1 业务来源绑定(新增/编辑弹窗内)
功能说明:配置该模型在不同业务场景下的识别目标过滤规则。
数据格式(对应 start 接口参数):
{
"business_source": "森林日常巡查",
"targets": ["烟雾检测", "火焰检测"]
}
前端不传 business_source 参数时:后端走原有逻辑,全量识别。
界面交互:
- 点击「+ 添加业务来源」新增一行
- 每行包含:业务名称(文本输入)+ 识别目标(多选下拉)+ 删除按钮
- 识别目标下拉选项来源于「识别目标」字段已选项
3.3 模型详情页
入口:模型列表点击任意卡片
页面结构:
3.3.1 顶部区域(Hero)
| 元素 | 说明 |
|---|---|
| 返回按钮 | 「← 返回模型列表」,回到列表页 |
| 模型大图/封面 | 渐变背景,根据行业配色 |
| 模型名称 | 28px 粗体 |
| 版本号 | 紫色标签 |
| 模型类型 | 类型标签 |
| 模型描述 | 正文,最大显示3行 |
| 关键指标卡片(5个) | 累计调用 / 累计线索 / 模型精度 / 成功率 / 最近调用 |
操作按钮组:
- 「切换状态」(启用/停用)
- 「编辑配置」(打开编辑弹窗)
- 「上传新版本」(打开版本管理弹窗)
- 「查看识别线索」(跳转预警成果页,带模型过滤)
- 「查看调用日志」(跳转模型日志页,带模型过滤)
3.3.2 调用统计(Tab:调用统计)
| 元素 | 说明 |
|---|---|
| 近7日调用趋势图 | 柱状图,横轴日期,纵轴调用次数 |
| 周统计 | 本周合计 / 日均 / 最高日 / 最低日 |
| 识别目标分布 | 当前模型各识别目标的触发次数占比 |
3.3.3 识别目标(Tab:识别目标)
- 标签云展示该模型支持的所有识别目标
- 每个标签显示触发次数(可选)
3.3.4 业务绑定(Tab:业务绑定)
| 字段 | 说明 |
|---|---|
| 业务名称 | 如「森林日常巡查」 |
| 识别目标 | 该业务下生效的识别目标,如「烟雾检测、火焰检测」 |
| 调用方式 | 无人机巡查 / 固定点位视频流 |
| 操作 | 编辑 / 删除 |
3.3.5 基础信息(右侧面板)
| 字段 | 说明 |
|---|---|
| 模型ID | 唯一标识,如 mdl-0001 |
| 业务类型 | 所属行业分类 |
| 模型类型 | 目标检测 / 图像识别等 |
| 创建时间 | 首次上传时间 |
| 最后更新时间 | 最近一次版本更新时间 |
| 模型精度 | 如 92.4% |
| 负责人 | 如「[姓名已隐藏]」 |
| 更新摘要 | 最近一次版本更新说明 |
3.3.6 版本管理(右侧面板)
- 当前版本高亮显示(版本号 + 更新时间 + 更新说明 + 上传人)
- 历史版本时间轴列表(版本号 / 更新时间 / 说明 / 操作人 / 操作按钮「回滚」)
3.4 版本管理(弹窗)
触发方式:
- 模型详情页点击「上传新版本」
- 模型列表卡片「···」菜单 → 「版本管理」
弹窗内容:
| 区域 | 说明 |
|---|---|
| 当前版本信息 | 版本号(不可编辑)/ 更新时间 / 上传人 |
| 新版本号 | 文本输入,如 V1.3 |
| 更新说明 | 文本域,描述本次优化内容 |
| 版本文件 | 文件上传区,支持拖拽,显示文件名 + 移除按钮 |
| 历史版本时间轴 | 可折叠,展示所有历史版本记录 |
版本更新规则:
- 模型 ID 保持不变
- 新版本上传后,原版本进入历史版本列表
- 支持版本回滚(将历史版本设为当前版本)
3.5 编辑模型
触发方式:模型详情页点击「编辑配置」
弹窗内容:与「新增模型」弹窗基本一致,区别在于:
- 标题为「编辑模型」
- 模型文件为非必填(不重新上传则保留当前版本文件)
- 版本号字段置灰(版本更新需通过「上传新版本」功能)
3.6 启用 / 停用模型
触发方式:
- 模型详情页点击「切换状态」
- 模型列表卡片「···」菜单 → 「启用」/「停用」
规则:
- 已启用模型 → 可停用,停用后不再参与识别任务
- 已停用模型 → 可启用,启用后恢复正常识别
- 更新中模型 → 不可切换状态,需等待版本更新完成
3.7 删除模型
触发方式:模型列表卡片「···」菜单 → 「删除」
规则:
- 弹出确认框,提示「确定删除该模型?删除后无法恢复」
- 有关联识别记录的模型,提示「该模型有关联识别记录,删除后历史数据仍可查看」
- 删除后模型 ID 作废,不可复用
四、数据字段定义
4.1 模型主表(model_info)
| 字段名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
| id | String | 模型唯一ID | mdl-0001 |
| name | String | 模型名称 | 林业火灾烟雾检测 |
| cat | String | 业务类型 | 林业监管 |
| biz_domain | String | 业务域 | 森林防火 |
| type | String | 模型类型 | 目标检测 |
| status | Enum | 状态 | on / off / updating |
| version | String | 当前版本号 | V1.2 |
| desc | String | 模型描述 | 针对林区巡查的烟雾火点检测模型 |
| total_count | Long | 识别总次数 | 8623 |
| today_count | Long | 今日识别次数 | 312 |
| call_count | Long | 累计调用次数 | 12832 |
| [坐标已隐藏]ng | 最近预警数量 | 1268 | |
| success_rate | Double | 成功率(%) | 99.2 |
| accuracy | Double | 模型精度(%) | 92.4 |
| last_call_time | DateTime | 最后调用时间 | 2026-04-23 10:22:18 |
| create_time | DateTime | 创建时间 | 2025-11-12 09:30:00 |
| update_time | DateTime | 最后更新时间 | 2026-04-15 14:30:22 |
| owner | String | 负责人 | [姓名已隐藏] |
| update_summary | String | 最近更新摘要 | 优化夜间烟雾检测精度 |
4.2 识别目标(model_targets)
| 字段名 | 类型 | 说明 |
|---|---|---|
| model_id | String | 关联模型ID |
| target_name | String | 识别目标名称 |
| is_enabled | Boolean | 是否启用 |
4.3 业务来源绑定(model_biz_binding)
| 字段名 | 类型 | 说明 |
|---|---|---|
| model_id | String | 关联模型ID |
| biz_name | String | 业务名称 |
| targets | String[] | 识别目标列表 |
| call_mode | String | 调用方式 |
4.4 版本记录(model_versions)
| 字段名 | 类型 | 说明 |
|---|---|---|
| model_id | String | 关联模型ID(不变) |
| version | String | 版本号 |
| file_path | String | 模型文件存储路径 |
| uploader | String | 上传人 |
| upload_time | DateTime | 上传时间 |
| description | String | 版本说明 |
| is_current | Boolean | 是否为当前版本 |
五、接口需求(供后端参考)
5.1 模型列表查询
GET /api/v1/models
Query:
- keyword (可选): 搜索关键词
- status (可选): on/off/updating
- cat (可选): 业务类型过滤
- page, page_size: 分页
Response:
{
"code": 0,
"data": {
"total": 6,
"items": [/* ModelInfo */]
}
}
5.2 新增模型
POST /api/v1/models
Body: FormData
- name, cat, type, version, desc
- file: 模型文件
- targets: JSON字符串
- biz_bindings: JSON字符串
Response: { "code": 0, "data": { "id": "mdl-0007" } }
5.3 模型详情
GET /api/v1/models/{model_id}
Response: { "code": 0, "data": { /* ModelDetail */ } }
5.4 更新模型(编辑配置)
PUT /api/v1/models/{model_id}
Body: FormData (同新增,file可选)
5.5 上传新版本
POST /api/v1/models/{model_id}/versions
Body: FormData
- version: 新版本号
- description: 更新说明
- file: 新版本文件
Response: { "code": 0 }
5.6 版本回滚
POST /api/v1/models/{model_id}/versions/{version}/rollback
5.7 启用/停用模型
PUT /api/v1/models/{model_id}/status
Body: { "status": "on" | "off" }
5.8 start 接口新增参数(识别时)
POST /api/v1/recognize/start
Body: {
"model_id": "mdl-0001",
"business_source": "森林日常巡查", // 新增参数
"stream_url": "..."
}
// 后端逻辑:
// 1. 如果 business_source 为空 → 走原有逻辑,全量识别
// 2. 如果 business_source 有值 → 查 model_biz_binding 表,
// 按绑定的 targets 过滤识别目标
六、非功能需求
| 需求项 | 说明 |
|---|---|
| 性能 | 模型列表加载时间 < 1s(100条以内) |
| 并发 | 支持同时上传多个模型文件 |
| 安全 | 模型文件上传需鉴权,文件大小限制 500MB |
| 兼容性 | 支持 Chrome / Edge 最新版本 |
| 响应式 | 支持 1440px 及以上宽度,1366px 自适应 |
七、界面设计规范引用
- 整体风格:深色科技感(背景 #06161c,主色 #22d3ee)
- 卡片样式:圆角 16px,毛玻璃效果(backdrop-filter: blur)
- 状态颜色:已启用-绿色 / 已停用-灰色 / 更新中-橙色
- 字体:PingFang SC / Microsoft YaHei
- 参考原型文件:
模型管理界面原型.html
八、需求跟踪
| 需求编号 | 需求描述 | 优先级 | 状态 |
|---|---|---|---|
| REQ-001 | 模型列表展示(名称/版本/状态/识别次数) | P0 | 设计中 |
| REQ-002 | 新增时间 / 最后更新时间字段 | P0 | 设计中 |
| REQ-003 | 最后调用时间记录与展示 | P0 | 设计中 |
| REQ-004 | 识别总次数统计 | P0 | 设计中 |
| REQ-005 | 版本管理(上传新版本+历史记录) | P0 | 设计中 |
| REQ-006 | 业务来源绑定(start接口参数) | P0 | 设计中 |
| REQ-007 | 模型详情页(独立页面) | P1 | 设计中 |
| REQ-008 | 行业分类左侧导航 | P1 | 设计中 |
| REQ-009 | 卡片式模型展示 | P1 | 设计中 |
| REQ-010 | 模型启用/停用/删除 | P1 | 设计中 |
*本文档关联原型文件:`[本地路径已隐藏]