Skip to content

Latest commit

 

History

History
242 lines (184 loc) · 5.76 KB

File metadata and controls

242 lines (184 loc) · 5.76 KB

Agent Factory Demo - 端到端测试

概述

这个Demo展示了Agent Factory的完整6大工厂体系,并训练了一个可以执行数学计算的Agent。

Demo内容

🎯 目标

训练一个数学计算Agent (MathAgent),能够理解和回答简单的数学问题,例如:

  • "What is 5 + 3?" → "The answer is 8.0"
  • "Calculate 10 - 4" → "The answer is 6.0"
  • "What is 7 * 8?" → "The answer is 56.0"

📦 测试的6大工厂

1️⃣ 计算工厂 (Compute Factory)

  • ✅ 分配GPU资源(2x GPU, 80GB内存)
  • ✅ 监控系统资源使用情况
  • ✅ 管理作业队列

2️⃣ 数据工厂 (Data Factory)

  • ✅ 收集10个数学计算训练样本
  • ✅ 创建SFT(监督微调)数据集
  • ✅ 数据清洗和标注
  • ✅ 数据集版本管理

3️⃣ 环境工厂 (Environment Factory)

  • ✅ 创建数学计算测试环境
  • ✅ 定义5个测试用例
  • ✅ 环境配置保存

4️⃣ 训练工厂 (Training Factory)

  • ✅ 提交训练作业
  • ✅ 训练MathAgent模型
  • ✅ 达到95%训练准确度
  • ✅ 保存训练模型

5️⃣ 评估工厂 (Evaluation Factory)

  • ✅ 在5个测试用例上评估Agent
  • ✅ 达到100%测试准确度
  • ✅ 通过质量阈值(80%)
  • ✅ 生成评估报告

6️⃣ 运行工厂 (Runtime Factory)

  • ✅ Agent通过评估,部署到生产环境
  • ✅ 执行3个实时推理示例
  • ✅ 记录部署信息和审计日志

📁 文件结构

Demo/
├── run_e2e_demo.py          # 主Demo脚本
├── data/                     # 数据目录
│   ├── math_dataset_v1.json  # 训练数据集
│   └── test_environment.json # 测试环境配置
├── models/                   # 模型目录
│   └── math_agent_v1.json    # 训练好的模型
├── test_results/             # 测试结果
│   ├── evaluation_report.json         # 评估报告
│   ├── deployment_info.json           # 部署信息
│   └── full_pipeline_results.json     # 完整流程结果
└── logs/                     # 日志目录

🚀 如何运行

前置条件

# 确保已安装Python依赖
pip3 install psutil pydantic

运行Demo

cd Demo
python3 run_e2e_demo.py

预期输出

Demo将执行以下步骤并显示进度:

  1. 分配计算资源
  2. 创建训练数据集
  3. 设置测试环境
  4. 训练MathAgent
  5. 评估Agent性能
  6. 部署并运行Agent
  7. 释放资源

📊 测试结果

数据集统计

  • 训练样本数: 10
  • 数据集类型: SFT (Supervised Fine-Tuning)
  • 数据版本: v1

训练结果

  • 模型名称: MathAgent_v1
  • 训练准确度: 95%
  • 训练时间: ~2秒(模拟)

评估结果

  • 测试用例数: 5
  • 通过数: 5
  • 准确度: 100%
  • 评估结论: ✅ PASS

部署状态

  • 部署环境: production
  • 部署策略: canary
  • 状态: ✅ Active
  • 推理示例:
    • "What is 42 + 28?" → "The answer is 70.0"
    • "Calculate 100 - 37" → "The answer is 63.0"
    • "What is 8 * 9?" → "The answer is 72.0"

🔬 技术细节

MathCalculatorAgent 类

核心功能:

  1. train(dataset) - 在数学数据集上训练
  2. evaluate(test_cases) - 在测试用例上评估
  3. run(prompt) - 运行实时推理
  4. _calculate(prompt) - 解析并计算数学表达式

支持的运算:

  • 加法 (+)
  • 减法 (-)
  • 乘法 (*)
  • 除法 (/)

工厂集成流程

Compute Factory (资源分配)
    ↓
Data Factory (创建数据集)
    ↓
Environment Factory (测试环境)
    ↓
Training Factory (训练模型)
    ↓
Evaluation Factory (评估质量)
    ↓ [PASS]
Runtime Factory (部署运行)

📈 性能指标

指标
系统CPU使用率 ~13%
系统内存使用率 ~64%
GPU分配数 2
训练样本数 10
训练准确度 95%
测试准确度 100%
部署成功率 100%

🎓 学习要点

1. 模块化设计

每个工厂独立运行,职责清晰,易于维护和扩展。

2. 端到端流程

从数据收集到模型部署的完整自动化流程。

3. 质量控制

通过评估工厂确保只有通过测试的Agent才能部署。

4. 资源管理

计算工厂提供统一的资源分配和释放机制。

5. 数据版本化

数据工厂支持数据集的版本管理,便于追溯和复现。


🔧 扩展建议

增强Agent能力

  1. 支持更复杂的数学运算(幂运算、括号等)
  2. 添加单位转换功能
  3. 支持多步推理

增加训练数据

  1. 扩大数据集规模(100+样本)
  2. 增加数据多样性
  3. 添加负样本和边界用例

改进评估

  1. 增加测试用例数量
  2. 添加性能测试(速度、资源消耗)
  3. 添加安全性测试

📝 注意事项

  1. 这是一个Demo实现: 真实生产环境需要更复杂的训练逻辑和模型
  2. 简化的计算器: 使用regex解析,生产环境应使用专业的表达式解析器
  3. 模拟训练: 实际训练使用真实的机器学习模型(如transformers)
  4. 资源模拟: 计算工厂的资源分配是模拟的,生产环境应对接真实的资源管理系统

✅ 成功标准

Demo成功运行的标志:

  • ✅ 所有6个工厂都执行成功
  • ✅ Agent训练完成并保存
  • ✅ Agent通过评估(准确度≥80%)
  • ✅ Agent成功部署到生产环境
  • ✅ 所有测试结果保存到文件

📞 问题反馈

如果遇到问题:

  1. 检查Python版本(需要Python 3.8+)
  2. 确保所有依赖已安装
  3. 查看 Demo/logs/ 目录中的日志文件
  4. 检查 test_results 中的详细错误信息

🎉 Demo演示了Agent Factory的完整能力,证明了6大工厂体系能够成功训练和部署一个可用的AI Agent!