# 确保已激活正确的conda环境
conda activate reasoner
# 进入项目目录
cd /home/czy/CISC_PRO
# 验证Llama模型是否正常工作
python test_llama_model.py# 使用Llama3.1-8B执行完整的路由系统构建
python run_complete_pipeline.py --model llama3.1-8b --samples 200 --eval-samples 50
# 快速测试版本(用于验证系统功能)
python run_complete_pipeline.py --model llama3.1-8b --samples 20 --eval-samples 10
# 高精度版本(更多样本,更准确的结果)
python run_complete_pipeline.py --model llama3.1-8b --samples 500 --eval-samples 100# 让8个数学专家角色解答200道GSM8K题目
python role_profiles.py --model llama3.1-8b --samples 200预期输出:
🚀 开始角色性能画像...
使用模型: llama3.1-8b
样本数量: 200
正在评估角色 1/8: step_by_step_teacher
角色描述: 循序渐进的数学老师 - 注重逐步分解和详细解释
进度: 10/200
进度: 20/200
...
step_by_step_teacher 准确率: 0.7650 (153/200)
正在评估角色 2/8: logical_decomposer
...
✅ 角色性能画像完成!
最佳角色: practical_calculator (准确率: 0.7850)
# 使用Llama3.1-8B对200道题目进行智能分类
python question_classifier.py --model llama3.1-8b --samples 200预期输出:
🚀 开始问题分类...
使用模型: llama3.1-8b
样本数量: 200
进度: 10/200
进度: 20/200
...
问题类别分布:
word_problems_money: 52 题 (26.0%)
arithmetic_operations: 38 题 (19.0%)
multi_step_reasoning: 35 题 (17.5%)
...
✅ 问题分类完成!
共分类 200 个问题到 9 个类别
# 分析角色在不同类型问题上的表现,生成路由指南
python performance_analyzer.py \
--profile-file role_profiling_results/role_profile_detailed_20240907_143022.csv \
--classification-file question_classification_results/question_categories_20240907_144513.csv预期输出:
🚀 开始完整性能分析...
加载角色画像数据: role_profiling_results/role_profile_detailed_20240907_143022.csv
加载了 1600 条画像记录,包含 8 个角色
加载问题分类数据: question_classification_results/question_categories_20240907_144513.csv
加载了 200 条分类记录,包含 9 个类别
📊 分析摘要:
总角色数: 8
总类别数: 9
分析的角色-类别组合: 72
🏆 各类别最佳角色:
word_problems_money: practical_calculator (82.3%)
algebraic_thinking: equation_builder (78.9%)
multi_step_reasoning: step_by_step_teacher (76.4%)
...
✅ 完整性能分析完成!
🎉 路由指南已生成! 查看文件: analysis_results/routing_guide_20240907_145601.md
# 测试智能路由系统的实际性能
python intelligent_router.py \
--model llama3.1-8b \
--routing-guide analysis_results/routing_guide_20240907_145601.json \
--samples 50预期输出:
🚀 开始评估智能路由系统...
进度: 10/50
进度: 20/50
...
路由系统总体准确率: 0.7800 (39/50)
✅ 智能路由系统评估完成!
基于Llama3.1-8B的更强能力,您可以期待以下性能提升:
| 指标 | Qwen2.5-3B | Gemma-2-2B | Llama3.1-8B |
|---|---|---|---|
| 参数量 | 3B | 2B | 8B |
| 预期GSM8K准确率 | 50-60% | 40-50% | 70-80% |
| 推理质量 | 中等 | 较低 | 高 |
| 路由决策准确性 | 中等 | 较低 | 高 |
| 解题详细程度 | 中等 | 简单 | 详细 |
使用Llama3.1-8B,各个专家角色预期表现:
| 专家角色 | 预期整体准确率 | 最擅长类别 | 该类别预期准确率 |
|---|---|---|---|
| practical_calculator | 75-80% | 金钱问题 | 85-90% |
| equation_builder | 72-78% | 代数思维 | 80-85% |
| step_by_step_teacher | 74-79% | 多步推理 | 78-83% |
| logical_decomposer | 71-76% | 复杂推理 | 75-80% |
- 整体准确率: 75-82%(比单一最佳角色提升8-12%)
- 路由准确性: 85-90%(正确选择最适合的专家)
- 解题质量: 更详细的步骤,更清晰的逻辑
from intelligent_router import IntelligentRouter
# 初始化路由器(使用Llama3.1-8B)
router = IntelligentRouter(
model_name="llama3.1-8b",
routing_guide_file="analysis_results/routing_guide_latest.json"
)
# 金钱类问题
question = "Tom买了3本书,每本15美元。他付了50美元,应该找回多少钱?"
print("🔍 问题:", question)
selected_role, category, confidence, reasoning = router.route_question(question)
print(f"📍 预测类别: {category}") # 预期: word_problems_money
print(f"🎭 选择专家: {selected_role}") # 预期: practical_calculator
print(f"💪 信心度: {confidence}") # 预期: high
final_answer, extracted_answer = router.solve_with_role(question, selected_role)
print(f"🎯 最终答案: {extracted_answer}") # 预期: 5预期输出:
🔍 问题: Tom买了3本书,每本15美元。他付了50美元,应该找回多少钱?
📍 预测类别: word_problems_money
🎭 选择专家: practical_calculator
💪 信心度: high
🎯 最终答案: 5
# 代数类问题
question = "一个数的两倍加上5等于17,这个数是多少?"
selected_role, category, confidence, reasoning = router.route_question(question)
print(f"📍 预测类别: {category}") # 预期: algebraic_thinking
print(f"🎭 选择专家: {selected_role}") # 预期: equation_builder
final_answer, extracted_answer = router.solve_with_role(question, selected_role)
print(f"🎯 最终答案: {extracted_answer}") # 预期: 6- GPU内存优化
# 如果遇到内存不足,可以设置较小的批处理大小
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512
# 或者使用CPU卸载
python run_complete_pipeline.py --model llama3.1-8b --samples 100- 推理速度优化
# 使用较少的样本进行快速测试
python run_complete_pipeline.py --model llama3.1-8b --samples 50 --eval-samples 20
# 跳过已完成的步骤
python run_complete_pipeline.py --model llama3.1-8b --skip-profile --skip-classification- 质量提升
# 使用更多样本获得更准确的画像
python run_complete_pipeline.py --model llama3.1-8b --samples 500 --eval-samples 100- 模型加载缓慢
# 这是正常现象,Llama3.1-8B是较大的模型
# 首次加载可能需要1-2分钟- GPU内存不足
# 检查GPU使用情况
nvidia-smi
# 如果内存不足,考虑使用较小样本
python run_complete_pipeline.py --model llama3.1-8b --samples 100- 推理速度较慢
# 这是正常的,Llama3.1-8B比小模型慢,但质量更高
# 可以先用小样本测试,确认系统工作后再用大样本执行完成后,您将在以下目录找到结果:
CISC_PRO/
├── role_profiling_results/
│ ├── role_profile_detailed_TIMESTAMP.csv # 详细画像数据
│ └── role_accuracy_summary_TIMESTAMP.csv # 角色准确率排名
├── question_classification_results/
│ ├── question_categories_TIMESTAMP.csv # 问题分类结果
│ └── classification_summary_TIMESTAMP.json # 分类统计
├── analysis_results/
│ ├── routing_guide_TIMESTAMP.md # 人类可读的路由指南
│ ├── routing_guide_TIMESTAMP.json # 程序用路由数据
│ └── role_category_performance_TIMESTAMP.csv # 性能矩阵
└── intelligent_routing_results/
├── routing_evaluation_TIMESTAMP.json # 路由评估详情
└── routing_evaluation_report_TIMESTAMP.md # 评估报告
使用Llama3.1-8B模型,您将获得:
- 高质量的专家角色画像 - 8个角色在200个问题上的详细表现分析
- 精准的问题分类 - 12个类别的智能分类系统
- 数据驱动的路由指南 - 基于实际性能的专家推荐策略
- 智能路由系统 - 自动选择最适合的专家解决新问题
- 性能提升验证 - 相比单一角色8-12%的准确率提升
现在您可以开始使用Llama3.1-8B进行智能路由系统的构建和评估了!