XRAG为RAG各策略与多种评测指标提供简单的配置方法,只需点点点就可以评测啦!
XRAG: 全面评测与优化检索增强生成
本文介绍了由ZGCLAB与北航提出的XRAG (eXamining the Core — Benchmarking Foundational Components in Advanced Retrieval-Augmented Generation)系统,这是一个用于全面评测和优化检索增强生成 (RAG) 的工具包。XRAG 1.0版本已开源,并提供简单的WebUI演示。
1. XRAG 的四大核心功能
XRAG具备四大核心功能,使其在RAG研究领域具有显著优势:
- 模块化RAG过程:XRAG将RAG流程模块化,分为查询重写、高级检索、后处理和问答生成四个部分,方便优化和定制。
- 统一基准数据集:XRAG标准化了HotpotQA、DropQA和NaturalQA三个数据集,简化了不同RAG系统间的比较评估。
- 全面的测试方法:XRAG整合了50多个指标,涵盖传统检索评估、传统生成评估和基于LLM指令判别的评估,实现多维度评估。
- 识别和优化RAG故障点:XRAG提供了一套失败点诊断方法,并提出针对性优化策略,例如否定拒绝、排名混淆、答案缺失、噪声影响和复杂推理等问题的解决方案。
2. 模块化RAG过程详解
XRAG的模块化设计允许灵活选择和组合不同的组件,例如在查询重写模块中,支持SBPT、HyDE和CoVe等方法;在高级检索模块中,支持向量检索、LexicalBM25、RRFusion、HiParser、StParser和RecuChunk等方法。
3. 统一的数据格式与数据集
XRAG定义了统一的数据集结构,方便性能测试。目前支持HotpotQA、DropQA和NaturalQA三个数据集,并支持用户上传自定义数据 (JSON格式)。这三个数据集各有特点:HotpotQA需要多文档推理;DropQA需要离散推理;NaturalQA包含真实用户搜索问题。
4. 全面的测试指标体系
XRAG整合了Jury、UpTrain、DeepEval和LlamaIndex中的指标,总计超过50个,涵盖字符级和语义级、检索和生成性能四个维度,支持一次性评估各种RAG指标,并进行标准化评估。
5. 实验结果与结论
实验结果显示,不同数据集上的检索性能存在显著差异,DropQA数据集难度最大。基础RAG系统在NaturalQA数据集上表现稳健,但在HotpotQA和DropQA数据集上,优化LLM的查询理解和推理能力具有潜力。LLM Agent评估显示,即使是基础RAG系统也表现出色,但存在LLM API调用失败的问题。
6. RAG系统故障点检测与优化
XRAG识别并优化了多个RAG故障点,包括:否定拒绝(通过提示工程和两步推理优化)、排名混淆(通过重排序和混合检索优化)、答案缺失(通过不同的文档块处理方法优化)、噪声影响(通过重排序优化)和复杂推理(通过问题重写优化)。实验验证了这些优化策略的有效性。
7. 总结
XRAG提供了一个全面、模块化和可扩展的RAG评测和优化框架,为RAG研究和应用提供了宝贵的工具。其模块化设计、统一数据集和全面的测试指标体系,以及对RAG故障点的深入分析和优化策略,使其成为推动RAG技术发展的重要贡献。
联系作者
文章来源:AI前线
作者微信:
作者简介:面向AI爱好者、开发者和科学家,提供大模型最新资讯、AI技术分享干货、一线业界实践案例,助你全面拥抱AIGC。