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 标志。 |
🛠️ 安装(快速回顾)
- 创建 Python 3.11+ 环境(推荐使用 conda)。
conda create -n xrag python=3.11 conda activate xrag - 从 PyPI 安装包(包名为
examinationrag)。pip install examinationrag
🚀 快速入门指南
- 编辑
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 运行实验。
相关
- 项目
- 项目
- 项目
- 项目