Commit Graph

177 Commits

Author SHA1 Message Date
caoxiaozhu
b975de02da fix: 完善数据预处理与 JSON 上传链路 2026-07-30 16:54:00 +08:00
wuyongtao
f917a025e1 feat: 基于 LLaMA-Factory 实现模型推理引擎
利用容器内已有的 LLaMA-Factory ChatModel (huggingface 后端) 实现真实
模型推理,无需额外安装 vLLM。

Compute 端新增:
- compute/engines/llama_factory/inference.py
  InferenceSession: 模型加载/卸载/对话/流式输出
  支持 base model 和 LoRA adapter,线程安全
- compute/api/main.py 新增 5 个推理端点:
  POST /inference/load      - 加载模型
  POST /inference/unload    - 卸载释放 GPU 显存
  GET  /inference/status    - 查询会话状态
  POST /inference/chat      - 非流式对话
  POST /inference/chat/stream - SSE 流式对话

后端新增:
- platform.py 推理代理端点(local/chat, local/chat/stream,
  local/preload, local/unload, local/status, trained/preload)
- ComputeNodeClient._request 通用请求方法
- _select_first_online_node 自动选择在线节点

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 13:49:10 +08:00
wuyongtao
a9ab130d43 feat: P0 训练闭环核心功能实现
P0-1 模型路径治理:
- 新增 003_model_path_governance.sql 迁移,models 表增加 can_train 字段
- create_model/update_model 自动计算 can_train(非API+有路径=可训练)
- _compute_job_payload_from_task_node 拒绝 API 模型和无可训练路径模型
- 平台诊断规则增加 API 模型/路径缺失检测

P0-2 数据集格式校验:
- 新增 dataset_format.py,支持 Alpaca/ShareGPT/DPO/CPT 格式校验
- 训练预检时自动根据 train_type 匹配格式并校验内容字段
- llama_dataset_info 增加 DPO/CPT 格式列映射

P0-3 训练完成产物入库:
- _ensure_trained_model 使用 compute 节点返回的真实 artifacts
- 注册 per-file artifact 记录(含 size_bytes/checksum_sha256)
- trained_models 表增加 artifact_dir 字段

P0-4 失败日志拉取:
- poll_compute_jobs_once 检测到 failed/stopped 时强制拉取最后 200 行日志
- apply_compute_job 持久化失败日志片段到任务 payload

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 13:10:53 +08:00
wuyongtao
525fc55cef fix: 修复 GPU 选择索引错误及 CUDA 不可用问题,优化 GPU 硬件单选
- 修复 FineTuneCreateView GPU 选择使用 v-for idx 替代真实 gpu.id 导致
  多节点环境下 GPU 索引错误(如 gpu-node-02 仅 GPU 0 但请求 GPU 1)
- GPU 选择改为单选模式,已离线节点自动过滤不展示
- GPU 卡片增加节点编号展示
- 修复 CUDA_VISIBLE_DEVICES=all 无效值导致 torch.cuda.is_available() False
  改为 CUDA_VISIBLE_DEVICES=0
