code/chapter12/data_generation/运行指南.md
本文档提供完整的运行步骤,从数据生成到评估报告生成。
确保已安装所有依赖:
# 安装评估系统依赖
pip install hello-agents[evaluation]
# 或手动安装
pip install datasets huggingface_hub pandas tqdm gradio
在 .env 文件中配置:
# LLM API密钥(二选一)
DASHSCOPE_API_KEY=your_dashscope_key # 阿里云DashScope
OPENAI_API_KEY=your_openai_key # OpenAI
# HuggingFace Token(用于下载数据集)
HF_TOKEN=your_hf_token
这是一键运行的方式,会自动完成生成、评估、报告生成:
cd docs/chapter12/HelloAgents
python data_generation/run_complete_evaluation.py 30 3.0
参数说明:
30 - 生成30道题目3.0 - 每次生成间隔3秒(推荐2-3秒)说明:
预计耗时:
输出文件:
data_generation/
├── generated_data/
│ └── aime_generated_YYYYMMDD_HHMMSS.json # 生成的题目
└── evaluation_results/
└── YYYYMMDD_HHMMSS/
├── llm_judge/
│ ├── llm_judge_result_YYYYMMDD_HHMMSS.jsonl
│ └── llm_judge_report_YYYYMMDD_HHMMSS.md
├── win_rate/
│ ├── win_rate_result_YYYYMMDD_HHMMSS.jsonl
│ └── win_rate_report_YYYYMMDD_HHMMSS.md
└── comprehensive_report.md # 综合报告
# 找到最新的评估结果目录
cd data_generation/evaluation_results
ls -lt # 查看最新的目录
# 查看综合报告
cat YYYYMMDD_HHMMSS/comprehensive_report.md
综合报告包含:
LLM Judge详细报告:
cat YYYYMMDD_HHMMSS/llm_judge/llm_judge_report_YYYYMMDD_HHMMSS.md
Win Rate详细报告:
cat YYYYMMDD_HHMMSS/win_rate/win_rate_report_YYYYMMDD_HHMMSS.md
如果需要进行人工验证,运行:
python data_generation/human_verification_ui.py data_generation/generated_data/aime_generated_YYYYMMDD_HHMMSS.json
操作步骤:
http://127.0.0.1:7860验证结果保存:
data_generation/generated_data/aime_generated_YYYYMMDD_HHMMSS_verifications.json
如果需要分步运行,可以按以下步骤:
from data_generation.aime_generator import AIMEGenerator
generator = AIMEGenerator(delay_seconds=3.0)
generated_data_path = generator.generate_and_save(num_problems=30)
print(f"生成数据保存在: {generated_data_path}")
from hello_agents import HelloAgentsLLM
from hello_agents.tools import LLMJudgeTool
llm = HelloAgentsLLM()
llm_judge_tool = LLMJudgeTool(llm=llm)
result = llm_judge_tool.run({
"generated_data_path": "data_generation/generated_data/aime_generated_XXXXXX.json",
"reference_year": 2025,
"max_samples": 30,
"output_dir": "data_generation/evaluation_results/llm_judge"
})
from hello_agents import HelloAgentsLLM
from hello_agents.tools import WinRateTool
llm = HelloAgentsLLM()
win_rate_tool = WinRateTool(llm=llm)
result = win_rate_tool.run({
"generated_data_path": "data_generation/generated_data/aime_generated_XXXXXX.json",
"reference_year": 2025,
"num_comparisons": 20,
"output_dir": "data_generation/evaluation_results/win_rate"
})
问题:
INFO:openai._base_client:Retrying request to /chat/completions in 0.451826 seconds
解决:
python data_generation/run_complete_evaluation.py 30 5.0问题:下载AIME数据集很慢
解决:
# 使用镜像源
export HF_ENDPOINT=https://hf-mirror.com
# 或手动下载后使用本地路径
问题:生成的题目有重复
解决:
问题:LLM Judge或Win Rate评估失败
解决:
根据评估结果:
如果质量优秀:
如果质量良好:
如果需要改进:
# AIME数据生成与评估综合报告
## 1. 基本信息
- **生成时间**: 2025-01-10 12:00:00
- **生成题目数量**: 30
- **参考AIME年份**: 2025
## 2. 数据生成统计
### 主题分布
| 主题 | 数量 | 占比 |
|------|------|------|
| 代数 | 10 | 33.3% |
| 几何 | 8 | 26.7% |
| 数论 | 7 | 23.3% |
| 组合 | 3 | 10.0% |
| 概率 | 2 | 6.7% |
## 3. LLM Judge评估结果
- **平均总分**: 4.2/5.0
- **通过率**: 85.0%
- **优秀率**: 40.0%
## 4. Win Rate评估结果
- **Win Rate**: 45.0%
- **评级**: 良好
## 5. 综合结论
✅ 生成数据质量**良好**,接近AIME真题水平。
完整流程:
python data_generation/run_complete_evaluation.py 30 3.0data_generation/evaluation_results/XXXXXX/comprehensive_report.md说明:
祝你使用愉快!