一个精细化评价和诊断 RAG RAGChecker 清楚逾越RAGAS 系统的翻新框架

  • 电脑网络维修
  • 2024-11-15

RAG运行曾经是当下应用大模型才干的典型运行代表,也取得了极大的推行,各种优化RAG性能的技术层出不穷。但是,如何片面、准确地评价 RAG 系统不时是一个应战。传统评价方法存在诸多局限性:无法有效评价长文本回复、难以辨别检索和生成模块的失误起源、与人类判别的关系性不高。为此,亚马逊和上海交通大学等钻研团队开发了 RAGChecker,这是一个专为 RAG 系统设计的翻新评价框架。

RAGChecker 的外围亮点在于其细粒度的评价方法。它首先经常使用大型言语模型将文本合成为独立的申明,而后经过另一个模型验证每个申明的准确性。这种方法不只能够评价全体性能,还能深化诊断检索和生成模块的详细疑问。

RAGChecker 提供了三类目的:

1)全体目的:包括精度、召回率和 F1 分数,片面反映 RAG 系统的输入品质。

2)检索目的:

3)生成目的:

经常使用方法

RAGChecker 提供了多种经常使用方法,蕴含命令行、python 编码等模式,还可以与干流 LLM 开发框架集成,如 llamaindex。

pip install ragcheckerpython -m spacy download en_core_web_sm
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=64 \--metrics all_metrics \# --disable_joint_check# uncomment this line for one-by-one checking, slower but slightly more accurate
from ragchecker import RAGResults, RAGCheckerfrom ragchecker.metrics import all_metrics# initialize ragresults from json/dictwith open("examples/checking_inputs.json") as fp:rag_results = RAGResults.from_json(fp.read())# set-up the evaluatorevaluator = 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)# evaluate results with selected metrics or certain groups, e.g., retriever_metrics, generator_metrics, all_metricsevaluator.evaluate(rag_results, all_metrics)print(rag_results)"""OutputRAGResults(2 RAG results,Metrics:{"overall_metrics": {"precision": 76.4,"recall": 62.5,"f1": 68.3},"retriever_metrics": {"claim_recall": 61.4,"context_precision": 87.5},"generator_metrics": {"context_utilization": 87.5,"noise_sensitivity_in_relevant": 19.1,"noise_sensitivity_in_irrelevant": 0.0,"hallucination": 4.5,"self_knowledge": 27.3,"faithfulness": 68.2}})"""
# User query and groud truth answeruser_query = "What is RAGChecker?"gt_answer = "RAGChecker is an advanced automatic evaluation framework designed to assess and diagnose Retrieval-Augmented Generation (RAG) systems. It provides a comprehensive suite of metrics and tools for in-depth analysis of RAG performance."# Get response from LlamaIndexresponse_object = rag_application.query(user_query)# Convert to RAGChecker formatrag_result = response_to_rag_results(query=user_query,gt_answer=gt_answer,response_object=response_object,)# Create RAGResults objectrag_results = RAGResults.from_dict({"results": [rag_result]})print(rag_results)

试验结果

RAGChecker 的有效性已经过大规模试验和人工评价获取验证。结果显示,RAGChecker 的评分与人类判别的关系性清楚高于现有评价方法。在 Pearson 关系性上,RAGChecker 到达了 61.93%,而最凑近的基线方法 RAGAS 仅为 48.31%。

关键要点

应用 RAGChecker,钻研人员评价了 8 个最先进的 RAG 系统,笼罩了 10 个不同畛域的数据集。

经过分析结果,他们发现了一些关键洞见:

基于这些发现,钻研者提出了几点改良 RAG 系统的倡导:

小结

RAGChecker 为片面评价和诊断 RAG 系统提供了一个弱小而灵敏的工具。经过提醒 RAG 系统中检索和生成模块的复杂交互,以及不同设计选用带来的影响,RAGChecker 不只能协助钻研人员更好地理解和改良现有 RAG 系统,还为未来 RAG 系统的优化和翻新指明了方向。

参考资料

[1]RAGChecker:

本文转载自​​,作者:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:http://www.duobeib.com/diannaowangluoweixiu/5549.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号