- 更新 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>
11 KiB
11 KiB
菜单与功能需求总览
本文根据当前前端侧边栏、路由、需求文档、接口文档、部署文档和 SQL 脚本整理。当前代码和 SQL 均按正式系统开发基线维护;Mock、Simulator 只能作为显式联调能力,不作为默认开发准则。
1. 菜单分层
1.1 当前侧边栏菜单
| 一级分组 | 菜单 | 路由 | 权限码 | 当前状态 | 主要功能 |
|---|---|---|---|---|---|
| 服务看板 | 服务看板 | /dashboard |
dashboard |
已有页面,接口需继续完善 | 总览指标、服务状态、训练统计、最近任务、健康入口 |
| 模型服务 | 模型训练 | /fine-tune |
fine-tune |
已接入主链路 | 训练任务列表、创建训练、启动/停止、进度、训练日志、checkpoint |
| 模型服务 | 模型评测 | /model-eval |
model-eval |
前端页面已有,后端待完整实现 | 评测任务、评测维度、样本评分、综合结果 |
| 模型服务 | 模型推理 | /model-inference |
model-inference |
前端页面已有,后端待完整实现 | 推理任务、模型加载、单模型对话、模型对比入口 |
| 模型服务 | 模型管理 | /model-manage |
model-manage |
已接入主链路 | 基座模型登记、本地/API 模型、训练产物、权重合并、模型导出 |
| 数据治理 | 数据集管理 | /dataset |
dataset |
已接入主链路 | 数据集列表、上传、预览、在线编辑、版本、下载、删除审批入口 |
| 数据治理 | 数据处理 | /data-process |
data-process |
前端页面已有,后端待完整实现 | 文档上传、切片预览、LLM 生成、结果编辑、发布数据集 |
| 其他工具 | 数据类型转换 | /data-convert |
data-convert |
前端页面已有,后端待实现 | JSON/JSONL/Markdown 等格式转换任务 |
| 算力资源 | 算力节点 | /compute |
compute |
已接入节点管理接口 | 节点地址、权重、标签、启用状态、GPU、队列、资源副本 |
| 系统设置 | 用户设置 | /user-settings |
user-settings |
已接入基础用户接口 | 用户列表、创建用户、启停、页面权限 |
| 系统设置 | 平台性能 | /hardware |
hardware |
已有接口,需接真实采集 | CPU、内存、磁盘、GPU、进程、网络监控 |
| 系统设置 | 查看日志 | /logs |
logs |
已有接口,需接真实日志文件 | 后端日志、error 日志、训练日志索引、日志内容查看 |
1.2 当前二级和隐藏路由
| 页面 | 路由 | 归属菜单 | 说明 |
|---|---|---|---|
| 登录 | /login |
独立入口 | 登录后进入主界面 |
| 使用文档 | /guide |
独立入口 | 当前系统使用说明 |
| 创建训练任务 | /fine-tune/create |
模型训练 | 训练参数、模型/数据集/GPU 选择 |
| 训练日志 | /training-log/:id |
模型训练 | 日志、指标、checkpoint、任务概览 |
| 新建评测 | /model-eval/create |
模型评测 | 模型、数据集、维度、GPU 选择 |
| 评测详情 | /model-eval/:id |
模型评测 | 维度汇总、样本结果、人工复核预留 |
| 评测维度创建/编辑 | /model-eval/dimension/create、/model-eval/dimension/:id/edit |
模型评测 | 评测规则、Prompt、评分器配置 |
| 新建推理 | /model-inference/create |
模型推理 | 推理任务和模型加载配置 |
| 模型对话 | /model-inference/chat/:id |
模型推理 | 单模型对话 |
| 模型对比 | /model-compare/chat/:id、/model-compare/result |
模型推理 | 多模型对比和结果页 |
| 添加/编辑模型 | /model-manage/create、/model-manage/:id/edit |
模型管理 | 模型登记、用途、来源、路径/API 配置 |
| 合并权重 | /model-manage/merge |
模型管理 | LoRA/Adapter 合并任务 |
| 数据处理创建/详情 | /data-process/create、/data-process/:id |
数据处理 | 数据处理向导和任务详情 |
| 数据集创建/编辑/预览 | /dataset/create、/dataset/:id/edit、/dataset/:id/preview |
数据集管理 | 数据集元数据、文件、版本与内容 |
| 自定义工具 | /tools、/tools/create、/tools/:id/edit |
规划入口 | 路由存在,当前侧边栏未展示,后续可归入“其他工具” |
| 算力子页 | /compute/gpus、/compute/queue、/compute/nodes |
算力节点 | 当前可作为页签或深链 |
| 创建用户/权限设置 | /user-settings/create、/user-settings/:id/permission |
用户设置 | 用户创建和页面权限 |
| 无权限页 | /permission-denied |
系统页 | 路由守卫无权限跳转 |
1.3 企业治理待补菜单
| 建议菜单分组 | 菜单 | 建议路由 | 优先级 | 必要性 |
|---|---|---|---|---|
| 组织与项目 | 租户管理 | /tenants、/tenants/:id |
P0 | 多租户隔离、配额、留存策略入口 |
| 组织与项目 | 项目空间 | /projects、/projects/:id、/projects/:id/members |
P0 | 项目级模型/数据集/任务隔离 |
| 组织与项目 | 资源授权 | /projects/:id/permissions 或资源详情弹窗 |
P0 | 模型/数据集/任务级 ACL |
| 治理中心 | 审批中心 | /approvals、/approvals/:id |
P0 | 删除、发布、导出、停止他人任务等高风险动作 |
| 治理中心 | 审批设置 | /approval-settings |
P1 | 审批模板、审批人规则、超时策略 |
| 治理中心 | 审计中心 | /audit-logs、/login-logs、/download-logs |
P1 | 操作审计、登录审计、下载审计、导出 |
| 运维中心 | 存储管理 | /storage |
P1 | 本地磁盘占用、临时文件、checkpoint 清理、留存 |
| 运维中心 | 训练引擎管理 | /training-engines |
P2 | LLaMA-Factory 和后续引擎能力 schema、健康检查 |
| 模型服务 | 模型服务治理 | /model-services、/model-services/:id |
P1 | 测试/生产服务发布、调用统计、下线审批 |
2. 菜单对应接口和数据库
| 菜单/模块 | 主要接口 | 当前运行 SQL | 目标 SQL |
|---|---|---|---|
| 登录、用户设置 | /modelTF/login、/modelTF/me、/modelTF/users |
users |
users、login_sessions、permissions、role_permissions、user_permission_overrides |
| 服务看板 | /modelTF/dashboard/overview、/modelTF/health |
复用模型/数据集/任务/算力表 | system_metric_snapshots、web_logs、各业务表聚合 |
| 模型管理 | /modelTF/model-manage、/modelTF/model-manage/trained-models、/modelTF/model-manage/merge |
models、trained_models |
models、trained_models、storage_objects、local_import_jobs、resource_acl |
| 数据集管理 | /modelTF/dataset-manage、/modelTF/dataset-manage/upload/{id}、/preview、/versions |
datasets、dataset_files |
datasets、dataset_files、dataset_file_versions、dataset_records、storage_objects |
| 模型训练 | /modelTF/fine-tune、/start、/progress、/checkpoints |
fine_tune_tasks、trained_models |
fine_tune_tasks、fine_tune_metrics、fine_tune_checkpoints、compute_jobs、gpu_allocations |
| 训练日志 | /modelTF/training-log-files、/modelTF/training-log-content |
由任务表生成索引 | 日志文件元数据、fine_tune_metrics、audit_logs |
| 算力节点 | /modelTF/compute/nodes、/compute/gpus、/compute/queue、/compute/nodes/{id}/replicas |
compute_nodes、gpus、resource_replicas、resource_sync_jobs |
compute_nodes、gpu_devices、compute_node_engines、compute_jobs、resource_replicas、resource_sync_jobs |
| 平台性能 | /modelTF/system-info、/modelTF/compute/gpus |
gpus、任务表 |
system_metric_snapshots、gpu_devices、compute_jobs |
| 查看日志 | /modelTF/log-files、/modelTF/log-content、/modelTF/web-log |
文件日志 | web_logs、audit_logs,大日志进入日志平台 |
| 模型评测 | /modelTF/model-eval、/modelTF/dimension |
当前运行 SQL 未覆盖 | eval_tasks、eval_dimensions、eval_sample_results、eval_dimension_summaries |
| 模型推理/对比 | /modelTF/model-compare、/modelTF/model-chat/* |
当前运行 SQL 未覆盖 | inference_tasks、inference_task_models、chat_sessions、chat_messages |
| 数据处理 | /modelTF/data-process/* |
当前运行 SQL 未覆盖 | data_process_tasks、data_process_source_files、data_process_preview_items、data_process_results |
| 数据转换/自定义工具 | /modelTF/data-convert/jobs、/modelTF/tools |
当前运行 SQL 未覆盖 | data_convert_jobs、custom_tools |
| 租户/项目/资源授权 | /modelTF/tenants、/modelTF/projects、/modelTF/resources/{type}/{id}/acl |
当前运行 SQL 未覆盖 | tenants、tenant_users、projects、project_members、resource_acl |
| 审批/审计/留存/配额 | /modelTF/approvals、/modelTF/audit-logs、/modelTF/retention-policies、/modelTF/quotas/usage |
当前运行 SQL 未覆盖 | approval_templates、approval_instances、approval_steps、audit_logs、retention_policies、quotas、quota_usage |
3. 文档和脚本检查结论
| 对象 | 当前结论 | 本次补充 |
|---|---|---|
| 需求文档 | docs/platform-architecture-requirements.md 和 docs/system-development-plan.md 已覆盖多租户、项目隔离、审批、审计、多算力节点、应用/算力分离部署;缺少一份按当前菜单组织的总览 |
新增本文作为菜单和功能需求总览 |
| 接口文档 | docs/backend-api-design.md 已统一 /modelTF,并已有页面/接口映射;需要明确引用菜单总览,避免开发只看接口不看页面入口 |
在接口文档增加菜单总览引用 |
| 开发计划 | docs/system-development-plan.md 已按工作包列出页面、接口和 DB;需要把本文作为任务认领入口 |
在开发计划增加菜单总览引用 |
| 部署文档 | docs/deployment-plan.md、docker/README.md 已覆盖应用/算力分离、单机多 GPU、本地磁盘、真实模式默认、Docker 拆分 |
暂无新增部署配置要求 |
| 目标 SQL | docs/postgres-schema.sql 覆盖完整目标模型,包含用户、权限、多租户、项目、审批、审计、模型、数据集、训练、评测、推理、算力、存储、导入、服务治理 |
暂不需要新增目标表 |
| 当前运行 SQL | backend/app/db/sql/001_platform_runtime.sql 只覆盖已接入运行接口的最小表集 |
后续每实现一个 P0/P1 菜单模块,应同步补运行 SQL 或迁移脚本;不能再以样例数据补功能 |
4. 后续补充原则
- 新增侧边栏菜单时,必须同步补齐:路由、权限码、接口文档、DB 表/迁移、审计动作、部署依赖。
- 新增后端接口时,必须在
docs/backend-api-design.md标注对应页面/功能模块。 - 新增表结构时,目标模型写入
docs/postgres-schema.sql,当前可执行落库写入backend/app/db/sql/或 Alembic 迁移。 - 与训练、评测、推理、数据处理相关的异步任务必须落库,不能依赖前端本地状态。
- 与算力相关的功能默认走真实模式;Simulator 只能显式开启用于隔离联调。