# 大模型微调平台

一个完整的大模型微调平台，包含前端 Web 界面和 FastAPI 后端服务。

## 🚀 快速开始

### 一键启动所有服务

```bash
./total_start.sh
```

选择 `1) 启动所有服务`，即可同时启动前端和后端服务。

## 📁 项目结构

```
YG_FT_Platform/
├── total_start.sh      # 一键启动所有服务
├── test_all.sh         # 测试所有服务
├── README.md           # 项目说明文档
├── src/                # FastAPI 后端服务
│   ├── main.py         # FastAPI 应用主文件
│   ├── requirements.txt # Python 依赖列表
│   ├── run.sh          # FastAPI 启动脚本
│   ├── test_api.sh     # API 测试脚本
│   └── README.md       # FastAPI 文档
└── web/                # Web 前端
    ├── pages/          # HTML 页面
    │   ├── main.html    # 主页面 (SPA)
    │   └── login.html   # 登录页面
    ├── css/             # 样式文件
    ├── assets/          # 静态资源
    ├── start.sh         # Web 启动脚本
    └── README.md        # Web 前端文档
```

## 🌐 服务地址

### 前端 (端口 8000)
- **主页**: http://10.10.10.77:8000/pages/main.html
- **登录页**: http://10.10.10.77:8000/pages/login.html

### 后端 (端口 8001)
- **API 根路径**: http://10.10.10.77:8001/
- **API 文档**: http://10.10.10.77:8001/docs
- **替代文档**: http://10.10.10.77:8001/redoc

## 🎯 功能特性

### 前端特性
- ✅ 单页应用 (SPA)
- ✅ 响应式设计，支持手机/平板访问
- ✅ 用户登录验证
- ✅ 数据集管理页面
- ✅ 系统监控仪表盘
- ✅ 模拟数据实时更新

### 后端特性
- ✅ RESTful API 设计
- ✅ 用户认证与授权
- ✅ 数据集管理 API
- ✅ 模型配置管理
- ✅ 训练状态监控
- ✅ 系统统计信息
- ✅ 统一的响应格式

## 🔧 启动方式

### 方式 1: 一键启动所有服务 (推荐)

```bash
./total_start.sh
```

选择启动模式：
- `1` - 启动所有服务（FastAPI + Web前端）
- `2` - 只启动 FastAPI 服务
- `3` - 只启动 Web 前端服务
- `4` - 交互式选择

### 方式 2: 单独启动服务

#### 启动后端服务
```bash
cd src
./run.sh
```

#### 启动前端服务
```bash
cd web
./start.sh
```

## 🧪 测试

### 测试所有服务
```bash
./test_all.sh
```

### 测试 API
```bash
cd src
./test_api.sh
```

### 手动测试 API
```bash
# 健康检查
curl http://10.10.10.77:8001/api/health

# 获取数据集
curl http://10.10.10.77:8001/api/datasets

# 用户登录
curl -X POST http://10.10.10.77:8001/api/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "123456"}'
```

## 📚 API 文档

### 主要端点

| 方法 | 路径 | 描述 |
|------|------|------|
| GET | / | 根路径 |
| GET | /api/health | 健康检查 |
| POST | /api/login | 用户登录 |
| GET | /api/datasets | 获取数据集列表 |
| POST | /api/datasets | 创建数据集 |
| GET | /api/models | 获取模型列表 |
| POST | /api/models/config | 配置模型参数 |
| GET | /api/training/status | 获取训练状态 |
| GET | /api/system/stats | 获取系统统计 |

## 🛠️ 技术栈

### 前端
- HTML5 + CSS3 + JavaScript
- Tailwind CSS (样式框架)
- Chart.js (图表库)
- 单页应用 (SPA) 架构

### 后端
- Python 3.10+
- FastAPI (Web 框架)
- Uvicorn (ASGI 服务器)
- Pydantic (数据验证)

## ⚙️ 系统要求

- Python 3.7+
- pip (Python 包管理器)
- 现代浏览器 (Chrome, Firefox, Safari, Edge)

## 📝 许可证

MIT License

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

## 📧 联系方式

如有问题，请提交 Issue 或联系开发者。
