文章目录3. RAG 指标详解3.1. Answer Relevancy答案相关性3.1.1. 指标定义与评分逻辑3.1.2. 适用场景3.1.3. 参数说明3.1.4. 完整可运行示例3.1.5. 运行结果与分数解读3.1.6. 常见问题与调优3.2. Faithfulness忠实度3.2.1. 指标定义与评分逻辑3.2.2. 与 Hallucination 指标的区别3.2.3. 参数说明3.2.4. 完整可运行示例3.2.5. 运行结果与分数解读3.3. Contextual Relevancy上下文相关性3.3.1. 指标定义与评分逻辑3.3.2. 完整可运行示例3.3.3. 分数解读3.4. Contextual Recall上下文召回率3.4.1. 指标定义与评分逻辑3.4.2. 完整可运行示例3.5. Contextual Precision上下文精确度3.5.1. 指标定义与评分逻辑3.5.2. 完整可运行示例3.6. 五指标联合使用3.6.1. 推荐组合策略3.6.2. 完整联合评估代码3.7. 小结3. RAG 指标详解文档基于 DeepEval v4.1.0 编写来源https://deepeval.com/docs/metrics-answer-relevancy 等指标评估对象评分公式需要参数参考基准Answer Relevancy生成器相关语句数 / 总语句数input actual_output无参考Faithfulness生成器真实声明数 / 总声明数input actual_output retrieval_context无参考Contextual Relevancy检索器相关语句数 / 总语句数input actual_output retrieval_context无参考Contextual Recall检索器可归因语句数 / 总语句数input actual_output expected_output retrieval_context有参考Contextual Precision检索器加权累计精度input actual_output expected_output retrieval_context有参考3.1. Answer Relevancy答案相关性3.1.1. 指标定义与评分逻辑Answer Relevancy 衡量的是 LLM 生成的actual_output与用户input之间的相关程度。它的评分逻辑是用 LLM 从actual_output中提取所有陈述语句判断每条陈述是否与input相关分数 相关陈述数 / 总陈述数注意高分只说明答案切题不保证事实正确。要检测幻觉需要配合 Faithfulness 指标。3.1.2. 适用场景场景是否适用说明RAG 应用推荐评估生成器是否回答用户问题聊天机器人推荐检测是否跑题摘要生成不适用摘要场景用 SummarizationMetric安全检测不适用用 Bias/Toxicity 指标3.1.3. 参数说明参数名类型必填默认值说明thresholdfloat否0.5通过阈值分数 threshold 才算通过modelstr/DeepEvalBaseLLM否gpt-5.4评估用 LLMinclude_reasonbool否True是否输出评分原因strict_modebool否False严格模式只有满分 1.0 才通过async_modebool否True是否异步执行verbose_modebool否False是否打印中间步骤evaluation_templateclass否AnswerRelevancyTemplate自定义评估模板3.1.4. 完整可运行示例# 来源: https://deepeval.com/docs/metrics-answer-relevancy# 导入评估模块fromdeepevalimportevaluatefromdeepeval.metricsimportAnswerRelevancyMetricfromdeepeval.test_caseimportLLMTestCase# 创建评估指标metricAnswerRelevancyMetric(threshold0.7,# 通过阈值modelgpt-4.1,# 评估用 LLMinclude_reasonTrue,# 输出评分原因verbose_modeFalse# 是否打印中间步骤)# 创建测试用例test_caseLLMTestCase(input如果鞋子不合脚怎么办,# 用户问题actual_output我们提供 30 天全额退款无需额外费用。# LLM 实际输出)# 运行评估evaluate(test_cases[test_case],metrics[metric])3.1.5. 运行结果与分数解读# 运行上面代码后输出类似 Test Case 1: Metric: Answer Relevancy Score: 0.92 Threshold: 0.7 Success: True Reason: The actual output is highly relevant to the input about shoe returns. All statements directly address the return policy question.分数区间含义建议0.9 ~ 1.0高度相关答案精准切题优秀0.7 ~ 0.9基本相关可能有少量冗余良好0.5 ~ 0.7部分相关存在较多无关内容需优化 prompt0.0 ~ 0.5严重偏离主题检查生成逻辑3.1.6. 常见问题与调优常见错误Answer Relevancy 高不代表答案正确。一个回答可以完全切题但内容全是编造的。必须配合 Faithfulness 指标使用。# 来源: https://deepeval.com/docs/metrics-answer-relevancy#customize-your-template# 自定义评估模板示例fromdeepeval.metricsimportAnswerRelevancyMetricfromdeepeval.metrics.answer_relevancyimportAnswerRelevancyTemplateclassCustomTemplate(AnswerRelevancyTemplate):staticmethoddefgenerate_statements(actual_output:str):returnfGiven the text, breakdown and generate a list of statements presented. Example: Our new laptop model features a high-resolution Retina display for crystal-clear visuals. {{ statements: [ The new laptop model has a high-resolution Retina display. ] }} END OF EXAMPLE Text:{actual_output}JSON: # 注入自定义模板metricAnswerRelevancyMetric(evaluation_templateCustomTemplate)metric.measure(test_case)print(f自定义模板评分:{metric.score})3.2. Faithfulness忠实度3.2.1. 指标定义与评分逻辑Faithfulness 衡量 LLM 的actual_output是否与retrieval_context检索到的上下文事实一致。它的评分逻辑是用 LLM 从actual_output中提取所有声明判断每条声明是否与retrieval_context中的事实一致不矛盾分数 真实声明数 / 总声明数注意Faithfulness 关注的是输出是否与检索上下文一致而不是与 ground truth 一致。如果检索上下文本身就有错误忠实度分数可能很高但实际输出是错误的——这就是 garbage in, garbage out。3.2.2. 与 Hallucination 指标的区别特性FaithfulnessHallucination参考源retrieval_context检索到的上下文context标注的 ground truth使用场景RAG 管线运行时评估有标注数据时使用评估对象生成器输出是否忠于检索结果输出是否与标准答案一致是否参考基准否无参考是有参考3.2.3. 参数说明参数名类型必填默认值说明thresholdfloat否0.5通过阈值modelstr/DeepEvalBaseLLM否gpt-5.4评估用 LLMinclude_reasonbool否True是否输出评分原因strict_modebool否False严格模式async_modebool否True是否异步执行verbose_modebool否False是否打印中间步骤truths_extraction_limitint否None限制提取的真相数量penalize_ambiguous_claimsbool否False是否惩罚模糊声明3.2.4. 完整可运行示例# 来源: https://deepeval.com/docs/metrics-faithfulness# 导入评估模块fromdeepevalimportevaluatefromdeepeval.test_caseimportLLMTestCasefromdeepeval.metricsimportFaithfulnessMetric# 准备测试数据actual_output我们提供 30 天全额退款无需额外费用。retrieval_context[所有客户享有 30 天全额退款保障。]# 创建评估指标metricFaithfulnessMetric(threshold0.7,modelgpt-4.1,include_reasonTrue)# 创建测试用例test_caseLLMTestCase(input如果鞋子不合脚怎么办,actual_outputactual_output,retrieval_contextretrieval_context)# 运行评估evaluate(test_cases[test_case],metrics[metric])3.2.5. 运行结果与分数解读# 运行上面代码后输出类似 Test Case 1: Metric: Faithfulness Score: 0.95 Threshold: 0.7 Success: True Reason: The output is highly faithful to the retrieval context. All claims can be verified against the provided context.# 对比检索上下文有误导但输出忠实的情况test_caseLLMTestCase(input退货政策是什么,actual_output我们提供 60 天全额退款。,# 注意上下文说的是 30 天retrieval_context[所有客户享有 30 天全额退款保障。])faithfulnessFaithfulnessMetric(threshold0.7)faithfulness.measure(test_case)print(fFaithfulness 分数:{faithfulness.score})# 低分因为上下文只有 30 天print(f原因:{faithfulness.reason})# 运行上面代码后输出类似 Faithfulness 分数: 0.0 原因: The claim 60 天全额退款 contradicts the retrieval context which states 30 天全额退款保障.3.3. Contextual Relevancy上下文相关性3.3.1. 指标定义与评分逻辑Contextual Relevancy 衡量检索到的retrieval_context与用户input的整体相关性。它关注的是检索到的文档中有多少是真正有用的有多少是噪音。评分逻辑分数 相关语句数 / 总语句数。LLM 先从retrieval_context中提取所有语句再判断每条是否与input相关。3.3.2. 完整可运行示例# 来源: https://deepeval.com/docs/metrics-contextual-relevancyfromdeepevalimportevaluatefromdeepeval.test_caseimportLLMTestCasefromdeepeval.metricsimportContextualRelevancyMetric# 模拟检索返回了 3 条文档其中 1 条不相关retrieval_context[所有客户享有 30 天全额退款保障。,# 相关退款需在购买后 30 天内申请。,# 相关我们的仓库位于深圳支持全国配送。,# 不相关噪音]metricContextualRelevancyMetric(threshold0.7,modelgpt-4.1,include_reasonTrue)test_caseLLMTestCase(input退货政策是什么,actual_output我们提供 30 天全额退款。,retrieval_contextretrieval_context)evaluate(test_cases[test_case],metrics[metric])# 运行上面代码后输出类似 Test Case 1: Metric: Contextual Relevancy Score: 0.67 Threshold: 0.7 Success: False Reason: 2 out of 3 statements in the retrieval context are relevant to the input. The warehouse location statement is irrelevant.3.3.3. 分数解读分数含义调优方向低分检索结果中噪音过多降低 top-K、缩小 chunk size、优化 embedding高分检索结果精准保持现有配置3.4. Contextual Recall上下文召回率3.4.1. 指标定义与评分逻辑Contextual Recall 衡量的是对于理想的expected_outputretrieval_context中包含了多少必要信息。它关注的是“有没有漏掉关键信息”。评分逻辑先从expected_output中提取所有语句再判断每条是否能在retrieval_context中找到支撑。注意Recall 使用expected_output期望输出而不是actual_output实际输出因为要衡量的是检索系统是否取回了生成理想答案所需的所有信息。3.4.2. 完整可运行示例# 来源: https://deepeval.com/docs/metrics-contextual-recallfromdeepevalimportevaluatefromdeepeval.test_caseimportLLMTestCasefromdeepeval.metricsimportContextualRecallMetric# 模拟检索上下文缺少了部分信息retrieval_context[所有客户享有 30 天全额退款保障。,# 缺少了退款需在 30 天内申请这条信息]metricContextualRecallMetric(threshold0.7,modelgpt-4.1,include_reasonTrue)test_caseLLMTestCase(input退货政策是什么,actual_output我们提供 30 天全额退款。,expected_output客户享有 30 天全额退款保障退款需在购买后 30 天内申请。,retrieval_contextretrieval_context)evaluate(test_cases[test_case],metrics[metric])# 运行上面代码后输出类似 Test Case 1: Metric: Contextual Recall Score: 0.50 Threshold: 0.7 Success: False Reason: 1 out of 2 statements in the expected output can be attributed to the retrieval context. The 30 天内申请 detail is missing.3.5. Contextual Precision上下文精确度3.5.1. 指标定义与评分逻辑Contextual Precision 衡量的是在retrieval_context中相关节点是否排在无关节点前面。它关注的是“排序是否合理”。评分逻辑使用加权累计精度Weighted Cumulative Precision越靠前的节点权重越大。相关节点排在前面得分高埋在噪音后面得分低。3.5.2. 完整可运行示例# 来源: https://deepeval.com/docs/metrics-contextual-precisionfromdeepevalimportevaluatefromdeepeval.test_caseimportLLMTestCasefromdeepeval.metricsimportContextualPrecisionMetric# 模拟相关文档排在后面无关文档排在前面retrieval_context[我们的仓库位于深圳支持全国配送。,# 不相关排在第一位所有客户享有 30 天全额退款保障。,# 相关退款需在购买后 30 天内申请。,# 相关]metricContextualPrecisionMetric(threshold0.7,modelgpt-4.1,include_reasonTrue)test_caseLLMTestCase(input退货政策是什么,actual_output我们提供 30 天全额退款。,expected_output客户享有 30 天全额退款保障退款需在购买后 30 天内申请。,retrieval_contextretrieval_context)evaluate(test_cases[test_case],metrics[metric])# 运行上面代码后输出类似 Test Case 1: Metric: Contextual Precision Score: 0.55 Threshold: 0.7 Success: False Reason: Relevant nodes are not ranked optimally. The first node is irrelevant, lowering the weighted cumulative precision score.3.6. 五指标联合使用3.6.1. 推荐组合策略场景推荐指标组合说明快速验证Answer Relevancy Faithfulness先测生成器质量全面评估全部 5 个指标生成器 检索器全覆盖检索器调试Contextual Relevancy Recall Precision聚焦检索质量生产监控Faithfulness Answer Relevancy无参考指标无需标注数据3.6.2. 完整联合评估代码# 来源: https://deepeval.com/docs/metrics-introduction# 五指标联合评估fromdeepevalimportevaluatefromdeepeval.test_caseimportLLMTestCasefromdeepeval.metricsimport(AnswerRelevancyMetric,FaithfulnessMetric,ContextualRelevancyMetric,ContextualRecallMetric,ContextualPrecisionMetric,)# 准备测试数据test_caseLLMTestCase(input退货政策是什么,actual_output我们提供 30 天全额退款退款需在购买后 30 天内申请。,expected_output客户享有 30 天全额退款保障退款需在购买后 30 天内申请。,retrieval_context[所有客户享有 30 天全额退款保障。,退款需在购买后 30 天内申请。,])# 全部 5 个 RAG 指标metrics[AnswerRelevancyMetric(threshold0.7),FaithfulnessMetric(threshold0.7),ContextualRelevancyMetric(threshold0.7),ContextualRecallMetric(threshold0.7),ContextualPrecisionMetric(threshold0.7),]# 运行联合评估resultsevaluate(test_cases[test_case],metricsmetrics)# 汇总结果print(\n*50)print(RAG 联合评估结果汇总)print(*50)forresultinresults:status通过ifresult.successelse未通过print(f{status}{result.metric_name}:{result.score:.2f})# 运行上面代码后输出类似 RAG 联合评估结果汇总 通过 Answer Relevancy: 0.92 通过 Faithfulness: 0.95 通过 Contextual Relevancy: 0.88 通过 Contextual Recall: 0.80 通过 Contextual Precision: 0.853.7. 小结Answer Relevancy衡量答案是否切题分数 0~1建议阈值 0.7。无参考指标仅需 input actual_outputFaithfulness衡量答案是否忠于检索上下文是检测幻觉的核心指标。无参考指标需要 retrieval_contextContextual Relevancy衡量检索结果中噪音比例低分说明检索精度不足 → 降低 top-KContextual Recall衡量检索是否遗漏关键信息低分说明检索不全 → 增大 top-K 或换 embedding 模型Contextual Precision衡量相关节点排序是否靠前低分说明排序算法需要优化 → 调整 re-ranker推荐组合Faithfulness Answer Relevancy生成器 Contextual Relevancy检索器 最小覆盖
企业数字化 ERP 产品动态
相关推荐
C++大整数运算深度实践:从int128实现到计算机底层原理 1. 项目概述:从一道面试题到C大整数运算的深度实践最近在技术社区和面试复盘里,经常看到“C实现int128”这个话题,尤其它被标记为“灵均面试原题”,更是激起了不少同行,特别是应届生和初级开发者的讨论热情。乍一看&am… · 2026/8/2 14:01:00
构建可靠PR代码审查智能体:核心能力与部署实践指南 这次我们来看一个技术领域的新挑战:构建可靠的 PR 代码审查智能体。随着开源协作和团队开发流程的日益复杂,自动化代码审查工具正在从简单的语法检查转向更智能的决策辅助。但要让 AI 真正理解代码意图、团队规范和业务上下文,仍面临不少技术… · 2026/9/21 11:46:25
强化学习算法解析:从基础理论到工程实践 1. 强化学习算法全景解析 强化学习作为机器学习的重要分支,近年来在游戏AI、机器人控制、自动驾驶等领域取得了突破性进展。本文将系统梳理强化学习的核心算法体系,从基础理论到前沿应用,为读者构建完整的知识框架。
1.1 基础理论算法 强化… · 2026/9/20 22:04:14
2026建筑学开题答辩前48小时:我的开题PPT从被推倒重来到全场最顺 开题答辩前48小时,导师翻完我的PPT只说了一句话:「这像售楼处的方案汇报,推倒重来。」33页PPT,我熬了三个晚上做的效果图和动画,全部作废。2026年我们建筑学这届开题,卡在PPT上的人比卡在论文上的还多&… · 2026/9/27 6:36:15
订阅号做影视网站避坑指南:3步防黑挂马实战 订阅号做影视网站避坑指南:3步防黑挂马实战 网站上线第三天,后台突然收到大量陌生访问,首页被替换成黄色广告链接,SEO排名瞬间清零。这种网站被黑挂马不知道怎么办?别慌,这是订阅号做影视网站最常见的噩梦。很多站长以为买了高配服务器、加了SSL… · 2026/9/27 6:36:15
做网站怎么分手机版和电脑版?3招搞定性能优化 做网站怎么分手机版和电脑版?3招搞定性能优化 网站做好了没人访问,十有八九是加载慢到让人想关掉。很多老板觉得只要页面好看就行,结果手机打不开,电脑卡顿,客户转头就去了竞争对手那里。这时候你才想起来, 性能优化… · 2026/9/27 6:36:09
printfilm:用 Python 搭一条 AI 短视频与漫剧的生产流水线 printfilm:用 Python 搭一条 AI 短视频与漫剧的生产流水线
如果你正在做 AI 视频方向的工程,应该清楚这类系统最费劲的部分往往不是调用模型本身,而是怎么把「文案 → 分镜 → 生图 → 生视频 → 合成」串成一条能稳定跑通、能容忍失败重试的… · 2026/9/27 6:36:08
谷粉学术课堂:AI+生物文献综述与知识图谱构建 生物医学文献正以惊人的速度增长,仅靠人工阅读与整理,已难以支撑系统的知识梳理。2026年,大语言模型与知识图谱的结合,正在把文献工作从“逐篇精读”推向“批量理解、自动关联、辅助发现”的新阶段。对于生物信息学、药理学及转化… · 2026/9/27 6:36:02
RIME/XIME FAime安卓输入法增加多模型—东方仙盟 本次为 FairyAllianceIME(XIME)输入法扩展商店增加模型语种元信息,用于接入 Zipformer 中英混合识别模型。 修改文件:ModelInfo.kt、AsrModelManager.kt,同时在模型 YAML 清单新增 Zipformer 双语模型记录。为什么增加… · 2026/9/27 6:36:02
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01