Java 后端项目(标注质检与训练管理闭环),机器人数据方向见 LeRobot 平台。
背景
AI 数据生产涉及样本导入、任务分配、人工标注、质检与交付。本平台把数据集、标注任务、审核结果、训练记录与模型版本组织起来,形成从导入到版本管理的基础闭环。
我的职责
- 搭建 Spring Boot 3 后端,用 MyBatis-Plus 组织数据访问,以 OpenAPI 提供接口文档。
- 设计项目、数据集、样本、标签体系、标注任务、审核、训练任务与模型版本等核心对象。
- 实现样本管理、任务分配与状态流转,基于 Sa-Token 配置角色权限。
- 实现 JSON / CSV 导出与训练记录管理,配合 Vue 3 管理端联调与基础部署。
系统架构
Vue 3 + TypeScript · 管理端
Spring Boot 3 · 业务用例与权限控制
MySQL
业务记录
业务记录
Redis
统计与状态缓存
统计与状态缓存
MinIO / 本地文件
数据资源
数据资源
Vue 3 管理端 + Spring Boot 业务服务;MySQL 存业务关系,Redis 缓存统计与任务状态,MinIO 存图片附件。训练模块记录数据集、参数、日志与产物,连接数据交付与模型版本。
核心领域模型
| 对象 | 职责 | 关联 |
|---|---|---|
| Project | 组织协作范围 | 数据集、任务与人员 |
| Dataset / Sample | 管理数据集与样本 | 标注与导出 |
| Label schema | 管理标签体系 | 标注结果表达 |
| AnnotationTask | 分配、提交与进度 | 样本与人员 |
| Review | 审核意见与结果 | 任务与反馈 |
| TrainingJob / ModelVersion | 参数、状态、日志与版本 | 数据集与产物 |
建模重点是把数据资源、协作任务、训练记录分开,再用业务关系连起来。
标注与质检流程
未分配→待标注→标注中→待审核→审核通过→已导出
驳回走另一条路径:待审核 → 审核驳回 → 重新标注 → 待审核。状态与角色共同表达“当前在哪个环节、接下来由谁处理”。
关键设计
用任务状态组织协作
围绕分配、提交、审核与返工流转任务,管理端看进度,操作人员找待办,审核反馈连回重新标注。
按业务条件交付数据
导出按项目、数据集、任务状态筛选,输出 JSON / CSV,为训练准备提供统一入口。
连接训练记录与模型版本
训练任务记录名称、数据集、参数、状态、日志与评估指标,产物经训练记录关联数据与参数。
统计与权限支持
Redis 缓存项目统计、任务进度与待审核数;Sa-Token 划分角色,让不同人员围绕各自职责操作。
工程实践
接口开发、数据库建模、角色权限、状态流转与资源管理在同一业务场景中串起:需求分析 → 后端开发 → 管理端联调 → Docker、Nginx 演示交付。核心是把“标注如何产生、审核如何回流、导出如何关联训练”落到接口与模型里。
← 返回项目