PEFT Fine-Tuning Platform
基于 PEFT 的前后端分离微调平台,支持文本、视觉、多模态三类模型,完整 MLOps 流水线。
技术栈
| 层 |
技术 |
| 后端 |
FastAPI + SQLAlchemy(async) + SQLite |
| 前端 |
React + TypeScript + Zustand + Axios |
| ML |
PyTorch + Transformers + PEFT + TRL |
| 通信 |
REST API + WebSocket 实时推送 |
支持的 PEFT 方法
LoRA / QLoRA / IA3 / AdaLoRA / Prefix Tuning
支持的模型类型
- 文本:LLaMA、Qwen 等
- 视觉:ViT、CLIP 等
- 多模态:LLaVA、Qwen-VL 等
快速开始
后端
cd backend
pip install -r requirements.txt
cp .env.example .env
# 编辑 .env 填入 HF_TOKEN 等配置
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
前端
cd frontend
npm install
cp .env.example .env
npm run dev
项目结构
├── .env # 全局共享配置(HF Token、GPU)
├── .env.example
├── backend/
│ ├── main.py # 后端入口
│ ├── requirements.txt
│ ├── .env # 后端配置(HOST、数据库、训练参数)
│ ├── .env.example
│ ├── app/
│ │ ├── config.py # pydantic-settings 加载 .env
│ │ ├── api/ # REST 路由
│ │ ├── core/ # db / job_queue / websocket / logging
│ │ ├── engines/ # text / vision / multimodal 引擎
│ │ ├── peft/ # PEFT 配置工厂
│ │ ├── preprocessors/ # 数据预处理
│ │ ├── services/ # 业务逻辑层
│ │ └── schemas/ # Pydantic 请求/响应模型
│ └── data/ # 运行时数据(gitignore)
├── frontend/
│ ├── src/
│ │ ├── api/ # Axios 实例 + WebSocket
│ │ ├── stores/ # Zustand 状态管理
│ │ ├── pages/ # 页面组件
│ │ └── components/ # 可复用组件
│ └── .env # 前端配置(API 地址、WS 地址)
└── docs/
环境变量
全局 .env
| 变量 |
说明 |
默认值 |
| HF_TOKEN |
HuggingFace Token |
空 |
| HF_ENDPOINT |
HF 镜像地址 |
https://huggingface.co |
| USE_MODELSCOPE |
使用 ModelScope |
false |
| CUDA_VISIBLE_DEVICES |
GPU 索引 |
0 |
| USE_UNSLOTH |
启用 Unsloth 加速 |
false |
后端 backend/.env
| 变量 |
说明 |
默认值 |
| BACKEND_HOST |
服务地址 |
0.0.0.0 |
| BACKEND_PORT |
服务端口 |
8000 |
| BACKEND_CORS_ORIGINS |
允许的跨域来源 |
http://183.220.37.46:5173 |
| DATA_DIR |
数据根目录 |
/root/Fine-tuning/backend/data |
| DATABASE_URL |
数据库连接串 |
sqlite+aiosqlite:///root/Fine-tuning/backend/data/finetuning.db |
| DEFAULT_PEFT_METHOD |
默认微调方法 |
lora |
| LORA_R / LORA_ALPHA |
LoRA 参数 |
16 / 32 |
| MAX_UPLOAD_SIZE_MB |
最大上传文件大小 |
500 |
前端 frontend/.env
| 变量 |
说明 |
默认值 |
| VITE_API_BASE_URL |
后端 API 地址 |
http://183.220.37.46:8000/api/v1 |
| VITE_WS_BASE_URL |
WebSocket 地址 |
ws://183.220.37.46:8000/ws |
API 文档
启动后端后访问:http://183.220.37.46:8000/docs