Note

如何全面评估 RAG 系统?

分别整理检索质量、生成质量与系统整体表现的评估指标。

如何全面地评估一个 RAG 系统的性能?请分别从检索和生成两个阶段提出评估指标。

全面地评估一个RAG系统,必须将其拆分为检索阶段和生成阶段两个独立但又相互关联的部分进行评估,因为最终答案的质量是这两个阶段共同作用的结果。一个好的评估框架应该同时包含客观的、自动化的指标和主观的、人工的评估。

第一阶段:检索性能评估 (Retrieval Evaluation)

这个阶段的目标是评估我们的检索器(Retriever)能否“找得对、找得全”。评估需要一个包含(问题,相关文档ID)的标注数据集。

  • 核心指标:
    1. 上下文精确率 (Context Precision): 衡量检索到的文档中有多少是真正与问题相关的。它反映了检索结果的信噪比。
    2. 上下文召回率 (Context Recall): 衡量所有相关的文档中,有多少被我们的检索器成功找回来了。它反映了信息查找的全面性。
  • 其他常用排名指标: 3. Hit Rate: 检索到的文档中是否至少包含一个相关文档。这是一个基础的“及格线”指标。 4. MRR (Mean Reciprocal Rank): 第一个相关文档排名的倒数的平均值。它衡量找到第一个正确答案的速度。 5. nDCG@k (Normalized Discounted Cumulative Gain): 最全面和常用的指标之一,它同时考虑了检索结果的相关性等级和它们在结果列表中的排名。

第二阶段:生成性能评估 (Generation Evaluation)

这个阶段的目标是评估LLM在给定上下文后,能否生成“忠实、准确、有用”的答案。

  • 核心指标(通常需要LLM-as-a-Judge或人工评估):

    1. 忠实度/可溯源性 (Faithfulness / Groundedness):
      • 评估问题: 生成的答案是否完全基于所提供的上下文?是否存在捏造或幻觉?
      • 评估方法: 将生成的答案与上下文进行对比,检查答案中的每一句话是否都能在上下文中找到依据。
    2. 答案相关性 (Answer Relevancy):
      • 评估问题: 生成的答案是否直接、清晰地回答了用户的原始问题?
      • 评估方法: 评估答案与用户问题的匹配程度,看是否存在答非所问的情况。
    3. 答案正确性 (Answer Correctness):
      • 评估问题: 答案中的信息是否事实准确?(这是一个更严格的指标,因为有时即使忠于原文,原文也可能是错的)
      • 评估方法: 与一个“黄金标准”答案(Ground Truth)进行比较,或由领域专家进行事实核查。
  • 自动化评估框架:

    • 像 RAGAS, ARES, TruLens 这样的开源框架,它们使用LLM-as-a-Judge的思想,将上述的Faithfulness, Relevancy等指标自动化计算出来,极大地提高了评估效率。例如,RAGAS会生成问题、答案,并自动检查答案是否忠实于上下文。