目录

RAG效果评估

  • 本文主要是关于如何评估RAG的效果

1 评估召回环节的效果

  • 构建形如“问题-包含答案的文本块”这样的测试数据。
  • 常用的评估指标:命中率,MRR(Mean Reciprocal Rank)
  • MRR:平均倒数排名,计算方式为进行多次召回,得到每次召回中包含答案的文本块在召回列表中的排名倒数,然后取平均值。

2 评估模型回答

  • 常见的LLM回答评估方法
  1. 选择题评估
    1. 构造选择题数据,让LLM进行单项或多项选择来测试正确率。这种方法可以比较准确地评估LLM的能力,但构建高质量且全面的数据集成本较高,并且很难完全避免LLM对测试集数据的有针对性训练和榜单刷分问题。大部分通用LLM评估榜单都采用了这种方法,比如OpenCompass、C-eval等。然而,该方法不太适用于大模型RAG实际开发。
  2. 竞技场评估
    1. 当用户提出问题后,两个匿名的LLM会给出答案。用户会根据答案的质量评价哪个LLM的答案更好,最后计算每个LLM的elo分值进行排名。该方法评估最为客观,但是需要大量用户参与,难度大,也不太适用于大模型RAG实际开发。
  3. 传统NLP指标评估
    1. 当用户提出问题后,两个匿名的LLM会给出答案。用户会根据答案的质量评价哪个LLM的答案更好,最后计算每个LLM的elo分值进行排名。该方法评估最为客观,但是需要大量用户参与,难度大,也不太适用于大模型RAG实际开发
  4. 向量化模型评估法
    1. 该方法需要有参考答案,将参考答案和LLM的回答进行向量化,然后计算它们之间的相似度。这种评估方法的优点是成本低,并且能够考虑语义信息。然而,需要注意的是,模型回答和参考答案之间的高相似度并不一定意味着回答是正确的,它只能保证语义上的相似性。举个例子,​“天空是蓝色的”和“天空是黄色的”这两句话的相似度很高,但意思完全不同。大模型应用开发框架LlamaIndex提供了SemanticSimilarityEvaluator接口实现该评估方法。
  5. LLM评估
    1. 使用LLM的能力,并结合提示词工程来对答案进行评分,是最适合RAG场景的评估方法。即使没有参考答案,大模型利用自身知识也能进行评估(没有参考答案的提示词可参考MT-Bench)​,缺点是LLM调用成本较高。

3 RAGAS 框架

  • 一种评估RAG的效果的框架。