MCP Training System 是一个用于毕业设计演示的模型训练闭环系统。当前版本重点验证一个最小可演示 MVP:在线数据集导入、数据切分、Data Agent 分析、MCP 风格 Orchestrator 编排训练与评估,以及前端展示运行状态和日志。
- 经典版:数据集、训练、评估的 REST API 与页面操作面,用于上传数据、查看任务、排查训练和评估结果。
- Agent 版:围绕 MCP 风格消息和 Orchestrator 的自动执行面,用于把 Data Agent、Training Agent、Evaluation Agent 串成闭环。
- 当前状态:MVP 闭环优先,不宣称完整生产级多 Agent 平台;独立标准 MCP Server 仍属于后续扩展方向。
- 领域:客户反馈分析 / 航空评论情感分析。
- 任务:文本二分类。
- 数据集:Twitter US Airline Sentiment CSV。
- 导入适配器:
airline_sentiment_binary,过滤neutral,保留positive/negative,转换为text,label。 - 切分:训练集 80%,测试集 20%。
- 默认模型:
prajjwal1/bert-tiny。 - 默认训练配置:
epochs=3,batch_size=8,learning_rate=2e-5。
- 启动 PostgreSQL 和 Redis:
docker-compose up -d postgres redis- 安装 Python 依赖:
pip install -r python_scripts/requirements.txtWindows 可使用:
py -3 -m pip install -r python_scripts/requirements.txt- 启动后端:
go run cmd/server/main.go- 启动前端:
cd frontend
npm install
npm run dev- 打开前端:
http://localhost:3000
进入 Agent 版页面后点击 一键闭环验证,系统会自动执行:任务识别 -> 在线数据集导入 -> 80/20 切分 -> Data Agent 分析 -> Pipeline 启动 -> 训练 -> 评估。
POST /api/v1/datasets/from-url:从 URL 导入数据集,支持adapter=airline_sentiment_binary。POST /api/v1/datasets/:id/split:将训练数据切分为训练集和测试集。POST /api/v1/agent/datasets/:id/analyze:运行 Data Agent 数据分析。POST /api/v1/pipelines:创建 MCP Orchestrator Pipeline。GET /api/v1/pipelines/:id:查看 Pipeline 状态。GET /api/v1/training/jobs/:id/raw-logs:读取训练过程日志。POST /api/v1/training/jobs/:id/cancel:取消训练任务。
flowchart LR
User[用户] --> AgentUI[Agent 版工作台]
User --> ClassicUI[经典版页面]
AgentUI --> API[Gin API]
ClassicUI --> API
API --> Orchestrator[MCP Orchestrator]
Orchestrator --> DataAgent[Data Agent]
Orchestrator --> TrainingAgent[Training Agent]
Orchestrator --> EvaluationAgent[Evaluation Agent]
DataAgent --> DB[(PostgreSQL / Redis)]
TrainingAgent --> DB
EvaluationAgent --> DB
prajjwal1/bert-tiny是小型 BERT 模型,模型文件约十几 MB 属于正常现象,适合 MVP 截图和流程验证,不代表最终高精度模型。- 如果本机无法访问 HuggingFace 且模型未缓存,训练会在加载模型阶段失败;失败原因会显示在训练日志和 Agent 版 MCP 日志区。
- 经典版页面和接口仍保留,主要用于数据溯源、任务检查和故障排查。