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