1. RAG评估体系构建的必要性
在构建检索增强生成(RAG)系统时,许多开发者都会遇到一个共同的困境:系统上线后效果不尽如人意,却无法准确找出问题所在。我曾参与过一个金融知识问答系统的开发,团队花费数周时间调整chunk大小、尝试不同向量模型,但用户仍然反馈答案质量不稳定。直到我们建立了完整的评估体系,才发现核心问题其实出在检索阶段的上下文分割策略上。
RAG系统本质上是一个由检索模块和生成模块组成的复合系统。评估时不能仅凭最终答案的"感觉"来判断效果,必须对每个环节进行量化分析。这就像医生诊断病人,不能只看表面症状,而需要通过各项检查指标来定位病因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. RAG评估的核心指标体系
2.1 检索层评估指标
检索层相当于RAG系统的"信息收集员",其表现直接影响后续生成质量。我们主要关注三个核心指标:
-
上下文召回率(Context Recall):衡量检索结果是否包含回答问题所需的关键信息点。计算公式为:
code复制召回率 = 检索到的关键信息点数 / 问题包含的总关键信息点数在金融问答场景中,我们要求召回率不低于0.85,否则可能遗漏重要法规条款。
-
上下文精确率(Context Precision):评估检索结果的相关性。我们使用以下优化策略:
- 设置相似度阈值(通常0.75-0.85)
- 采用混合检索(关键词+向量)
- 对长文档进行语义分段
-
平均倒数排名(MRR):反映相关文档在检索结果中的排序质量。我们通过微调embedding模型,将MRR从0.65提升到了0.78。
2.2 生成层评估指标
生成层如同"信息加工师",负责将检索到的信息转化为自然语言回答。关键指标包括:
-
忠实度(Faithfulness):检测生成内容是否严格基于检索上下文。我们发现以下方法效果显著:
- 在prompt中明确要求"仅基于提供的内容回答"
- 设置temperature=0.3降低随机性
- 添加验证层检查事实一致性
-
答案相关性(Answer Relevance):评估回答是否切题。通过以下prompt模板可以提升相关性:
code复制你是一位专业的[领域]专家,请根据以下
