【大模型应用】大模型RAG系统回答评分机制RAG AS(Retrieval Augmented Generation Assessment)
一、 RAGAS 核心理念:为什么需要它?
在 RAG 架构落地时,传统的 NLP 评估指标(如 BLEU, ROUGE)基于字面重合度,完全无法衡量大模型的语义理解和幻觉问题。RAGAS 的核心思想是 LLM-as-a-Judge(大模型作为裁判),它将复杂的 RAG 评估拆解为对检索(Retrieval)和生成(Generation)两个独立阶段的量化评估。
面试时,建议首先明确指出 RAGAS 的数据输入要求。大多数指标需要以下四个维度的数据:
-
Question: 用户的原始查询。
-
Contexts: 检索系统召回的文本块(Chunks)。
-
Answer: 大模型基于 Contexts 生成的最终回答。
-
Ground Truth (可选): 人工标注的标准答案(部分指标需要)。
二、 核心评估指标(核心考点)
RAGAS 将评估体系分为两大类:生成质量(Generation) 和 检索质量(Retrieval)。你需要熟练掌握它们各自的底层逻辑。
1. 评估生成质量 (Generation Metrics)
A. Faithfulness (忠实度 / 幻觉率评估)
-
目的:衡量生成的答案是否完全基于检索到的上下文(Contexts),有没有“胡说八道”(幻觉)。这是一个Reference-free(无需标准答案)的指标。
-
底层计算逻辑:
-
利用 LLM 将生成的答案(Answer)拆解成一个个独立的陈述句集合(Statements)。
-
利用 LLM 逐一判断,对于每一个陈述句 s_i,给定的上下文中是否包含足够的信息支撑它。
-
-
公式:
其中,|S|是陈述句的总数,|V| 是被上下文(Contexts)支持的陈述句数量。
B. Answer Relevance (回答相关性)
-
目的:衡量生成的答案对用户问题(Question)的解答程度。不仅惩罚答非所问,也惩罚冗余信息。
-
底层计算逻辑:
-
RAGAS 不直接去对比 Question 和 Answer。而是通过逆向工程:让 LLM 根据生成的 Answer,反向生成 n 个可能的问题(Questions')。
-
计算这 n 个反向生成问题与原始问题(Question)的 Embedding 向量。
-
计算它们的余弦相似度(Cosine Similarity),取平均值。
-
-
考点提示:这种反向生成的设计巧妙地过滤了 Answer 中冗长的无关内容,因为无关内容会导向错误的反向问题。
2. 评估检索质量 (Retrieval Metrics)
C. Context Relevance / Context Precision (上下文精确度)
-
目的:衡量检索出的 Chunks 的信噪比和排序质量。排在前面的内容是否都是高度相关的?
-
底层计算逻辑:
利用 LLM 判断检索出的每一个 Chunk 对回答问题是否有用,并结合其排序位置计算分数。它借鉴了推荐系统中的 Mean Average Precision (MAP) 思想。
-
公式(当
表示第 k 个位置的 Chunk 是否相关时):
D. Context Recall (上下文召回率)(可选项)
-
目的:衡量检索系统有没有把所有必要的信息都找出来(不漏报)。这需要提前准备Ground Truth(标准答案)。
-
底层计算逻辑:
-
用 LLM 把 Ground Truth 拆解成一条条知识点。
-
利用 LLM 判断检索到的所有 Contexts 中,是否包含了这些知识点。
-
这是一个Reference-based(依赖标准答案)指标。
-
-
公式:
其中,|N| 是 Ground Truth 包含的全部陈述句总数,|T| 是被 Contexts 支持的陈述句数量。
三、 RAGAS 高级功能(高分必备项)
当面试官问你:“既然 RAGAS 是基于数据驱动的,如果在项目初期,我们连测试集(QA 对)都没有,怎么进行 RAG 评估?” 这时,抛出以下功能:
Testset Generation (合成测试集生成)
RAGAS 提供了一个叫做 TestsetGenerator 的工具链,可以直接输入你的文档库(Document Corpus),利用大模型(如你的基座模型)自动构建包含复杂逻辑的问答对。
-
生成策略(进化树思想):它不只是生成简单问题,还会生成不同难度级别的问题类型:
-
Reasoning (推理题): 需要结合多个句子进行推导。
-
Conditioning (条件题): 带有前置条件或背景的特定情况查询。
-
Multi-context (多文档题): 答案跨越文档库中多个不同位置(Chunks)的查询。
-
这完美解决了冷启动阶段没有标注数据的问题。
四、 落地与工程考量(面试防坑指南)
-
API 成本控制与限流处理:由于 RAGAS 的所有指标计算都依赖于底层 LLM 调用(如 Prompt 请求和 Embedding 计算),评估一个包含 1000 道题的测试集可能需要发送上万次并发请求。这极易触发 API 提供商的 Rate Limit,而且成本高昂。
-
LLM 评估者的偏差(LLM-as-a-judge bias):强模型(如 GPT-4 或 Claude 3)打的分数和较弱模型打的分数可能会有显著差异。很多时候,开源小模型对幻觉的敏感度远不及顶尖的商业模型。因此,用来做 RAGAS 评估裁判的 LLM,能力必须远高于实际业务推理使用的 LLM。
-
Prompt 的语言适配:RAGAS 默认的内部 Prompt 都是英文的。如果你构建的是一个中文知识库(如“科研助手”),直接使用可能会导致中英文夹杂生成,从而极大影响大模型的判断准确率。必须通过自定义 Prompts 的方式,将底层的判别提示词翻译和适配为中文。
更多推荐


所有评论(0)