DocAILab/XRAG

XRAG: eXamining the Core - Benchmarking Foundational Component Modules in Advanced Retrieval-Augmented Generation

📚 什么是 XRAG?

XRAG(eXamining the Core – Benchmarking Foundational Component Modules in Advanced Retrieval‑Augmented Generation) 是一个开源 Python 框架,让研究人员和开发人员能够评估检索增强生成(RAG)系统的构建模块。XRAG 不是将 RAG 流水线视为黑盒,而是将其分解为模块化组件——检索器、嵌入、文本分割器、编排器等——并运行系统化基准测试,以便您了解每个选择如何影响整体性能。


✨ 核心功能(如 README 中所述)

类别 亮点
评估引擎 • 多个评估维度:传统指标(F1、EM、MRR、Hit@K、MAP、NDCG)以及基于 LLM 的指标(忠实度、相关性、正确性)。
• 深度评估指标,如上下文精确度/召回率、幻觉、偏见。
• 内置评估器:LlamaIndex、DeepEval,以及自定义指标钩子。
模块化架构 • 用于检索器、嵌入、LLM 的可插拔组件。
• 快速实验的 --override 标志。

🛠️ 安装(快速回顾)

  1. 创建 Python 3.11+ 环境(推荐使用 conda)。
    conda create -n xrag python=3.11
    conda activate xrag
    
  2. 从 PyPI 安装包(包名为 examinationrag)。
    pip install examinationrag
    

🚀 快速入门指南

  1. 编辑 config.toml – 设置您的 API 密钥,选择模型。

🎯 谁可能使用 XRAG?

受众 典型用例
学术研究人员 在标准基准(HotpotQA、DropQA、NaturalQA)上系统比较不同检索器、嵌入或编排器对 RAG 性能的影响。
产品工程师 验证新的检索组件(例如基于树的索引)在发布前是否满足延迟和准确性目标。
以 LLM 为中心的初创公司 自动生成内部 QA 数据集,并为 RAG 驱动的助手快速原型设计公开 /query API。
学生/爱好者 通过在 Web UI 中切换组件并实时观察指标变化来学习 RAG 流水线。

📖 文档与社区

  • 论文 – 被 ICDE 2026 接收(arXiv 2412.15529)。README 链接到 PDF 以获取更深入的方法论细节。
  • GitHub – 问题、拉取请求和星标计数器可见;该仓库鼓励贡献(代码、数据、想法)。
  • 致谢 – 基于 LlamaIndex、Hugging Face Transformers 构建,并受到 RAGLAB、FlashRAG、FastRAG、AutoRAG 和 LocalRAG 等项目的启发。
  • 引用 – 提供了可直接复制的 BibTeX 条目,用于学术引用。

🛎️ 总结

XRAG 是一个用于检索增强生成的模块化基准测试套件。它允许您混合搭配检索器、嵌入、LLM 后端和编排器,然后使用经典 IR 指标和更新的基于 LLM 的质量分数评估结果。通过 pip install examinationrag 安装,使用简单的 TOML 文件配置,并从命令行或交互式 Web UI 运行实验。

相关

  • 项目
  • 项目
  • 项目
  • 项目