微信扫码
添加专属顾问
RAG应用已成为利用大模型能力的典型代表,受到广泛推广,并不断涌现出多种性能提升技术。然而,全面、准确地评估RAG系统仍然面临挑战。传统评估方法存在诸多局限性:难以有效衡量长文本回复、难以区分检索与生成模块的错误来源,且与人类判断的相关性较低。
为了解决这些问题,亚马逊科学团队与上海交通大学等研究团队联合开发了RAGChecker。这是一款专为RAG系统设计的创新评估框架,能够通过自动检查和验证生成内容的准确性,显著减少“幻觉”等常见生成错误。RAGChecker可集成至现有RAG系统中,从而提升系统回答的可靠性和对真实数据的引用精度,为实际应用提供更稳健的支持。
RAGChecker 是一种先进的自动评估框架,旨在评估和诊断检索增强生成 (RAG) 系统。它提供了一套全面的指标和工具,用于深入分析 RAG 性能。
RAGChecker的主要特点
整体评估:RAGChecker 提供Overall Metrics,支持对整个 RAG 管道的全面评估,帮助用户快速了解系统的整体表现。
诊断指标:RAGChecker包含诊断检索指标(Diagnostic Retriever Metrics)用于分析检索组件,以及诊断生成指标(Diagnostic Generator Metrics)用于评估生成组件。通过这些诊断指标,用户能够深入了解系统性能,为有针对性的优化提供关键数据支持。
细粒度评估:使用基于claim-level entailment的操作,实现细粒度评估,更精确地评估回答的正确性和合理性。
基准数据集:即将推出的全面RAG基准数据集,包含10个领域的4,000个问题,便于在多个领域对系统进行测试和对比。
元评估:包含人工注释的偏好数据集,用于评估RAGChecker的评估结果与人类判断之间的相关性,以确保系统评估结果的准确性和可靠性。
RAGChecker 使开发人员和研究人员能够精确、深入地彻底评估、诊断和增强他们的 RAG 系统。
RAGChecker 论文: https ://arxiv.org/pdf/2408.08067
RAGChecker使用声明级检查(claim-level checking)方法进行细粒度评估。以下是其工作原理:
声明抽取(Claim Extraction):RAGChecker使用大型语言模型(LLM)作为抽取器,将复杂文本(RAG系统响应和标准答案)分解为单独的声明。声明是一个独立的、原子化的信息片段,可以被验证为真或假。示例:文本:"埃菲尔铁塔建于1889年,高324米。" 抽取的声明:
("埃菲尔铁塔", "建于", "1889年")("埃菲尔铁塔", "高度", "324米")声明检查(Claim Checking): 另一个LLM作为检查器,根据参考文本(检索的上下文或标准答案)验证每个提取的声明的准确性。
RAGChecker执行以下比较:
回复的声明 vs. 标准答案:衡量回复的正确性。
标准答案的声明 vs. 回复:衡量回复的完整性。
回复的声明 vs. 检索上下文:衡量忠实度并识别幻觉。
标准答案的声明 vs. 检索上下文:评估检索信息的质量。
这些比较是计算RAGChecker中各种指标的基础。
RAGChecker提供三类指标来评估RAG系统的不同方面:
这些指标衡量整个RAG流程的整体质量:
精度(Precision): 表示回复的正确性(correctness)(回复中正确声明的比例)。
召回(Recall): 表示回复的完整性(completeness)(回复中提到的标准答案声明的比例)。
F1: 精确率和召回率的调和平均值,衡量回复的整体质量。
计算整体指标需要回复和标准答案,不需要检索上下文。
检索指标
检索指标衡量检索模块(如BM25)搜索相关信息和并降低噪音的能力。
声明召回(Claim Recall):检索上下文覆盖的标准答案声明的比例。
上下文精度(Context Precision):相关chunk的比例。不相关的chunk可以被视为噪音。
其中,相关chunk是指包含任意标准答案声明的chunk(图中绿色方块)。计算检索器指标需要标准答案和检索上下文。
生成指标
生成指标可以评估生成器的多个方面性能:
上下文利用率(Context Utilization):生成器有效使用上下文中相关信息的程度。
对相关/不相关chunk中的噪音敏感度(Noise Sensitivity in Relevant/Irrelevant Chunks):生成器受相关和不相关文本块中噪音影响的程度。
幻觉(Hallucination):生成的不在上下文中的错误信息。
自身知识(Self-knowledge):使用模型自身知识而不是检索上下文中的内容。
忠实度(Faithfulness):生成器使用检索上下文的程度。
首先安装依赖:
pip install ragcheckerpython -m spacy download en_core_web_sm
命令行运行RAGChecker
按照所需格式准备您的输入JSON文件(参见上面的描述)。
运行评估脚本(使用我们仓库中的示例文件):
ragchecker-cli \--input_path=examples/checking_inputs.json \ # 这是您的输入数据--output_path=examples/checking_outputs.json \ # 此指定输出文件--extractor_name=bedrock/meta.llama3-1-70b-instruct-v1:0 \ # 关于如何设置模型,请参考下面的描述--checker_name=bedrock/meta.llama3-1-70b-instruct-v1:0 \ # 关于如何设置模型,请参考下面的描述--batch_size_extractor=64 \--batch_size_checker=128 \ # 可以大于batch_size_extractor--metrics all_metrics # all_metrics, overall_metrics, retriever_metrics 或 generator_metrics
from ragchecker import RAGResults, RAGCheckerfrom ragchecker.metrics import all_metrics# 从json/dict初始化ragresultswith open("examples/checking_inputs.json") as fp:rag_results = RAGResults.from_json(fp.read())# 设置评估器evaluator = RAGChecker(extractor_name="bedrock/meta.llama3-1-70b-instruct-v1:0",checker_name="bedrock/meta.llama3-1-70b-instruct-v1:0",batch_size_extractor=32,batch_size_checker=32)# 使用选定的指标(如retriever_metrics、generator_metrics、all_metrics)评估结果evaluator.evaluate(rag_results, all_metrics)print(rag_results)
代码成功运行后,它将输出如下所示的指标值:
Results for examples/checking_outputs.json:{"overall_metrics": {"precision": 73.3,"recall": 62.5,"f1": 67.3},"retriever_metrics": {"claim_recall": 61.4,"context_precision": 87.5},"generator_metrics": {"context_utilization": 87.5,"noise_sensitivity_in_relevant": 22.5,"noise_sensitivity_in_irrelevant": 0.0,"hallucination": 4.2,"self_knowledge": 25.0,"faithfulness": 70.8}}运行RAGChecker后,您将收到一组指标。以下是如何解读这些结果并采取行动:
检索模块:
声明召回率低:考虑使用更先进的检索模型或增加检索chunk的数量。
上下文精确率低:尝试减少检索文本块的数量以降低噪声。
如果可能的话,您还可以考虑微调检索器。
生成模块:
忠实度低或幻觉高:调整您的提示以强调仅使用检索到的信息。
上下文利用率低:修改提示以鼓励生成器识别和使用相关信息。
噪音敏感度高:在提示中增加推理步骤,帮助生成器忽略不相关信息。
整体系统改进:
尝试不同的文本块大小和检索文本块数量。
尝试不同的检索器和生成器组合。
如果可能,在特定领域数据上微调两个组件。
RAGChecker 现在与 LlamaIndex 集成,为使用 LlamaIndex 构建的 RAG 应用程序提供了强大的评估工具。有关如何将 RAGChecker 与 LlamaIndex 结合使用的详细说明,请参阅有关 RAGChecker 集成的 LlamaIndex 文档。这种集成允许 LlamaIndex 用户利用 RAGChecker 的综合指标来评估和改进他们的 RAG 系统。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-05
AI 知识库为什么总答不准?不是模型笨,是资料没整理好
2026-07-05
AI知识库RAG演进:上一代解决「找得到」,下一代解决「记得住、连得起、信得过」
2026-07-04
大模型支持的上下文已超 1M, RAG 是不是没有意义了?
2026-07-03
RAG 检索优化策略:从命中率到答案质量的一套工程打法
2026-07-03
RAG 落地总翻车?全球赛事冠军架构,改造适配企业级生产
2026-07-01
提升 RAG 准确率全攻略 让你的 AI 知识库 真正靠谱起来!
2026-06-30
教程:如何用AutoRAG + Milvus避免RAG 与Agent 中出现串租问题
2026-06-30
知识库不是文件堆——我把RAG准确率从60%调到了92%
2026-04-27
2026-04-23
2026-04-20
2026-04-09
2026-04-12
2026-04-22
2026-04-10
2026-05-14
2026-04-30
2026-04-27
2026-07-04
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。