3b9361c2372487916f50add8fc19c76b96f4331d
- 冲突解决原则:本地权限治理(require_admin/current_user/资源ACL)与远程 op_log 日志装饰器双向保留 - platform.py: 9 处冲突,@op_log 与管理员校验叠加,避免远程丢失 require_admin 的安全回归 - logging.py: 合并 get_client_ip 与 user_id_var,X-Trace-Id 优先 + ContextVar 卫生处理 - op_log.py: 采纳远程将变量计算上移到函数顶部的结构 - compute_poller.py: 中文日志 + 失败去重限流/断连重置逻辑 - data_process.py: 保留租户归属字段 + biz_logger 成功日志
YG_FT 模型微调平台
YG_FT 是面向多用户、多租户和多算力节点的模型训练与推理平台,提供数据集、模型、训练、权重合并、推理、评测、算力节点、项目隔离、权限和审计能力。
架构
浏览器 -> Frontend Nginx:16801 -> Backend API:17861
|-> PostgreSQL(元数据、权限、审计、任务状态)
|-> Redis(缓存及任务辅助状态)
|-> MinIO:19000(模型和数据唯一对象源)
|-> Compute API:19100
|-> Compute Agent/GPU/LLaMA-Factory
`-> File Gateway:19101
Backend、MinIO 和 Compute 节点可以部署在不同服务器,不依赖跨服务器 Docker 网络,通过 IP、DNS 或负载均衡地址通信。Compute 节点只保存按需准备的本地缓存,MinIO 是模型、数据集、权重、评测报告和训练产物的唯一数据源。
目录
| 目录 | 作用 |
|---|---|
frontend/ |
Vue 3、TypeScript、Element Plus 控制台 |
backend/app/api/v1/ |
平台 REST API |
backend/app/core/ |
配置、认证、权限和日志 |
backend/app/db/ |
PostgreSQL 访问和初始化 SQL |
backend/app/modules/ |
系统、资源、审批、数据处理和存储模块 |
backend/app/workers/ |
节点轮询、任务对账和资源同步 |
compute/ |
Compute API、Agent、GPU 和训练引擎 |
docker/ |
应用、MinIO、算力服务部署文件 |
docs/ |
架构、权限、部署和测试文档 |
端口
| 服务 | 主机端口 | 容器端口 |
|---|---|---|
| Frontend | 16801 | 80 |
| Backend API | 17861 | 8000 |
| Redis | 16379 | 6379 |
| MinIO API/Console | 19000/19001 | 9000/9001 |
| Compute API/File Gateway | 19100/19101 | 9100 |
启动
cd frontend && npm ci && npm run build && cd ..
docker build -f docker/app/Dockerfile.backend -t yg-ft-backend-api:latest .
docker build -f docker/app/Dockerfile.frontend -t yg-ft-frontend-runtime:latest .
docker build -f docker/compute/Dockerfile.compute -t yg-ft-compute-api:latest .
cd docker/minio && docker compose up -d
cd ../app && docker compose up -d
cd ../compute && docker compose up -d
权限与性能
系统使用角色权限、资源 ACL、用户/项目/租户归属联合校验;删除为软删除,关键操作写入审计。模型合并前准备 base model 和 adapter,结果归档 MinIO;推理前按选择节点准备缓存。远程 PostgreSQL 延迟会影响全量列表和看板,页面慢时应检查浏览器 Network、Nginx、Backend 日志、连接池和节点可达性。
详细部署见 docker/README.md,测试见 测试用例.md,本次快照见 docs/20260812/。
Description
Languages
Vue
57.7%
TypeScript
18.7%
JavaScript
13.1%
Python
9.5%
SCSS
0.9%