- .gitignore 新增 .claude/ CLAUDE.md 排除规则
- GpuInfo 类型增加 node_id/node_code/node_name 字段

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 12:43:20 +08:00
wuyongtao
3fd9cf9100 fix: 移除 frontend/.gitignore 中对 dist 的例外规则
之前 frontend/.gitignore 中 !dist/ 和 !dist/** 规则导致构建产物
仍然被 Git 追踪,现已删除,与根 .gitignore 保持一致。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 12:10:54 +08:00
wuyongtao
a72e2a2520 chore: 将 frontend/dist 从版本控制中移除,补充 ElMessageBox 导入
- 移除 .gitignore 中对 frontend/dist/ 的例外规则,构建产物不再纳入版本控制
- DataProcessDetailView.vue 补充 ElMessageBox 导入修复 TS2552 错误

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 12:07:57 +08:00
caoxiaozhu
01d2e6c76a feat(data-process): 完善后台生成与失败重试 2026-07-28 10:56:05 +08:00
caoxiaozhu
8a6a6574bb feat(data-process): 完善 Word 与 Excel 原文件预览 2026-07-27 16:24:53 +08:00
caoxiaozhu
9025437a37 feat(data-process): 增加 Office 原文件预览接口 2026-07-27 16:12:50 +08:00
caoxiaozhu
4623e3fa1c fix(data-process): 完善默认生成提示语 2026-07-27 14:58:02 +08:00
caoxiaozhu
f97245b814 feat(data-process): 增加可配置思维链生成 2026-07-27 14:41:38 +08:00
caoxiaozhu
97cdb5cc68 fix(data-process): 收准结构化预处理能力文案 2026-07-27 14:36:16 +08:00
caoxiaozhu
d8a11e4949 fix(data-process): 对齐输出类型控件宽度 2026-07-27 13:58:15 +08:00
caoxiaozhu
05c1a5c1e1 fix(data-process): 优化输出类型选择样式 2026-07-27 13:49:21 +08:00
caoxiaozhu
f3fa5f1a68 fix(data-process): 调整输出类型选项位置 2026-07-27 13:43:30 +08:00
caoxiaozhu
de2e8952b5 feat(data-process): 支持思维链输出类型 2026-07-27 13:08:44 +08:00
caoxiaozhu
ecafb7eb13 fix(dataset): 展示训练任务名称 2026-07-27 12:44:40 +08:00
caoxiaozhu
b82897ca3a fix(dataset): 限制长文本提示层尺寸 2026-07-27 12:35:09 +08:00
caoxiaozhu
e6bbb0bb49 feat(dataset): 补全样本原文与删除操作 2026-07-27 12:26:19 +08:00
caoxiaozhu
bce586697b fix(dataset): 统一大小与版本元数据 2026-07-27 12:26:09 +08:00
caoxiaozhu
e486d36a80 feat(dataset): 支持数据任务批量删除 2026-07-27 11:36:30 +08:00
caoxiaozhu
d6e325fe9e fix(data-process): 按发布状态控制结果编辑 2026-07-27 11:23:17 +08:00
caoxiaozhu
b08a771a61 fix(data-process): 保留可验证的任务耗时 2026-07-27 11:16:48 +08:00
caoxiaozhu
8caaaa5bbc fix(data-process): 恢复提前中断的重新生成任务 2026-07-27 11:07:18 +08:00
caoxiaozhu
3f5fedb9ed build(frontend): 更新重新生成流程构建 2026-07-27 10:43:53 +08:00
caoxiaozhu
53844a3a09 fix(frontend): 保持重新生成退出前详情 2026-07-27 10:43:48 +08:00
caoxiaozhu
53014bb381 fix(data-process): 延迟重新生成破坏性变更 2026-07-27 10:43:42 +08:00
caoxiaozhu
03bd0b6d03 build(frontend): 更新数据任务详情构建 2026-07-27 10:03:58 +08:00
caoxiaozhu
b4927a8952 fix(frontend): 对齐数据任务详情状态 2026-07-27 10:03:52 +08:00
caoxiaozhu
b14b2ecf22 fix(data-process): 修正任务详情数据契约 2026-07-27 10:03:46 +08:00
caoxiaozhu
42c0e4f5c2 build(frontend): 更新数据任务列表构建 2026-07-27 09:50:33 +08:00
caoxiaozhu
88a82ed771 feat(frontend): 完善数据任务数量与状态 2026-07-27 09:50:26 +08:00
caoxiaozhu
895983ac20 feat(data-process): 返回任务文档数量 2026-07-27 09:50:19 +08:00
caoxiaozhu
680fa905f8 build(frontend): 更新数据集保留提示构建 2026-07-27 09:39:29 +08:00
caoxiaozhu
ce0f908d20 fix(frontend): 标明重新生成前的数据集状态 2026-07-27 09:39:23 +08:00
caoxiaozhu
e4ea1f168c fix(data-process): 保留重新生成前的已发布数据集 2026-07-27 09:39:19 +08:00
caoxiaozhu
915f994c45 build(frontend): 更新五十条生成上限构建 2026-07-27 09:12:03 +08:00
caoxiaozhu
762f866175 feat(data-process): 放宽问答生成数量上限 2026-07-27 09:11:58 +08:00
caoxiaozhu
9428c6b785 feat(data-process): 支持单项生成五十条数据 2026-07-27 09:11:51 +08:00
caoxiaozhu
25d75f40c7 build(frontend): 更新重新生成流程构建 2026-07-25 22:41:16 +08:00
caoxiaozhu
06e7455630 feat(data-process): 接入重新生成配置流程 2026-07-25 22:41:06 +08:00
caoxiaozhu
396d3f6f47 feat(data-process): 支持任务重新生成 2026-07-25 22:40:55 +08:00
caoxiaozhu
64d7414b04 build(frontend): 更新跳转图标对齐构建 2026-07-25 22:00:23 +08:00
caoxiaozhu
9a5282f39c fix(data-process): 对齐数据集跳转图标 2026-07-25 22:00:23 +08:00
caoxiaozhu
f21a4c954f build(frontend): 更新数据集名称对齐构建 2026-07-25 21:59:02 +08:00
caoxiaozhu
2e2cbb4976 fix(data-process): 对齐数据集名称起点 2026-07-25 21:59:02 +08:00
caoxiaozhu
2e8278636b build(frontend): 更新数据集对齐修复构建 2026-07-25 21:55:24 +08:00
caoxiaozhu
bbc0df29bf fix(data-process): 对齐输出数据集列表 2026-07-25 21:55:16 +08:00
caoxiaozhu
b20e7aa595 build(frontend): 更新结果提示修复构建 2026-07-25 18:25:58 +08:00
caoxiaozhu
17615aa17d fix(data-process): 限制结果提示浮层尺寸 2026-07-25 18:25:34 +08:00