# AI算法模型训练及部署管理平台 — 系统功能说明 ## 一、系统概述 本系统是一套面向 AI 算法模型的**全生命周期管理平台**,覆盖从算法定义、数据集管理、数据标注、模型训练、模型维护到模型发布与效果预测的完整流程,同时集成了组织用户管理、权限控制、定时任务等企业级管理功能。 ### 技术栈 | 层级 | 技术 | |------|------| | 前端框架 | Vue 3 + TypeScript + Vite | | UI 组件库 | Element Plus | | 状态管理 | Pinia | | 路由 | Vue Router 4 (Hash 模式) | | HTTP 通信 | Axios | | 图表 | ECharts 5 | | 国际化 | vue-i18n 9 | | 后端框架 | Django 6 + Django REST Framework | | 实时通信 | WebSocket (Channels) | | 任务队列 | Celery + Redis | --- ## 二、功能模块 ### 1. 首页仪表盘 **路由:** `/dashboard` 系统首页,展示欢迎信息。预留了算法统计、数据集统计、标注任务统计、模型统计等数据卡片和图表区域。 --- ### 2. 数据集管理 **路由:** `/dataset` 数据集是训练和标注的基础数据单元,本模块提供数据集的完整管理能力。 | 功能 | 说明 | |------|------| | 数据集查询 | 按数据集编码、名称、类型、算法等条件检索 | | 数据集CRUD | 创建、编辑、删除数据集 | | 图片预览 | 支持数据集内图片的在线预览 | | 图像标注 | 内嵌标注工具(基于 ailabel),支持矩形框、多边形等标注 | | 样本管理 | 查看、删除无效样本、删除重复样本、读取样本内容 | | 生成数据集图片 | 批量生成数据集图片文件 | --- ### 3. 数据标注管理 #### 3.1 标注任务管理 **路由:** `/annotationtask` 管理数据集标注任务的分发、执行与审核流程。 | 功能 | 说明 | |------|------| | 任务查询 | 按任务名称、负责人、状态等条件筛选 | | 任务CRUD | 创建、编辑、删除标注任务 | | 样本查看与合并 | 查看任务关联样本,合并样本内容 | | 人员分配 | 将任务分配给标注人员 | | 任务提交 | 标注人员提交完成的任务 | | 任务审核 | 审核人员审核已提交的标注结果 | | 自动标注 | 启动自动标注流程 | | 我的任务 | 按"个人任务"和"审核任务"分 Tab 展示 | #### 3.2 标注团队管理 **路由:** `/annotationteam` 管理标注团队及团队成员。 | 功能 | 说明 | |------|------| | 团队CRUD | 创建、编辑、删除标注团队 | | 成员管理 | 添加、编辑、删除团队成员 | | 组织关联 | 团队关联组织架构 | --- ### 4. 模型训练管理 **路由:** `/modeltraining` 管理算法训练记录的完整流程。 | 功能 | 说明 | |------|------| | 训练记录查询 | 按训练标题、数据集名称、算法名称筛选 | | 训练记录CRUD | 创建、编辑、删除训练记录 | | 算法选择 | 按算法分类 Tab 选择训练算法 | | 参数配置 | 配置算法的输入参数 | | 准备训练数据集 | 启动数据预处理 | | 启动训练 | 向后台发起训练任务 | | 实时监控 | 通过 WebSocket 实时展示训练日志和进度 | | 模型归档 | 训练完成后将模型归档 | | 训练评估 | 查看训练效果评估和预测效果 | | 复制训练记录 | 快速复制已有训练配置 | | 关闭训练 | 终止正在进行的训练任务 | --- ### 5. 算法及模型管理 #### 5.1 算法定义 **路由:** `/define` 定义平台支持的算法及其参数体系。 | 功能 | 说明 | |------|------| | 算法分类管理 | 创建、编辑、删除算法分类 | | 算法管理 | 创建、编辑、删除算法 | | 输入参数管理 | 管理算法的输入参数定义 | | 输出定义管理 | 管理算法的输出格式定义 | | 算法引擎查询 | 查看算法关联的执行引擎 | | 发布算法模型 | 将算法模型发布到模型库 | #### 5.2 模型维护 **路由:** `/maintenance` 维护和管理已训练的算法模型。 | 功能 | 说明 | |------|------| | 算法分类树 | 左侧树形展示算法分类层级 | | 模型查询 | 按分类查询模型列表 | | 模型CRUD | 添加、编辑、删除模型 | | 模型文件上传/下载 | 上传和下载模型文件 | | 设置默认模型 | 将某个模型设为默认 | | 模型预测测试 | 在线测试模型预测效果 | #### 5.3 算法模型库 **路由:** `/modelbase` 平台级算法模型展示与操作。 | 功能 | 说明 | |------|------| | 分类浏览 | 按算法分类 Tab 浏览模型 | | 模型查询 | 搜索和筛选模型 | | ONNX 转换 | 将模型转换为 ONNX 格式 | | 调用日志 | 查看算法的调用历史记录 | | 模型发布 | 发布模型到算法模型库 | | 模型评估 | 查看模型评估指标和预测效果 | --- ### 6. 组织及用户管理 **路由:** `/system` 管理平台的组织架构和用户。 | 功能 | 说明 | |------|------| | 组织架构树 | 左侧树形展示组织层级 | | 组织CRUD | 添加、编辑、删除组织 | | 人员管理 | 添加、编辑、删除组织下的人员 | | 个人中心 | 当前登录用户修改密码(SM4加密) | --- ### 7. 系统管理(后台API支持) 虽前端菜单中未全部展示,但 API 层已完整对接以下管理功能: | 模块 | 说明 | |------|------| | 菜单管理 | 系统菜单的增删改查、排序、图标管理 | | 角色管理 | 角色创建、权限分配、菜单授权 | | 字典管理 | 系统数据字典维护 | | 定时任务 | 基于 Quartz 的定时任务配置与管理 | | 操作日志 | 系统操作日志查询与导出 | | 消息管理 | 系统通知消息的查看与已读标记 | | 文件管理 | 文件上传与删除 | --- ## 三、业务流程 ``` 算法定义 → 数据集准备 → 数据标注 → 模型训练 → 模型归档 → 模型发布 → 效果预测 ↑ │ └──────────────── 反馈优化 ←──────────────────────────────┘ ``` 1. **算法定义**:定义算法分类、算法、输入参数和输出格式 2. **数据集准备**:上传/创建数据集,标注数据 3. **数据标注**:分配标注任务,审核标注结果,支持自动标注 4. **模型训练**:选择算法和数据集,配置参数,启动训练,实时监控 5. **模型归档**:训练完成后归档模型文件 6. **模型发布**:将模型发布到模型库,支持 ONNX 转换 7. **效果预测**:上传测试数据,查看模型预测效果 --- ## 四、安全机制 | 机制 | 说明 | |------|------| | JWT 认证 | 基于 djangorestframework-simplejwt 的 Token 认证 | | Token 刷新 | 前端自动使用 refresh_token 刷新过期的 access_token | | 密码加密 | 登录密码使用 SM4 国密算法加密传输 | | 路由守卫 | Vue Router 导航守卫拦截未登录用户 | | 权限控制 | 基于角色的菜单和按钮级权限控制 | --- ## 五、路由映射表 | 菜单名称 | 路由路径 | 视图组件 | |---------|---------|---------| | 首页 | `/dashboard` | `views/dashboard/index.vue` | | 数据集管理 | `/dataset` | `views/dataset/index.vue` | | 标注任务管理 | `/annotationtask` | `views/dataannotations/annotationtask/index.vue` | | 标注团队管理 | `/annotationteam` | `views/dataannotations/annotationteam/index.vue` | | 模型训练管理 | `/modeltraining` | `views/modeltraining/index.vue` | | 算法定义 | `/define` | `views/AlgorithmsAndModels/define/index.vue` | | 模型维护 | `/maintenance` | `views/AlgorithmsAndModels/maintenance/index.vue` | | 算法模型库 | `/modelbase` | `views/AlgorithmsAndModels/modelbase/index.vue` | | 组织及用户 | `/system` | `views/system/user/index.vue` | | 个人中心 | `/personalCenter` | `views/system/user/personalCenter.vue` | | 登录 | `/login` | `views/login/index.vue` |