附10:LLM 评估体系 —— 没有评估就没有优化
本节目标:理解 RAG 三角评估框架、掌握 RAGAS 四大核心指标、学会 LLM-as-Judge 最佳实践、建立 Bad Case 闭环。
第10课讲了测试金字塔。这一节专门聚焦 RAG 系统的专项评估。
1. RAG 三角评估
Code
Query
│
┌───────┴───────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Retrieved │ │ Generated │
│ Context │→│ Answer │
└──────────────┘ └──────────────┘
三个核心维度:
| 维度 | 问什么 | 防什么 |
|---|---|---|
| Context Relevance | 检索到的内容是否相关? | 检索跑偏 |
| Faithfulness | 回答是否基于检索内容? | 幻觉 |
| Answer Relevance | 回答是否切题? | 答非所问 |
2. RAGAS 四大核心指标
Faithfulness(忠诚度)—— 检测幻觉的核心
Code
步骤:
① LLM 把回答拆成多个原子声明(claims)
② 对每个 claim,判断 Context 是否支持
③ 分数 = 支持的 claims / 总 claims
例:
Answer: "黄帝内经认为胃不和则卧不安,
并推荐使用酸枣仁汤治疗。"
Claims:
1. "胃不和则卧不安" → 支持
2. "推荐酸枣仁汤" → 不支持 (Context 没提)
Faithfulness = 1/2 = 0.5
Context Precision(上下文精确度)
Top-K 检索结果中,相关文档的排名是否靠前。排名靠前的相关文档越多,分数越高。
Context Recall(上下文召回)
标准答案中的信息,有多少能从 Context 中找到。需要 ground truth。
Answer Relevancy(回答相关性)
用 LLM 根据 Answer 反向生成问题,看与原问题的相似度。好回答能"反推出"原问题。
python
from ragas import evaluate
from ragas.metrics import (
faithfulness, answer_relevancy,
context_precision, context_recall,
)
result = evaluate(
dataset,
metrics=[faithfulness, answer_relevancy,
context_precision, context_recall]
)
3. LLM-as-Judge
三种打分模式
| 模式 | 做法 | 适用 | 准确度 |
|---|---|---|---|
| Pointwise | 单回答打分(1-5分) | 绝对评价 | 推荐 |
| Pairwise | 两回答对比选优 | A/B测试、模型对比 | 推荐 |
| Listwise | 多回答排序 | 多模型对比 | 推荐 |
避免四大偏差
| 偏差 | 现象 | 解决 |
|---|---|---|
| 位置偏差 | 倾向选第一个回答 | 交换顺序,平均结果 |
| 长度偏差 | 倾向选更长的回答 | Prompt 明确"长度不是质量" |
| 自我偏好 | GPT-4 偏好 GPT-4 输出 | 用不同厂商的 Judge |
| 风格偏差 | 偏好 markdown/列表 | 评估时明确不看格式 |
Judge 模型选择
原则:Judge 要比被评模型强。最佳 GPT-4 / Claude 3.5,经济选 DeepSeek-V3。
4. 通用评测基准速查
| 基准 | 测什么 | 备注 |
|---|---|---|
| MMLU | 57学科多选题 | 通用知识天花板,易被刷榜 |
| MMLU-Pro | 10选项升级版 | 更可信 |
| C-Eval | 中文综合 | 国内大模型必刷 |
| LMSYS Arena | 用户盲测投票 | 最公正,业界共识 |
| HumanEval | 代码生成 | 164道Python题 |
| GSM8K | 数学推理 | 小学应用题 |
5. Bad Case 闭环
Code
收集 → 标注 → 聚类归因 → 针对性优化 → 评估验证 → 灰度上线 → 回到收集
失败阶段分类
| 失败阶段 | 占比参考 | 优化方向 |
|---|---|---|
| 检索失败 | ~40% | 调切片/换Embedding/加Rerank |
| Prompt 失败 | ~30% | 改模板/加约束/调Few-Shot |
| 生成失败 | ~30% | 加引用校验/降温度/换模型 |
工具推荐
- LangSmith(LangChain 出品):完整 trace + 评估集管理
- Langfuse(开源):自部署替代 LangSmith
- RAGAS:自动化 RAG 评估
核心要点
- 评估不是终点,是起点 —— 没评估就别优化
- RAGAS 四指标:Faithfulness(防幻觉)> Context Recall(完整性)> 其他
- LLM-as-Judge 用 Pairwise 最准,GPT-4 当 Judge
- Bad Case 是金矿:分类→归因→优化→验证,每周一个迭代
下一节附11,我们深入工程化部署:vLLM + 量化方案。