code/chapter12/README.md
本目录包含第十二章《智能体性能评估》的所有示例代码,按照文档顺序编号,方便学习者跟随文档学习。
| 文件名 | 对应章节 | 说明 |
|---|---|---|
01_basic_agent_example.py | 12.1.1 | 基础智能体示例,说明为何需要评估 |
02_bfcl_quick_start.py | 12.2.5 | BFCL快速开始(一键评估) |
03_bfcl_custom_evaluation.py | 12.2.5 | BFCL自定义评估(底层组件) |
04_run_bfcl_evaluation.py | 12.2.9 | BFCL评估最佳实践 |
05_gaia_quick_start.py | 12.3.5 | GAIA快速开始(一键评估) |
06_gaia_best_practices.py | 12.3.9 | GAIA评估最佳实践 |
07_data_generation_complete_flow.py | 12.4.6 | 数据生成完整评估流程 |
08_data_generation_llm_judge.py | 12.4.3 | LLM Judge评估 |
09_data_generation_win_rate.py | 12.4.4 | Win Rate评估 |
安装HelloAgents框架:
pip install hello-agents[evaluation]==0.2.3
设置环境变量:
# OpenAI API Key(用于GPT-4o)
export OPENAI_API_KEY="your_openai_api_key"
# HuggingFace Token(用于GAIA数据集)
export HF_TOKEN="your_huggingface_token"
下载BFCL数据集(可选,首次运行会自动下载):
cd ../HelloAgents
git clone https://github.com/ShishirPatil/gorilla.git temp_gorilla
python 01_basic_agent_example.py
这个示例展示了一个基本的ReAct智能体,说明为何需要评估系统。
python 02_bfcl_quick_start.py
这是最简单的BFCL评估方式,一行代码完成评估。
预期输出:
准确率: 100.00%
正确数: 5/5
python 03_bfcl_custom_evaluation.py
展示如何使用底层组件进行自定义评估流程。
python 04_run_bfcl_evaluation.py
展示BFCL评估的最佳实践,包括:
重要提示:GAIA是受限数据集,需要先申请访问权限。
python 05_gaia_quick_start.py
预期输出:
精确匹配率: 100.00%
部分匹配率: 100.00%
正确数: 2/2
python 06_gaia_best_practices.py
展示GAIA评估的最佳实践,包括:
python 07_data_generation_complete_flow.py 30 3.0
参数说明:
30:生成30道题目3.0:每道题目之间延迟3秒这个示例展示了数据生成的完整评估流程:
预期输出:
生成数量: 30道题目
LLM Judge平均分: 3.5/5.0
Win Rate: 45.0%
建议: 生成质量接近AIME真题水平
python 08_data_generation_llm_judge.py
展示如何使用LLM Judge评估生成的AIME题目质量。
预期输出:
平均分:
正确性: 5.00/5
清晰度: 4.50/5
难度匹配: 4.00/5
完整性: 5.00/5
总体平均: 4.62/5
质量评估:
✅ 优秀 - 题目质量很高,可以直接使用
python 09_data_generation_win_rate.py
展示如何使用Win Rate评估生成的AIME题目质量。
预期输出:
Win Rate: 45.00%
Tie Rate: 10.00%
Loss Rate: 45.00%
质量评估:
✅ 优秀 - 生成质量接近AIME真题水平
了解评估的必要性:
01_basic_agent_example.py学习BFCL评估:
02_bfcl_quick_start.py(快速开始)04_run_bfcl_evaluation.py(最佳实践)学习GAIA评估:
05_gaia_quick_start.py(快速开始)06_gaia_best_practices.py(最佳实践)自定义评估流程:
03_bfcl_custom_evaluation.py数据生成评估:
08_data_generation_llm_judge.py(LLM Judge)09_data_generation_win_rate.py(Win Rate)07_data_generation_complete_flow.py(完整流程)A: 请确保已安装HelloAgents框架:
cd ../HelloAgents
pip install -e .
A: 首次运行会自动下载数据集,请确保网络连接正常。如果下载失败,可以手动下载:
cd ../HelloAgents
git clone https://github.com/ShishirPatil/gorilla.git temp_gorilla
A: GAIA是受限数据集,需要先申请访问权限:
A: 可以减少样本数量:
# BFCL评估
results = bfcl_tool.run(agent, category="simple_python", max_samples=5)
# GAIA评估
results = gaia_tool.run(agent, level=1, max_samples=2)
# 数据生成评估
python 07_data_generation_complete_flow.py 10 3.0 # 只生成10道题目
A: 评估成本主要来自LLM API调用:
BFCL评估:
GAIA评估:
数据生成评估:
如果你发现示例代码有问题或有改进建议,欢迎提交Issue或Pull Request。
本示例代码遵循与HelloAgents框架相同的许可证。