Ragas框架:如何评估以及优化Rag系统
Ragas是一种自动化评估检索增强生成(RAG)系统的框架,结合了大语言模型(LLM)和嵌入模型的优势。它通过四个核心指标进行评估:1)忠实度(Faithfulness)检查答案是否基于上下文;2)答案相关性(Answer Relevancy)衡量回答与问题的匹配度;3)上下文精确性(Context Precision)评估检索内容的相关性;4)上下文召回率(Context Recall)检测关键
Ragas 出自论文 《RAGAS: Automated Evaluation of Retrieval Augmented Generation》
* 论文地址:https://arxiv.org/abs/2309.15217
* 代码仓库:https://github.com/explodinggradients/ragas
Ragas 评估框架是通过结合大语言模型(LLM)的推理能力和嵌入模型(Embedding Model)的语义计算能力来评估Rag系统。
计算涉及的变量:
原始问题(Query)
上下文(Context)
待评估的大模型生成的答案(Response)
人工标注的“标准答案”(Ground Truth)
核心指标的具体计算原理:
🧬 忠实度 (Faithfulness)
这个指标用于判断生成的答案是否完全基于提供的上下文,防止模型“胡说八道”(即产生幻觉)。
1. 主张提取:首先,利用一个 LLM 将生成的答案(Response)拆解成多个独立的、可验证的主张(Claims)。
2. 主张验证:然后,再次利用 LLM 作为评判者,逐一判断这些主张是否能从检索到的上下文(Context)中推断出来。
3. 计算得分:最终的忠实度得分是得到支持的主张数量与总主张数量的比率。
* 公式:Faithfulness Score = (得到上下文支持的主张数) / (总主张数)


🎯 答案相关性 (Answer Relevancy)
这个指标衡量生成的答案与用户原始问题的相关程度,惩罚那些不完整或包含多余信息的回答。
1. 问题逆向生成:利用一个 LLM,根据生成的答案(Response)逆向生成 n 个潜在的问题。
2. 语义相似度计算:使用一个嵌入模型(如 text-embedding-ada-002)将这些逆向生成的问题和原始问题(Query)都转化为向量,并计算它们之间的余弦相似度。
3. 计算得分:最终的得分是原始问题与所有逆向生成问题的相似度的平均值。
* 公式:Answer Relevancy Score = (1/n) * Σ(相似度(原始问题, 逆向问题_i))

📄 上下文精确性 (Context Precision)
这个指标评估检索到的上下文的质量,特别是其“信噪比”,即有多少内容是真正相关的,对冗余信息进行惩罚。
1. 关键句提取:利用一个 LLM,从检索到的上下文(Context)中提取出所有对回答原始问题(Query)至关重要的句子或片段。
2. 相关性判断:对于每一个提取出的关键片段,判断它是否与问题相关。
3. 计算得分:得分会考虑相关片段的数量及其在检索结果中的位置。如果相关文档排在前面,得分会更高;如果排在后面或存在大量无关文档,得分会显著下降。
🔍 上下文召回率 (Context Recall)
这个指标衡量检索系统能否找到回答问题所需的全部关键信息。
1. 关键信息提取:利用一个 LLM,从生成的答案(Response)中提取出所有关键信息点。
2. 信息覆盖判断:还是利用LLM判断这些关键信息点是否能在上下文(Context)中检索到。
3. 计算得分:最终的召回率得分是被成功检索到的关键信息点数量与总关键信息点数量的比率。


总而言之,Ragas 通过这种将 LLM 作为“评判员”和“提取器”,将 Embedding Model 作为“计算器”的方式,实现了对 RAG 系统的自动化、无参考(无需人工标注标准答案)且多维度的评估。
更多推荐



所有评论(0)