Files
YG_FT/docs/first-version-development-plan.md
wuyongtao a72b8f1e4b feat: 更新后端平台模块、数据库、Compute引擎及多项配置文档
- 更新 backend 平台 API、platform_store、session 数据库模块
- 新增 backend SQL 初始化脚本
- 更新 compute 引擎适配器及 README
- 更新 Docker 部署配置(app/compute)
- 更新前端入口、环境类型声明及 README
- 新增 docs/menu-functional-requirements.md 菜单功能需求文档
- 更新多项项目文档

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 10:55:44 +08:00

6.7 KiB
Raw Blame History

当前系统主链路开发计划

说明:本计划描述当前正在开发的系统能力。代码、接口和 SQL 均按后续生产演进基线维护,不以一次性演示、静态 Mock 或样例数据作为开发准则。联调辅助能力必须显式配置启用,并不得成为默认运行路径。

1. 阶段目标

当前阶段需要完成模型微调平台的主链路工程基础:

登录
 -> 模型管理
 -> 数据集管理
 -> 创建微调任务
 -> 调度算力节点与 GPU
 -> 检查并同步模型/数据集资源
 -> 启动训练任务
 -> 轮询任务状态、GPU 占用、训练日志、loss 曲线
 -> 训练完成后登记训练产物

该阶段是正式系统的第一批可运行能力,不再初始化业务样例数据。系统只允许初始化内置管理员/运维账号模型、数据集、算力节点、GPU、训练任务和资源副本必须通过页面、接口、算力 Agent 扫描或正式导入流程产生。

2. 运行模式

模式 说明 当前要求
real 面向真实部署,等待 Compute API、Agent、File Gateway 和 LLaMA-Factory 执行器回写状态 默认模式
simulator 仅用于隔离联调,无真实 GPU 时临时推进任务状态、GPU 状态和训练日志 必须显式开启,不得用于生产基线

后端默认 COMPUTE_MODE=real。在该模式下,任务状态不再按时间自动推进,必须由后续真实算力同步逻辑更新。算力服务默认 COMPUTE_EXECUTION_MODE=real,真实训练执行器未完成前,创建训练作业会返回明确的未实现错误,避免误认为已经完成生产训练能力。

训练相关能力必须沉淀在 compute/engines/ 适配层,不允许在应用平台后端直接拼接或执行训练命令。

3. 当前开发范围

3.1 应用平台后端

对应目录:

backend/app/
  api/v1/endpoints/platform.py
  core/
  db/

已建立能力:

  • 统一 API 响应结构 { code, message, data }
  • PostgreSQL 运行表初始化,当前执行脚本位于 backend/app/db/sql/001_platform_runtime.sql
  • 内置管理员账号初始化,业务数据不再自动写入样例记录。
  • 登录、当前用户、用户列表与权限页面接口。
  • 模型管理、训练产物列表、权重合并任务入口。
  • 数据集管理、文件上传、预览、版本管理和下载。
  • 微调任务创建、启动、停止、删除、进度查询、checkpoint 查询。
  • 系统健康指标、系统信息、训练日志、系统日志接口。
  • 算力节点、GPU、队列、资源副本、资源同步任务接口。

待继续开发:

  • 接入正式 ORM/Repository/Service 分层和 Alembic 迁移。
  • 将任务状态更新改为应用侧定时轮询 Compute API/File Gateway 后落库。
  • 完成项目/模型/数据集级权限隔离校验。
  • 完成审批流、审计留存、配额、资源申请和多租户上下文。
  • 增加正式异常码、接口鉴权、中间件、幂等控制和分页规范。

3.2 算力平台服务

对应目录:

compute/
  api/main.py
  agent/
  engines/llama_factory/
  file_gateway/

已建立能力:

  • /modelTF/health/modelTF/v1/compute/health 节点健康检查。
  • LLaMA-Factory 参数校验、命令生成和训练日志指标解析。
  • Compute API 作业、GPU、文件网关接口壳。
  • 显式 simulator 模式下的内存状态机,用于隔离联调。

待继续开发:

  • 真实 GPU 发现:接入 nvidia-smi 或 NVML。
  • GPU 锁定与释放:一张 GPU 同一时间只分配给一个训练或推理任务。
  • LLaMA-Factory 真实执行器:生成 YAML/命令、启动进程、停止进程、采集 PID。
  • 训练日志采集:读取宿主机挂载日志文件,解析 loss、learning rate、epoch 等指标。
  • Checkpoint/adapter/merged model 扫描与产物登记。
  • File Gateway本地磁盘文件上传、下载、校验、导入和跨节点资源同步。

3.3 前端页面

已接入页面:

  • /login:登录接口。
  • /model-manage:模型列表、模型来源、训练产物。
  • /dataset/dataset/:id/preview:数据集列表、预览、版本。
  • /fine-tune/fine-tune/create:微调任务创建、启动、状态轮询。
  • /training-log/:id:训练日志和 loss 曲线。
  • /hardware:平台 GPU 与系统性能。
  • /compute算力节点、GPU、队列、资源副本。

前端 Mock 默认关闭。仅在隔离前端开发时可设置 VITE_ENABLE_MOCK=true,真实联调和后续生产演进均以 /modelTF 后端接口为准。

待继续开发:

  • 补齐多租户、项目管理、审批中心、审计中心、配额管理页面。
  • 完成算力节点管理表单,包括节点地址、权重、标签、启用状态和健康检查结果。
  • 完成模型/数据集导入页面,支持本地路径扫描和归属项目选择。
  • 推理服务页面需接入真实后端任务接口,移除页面内本地假对话路径。

3.4 数据库

当前运行 SQL

backend/app/db/sql/001_platform_runtime.sql

架构目标 SQL

docs/postgres-schema.sql

当前运行 SQL 用于支持已开发接口落库;架构目标 SQL 包含用户中心、多租户、项目隔离、审批、审计、配额、评测等完整模型。后续需要通过 Alembic 将二者收敛为统一迁移体系,生产升级只走迁移脚本,不依赖手工改表。

4. 验收标准

  • 启动后端必须连接 PostgreSQL不允许回退到 SQLite。
  • 后端启动只初始化系统内置账号不初始化模型、数据集、算力节点、GPU、训练任务等业务样例数据。
  • 前端默认请求真实 /modelTF 接口,除非显式设置 VITE_ENABLE_MOCK=true
  • 默认 real 模式下任务状态不自动伪造完成,必须等待真实算力同步。
  • 显式 simulator 模式只能用于隔离联调,部署文档必须标注不得用于生产。
  • 登录后可以进入主界面,并可通过页面/API 创建真实业务记录。
  • 代码、接口路由、配置项、数据库表名不得使用 demo 命名。

5. 后续开发计划

阶段 重点 说明
阶段 1 数据库迁移体系 将当前运行 SQL 与架构 SQL 收敛到 Alembic 迁移
阶段 2 后端领域分层 拆分用户、模型、数据集、训练、算力、审计等模块
阶段 3 真实 Compute Agent GPU 发现、资源锁定、进程管理、日志采集
阶段 4 LLaMA-Factory 训练执行 YAML/命令生成、进程启动/停止、checkpoint 和 adapter 扫描
阶段 5 企业治理 多租户、项目隔离、审批流、审计留存、配额和资源申请
阶段 6 多算力节点调度 基于 compute_nodes、标签、权重、资源副本和节点健康实现调度策略