10附课11 分钟

附10:LLM 评估体系 —— 没有评估就没有优化

理解 RAG 三角评估框架、掌握 RAGAS 四大核心指标、学会 LLM-as-Judge 最佳实践、建立 Bad Case 闭环。

评估RAGASLLM-as-JudgeBad CaseMMLU
进度保存在本机浏览器;验收通过后再点更稳妥

附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. 通用评测基准速查

基准测什么备注
MMLU57学科多选题通用知识天花板,易被刷榜
MMLU-Pro10选项升级版更可信
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 评估

核心要点

  1. 评估不是终点,是起点 —— 没评估就别优化
  2. RAGAS 四指标:Faithfulness(防幻觉)> Context Recall(完整性)> 其他
  3. LLM-as-Judge 用 Pairwise 最准,GPT-4 当 Judge
  4. Bad Case 是金矿:分类→归因→优化→验证,每周一个迭代

下一节附11,我们深入工程化部署:vLLM + 量化方案。