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)是一个用于检索增强生成(RAG)系统的开源基准测试框架。它让研究人员和开发者能够衡量各个 RAG 组件——如检索器、嵌入模型、LLM、分块器、编排器等——对整体性能的影响。
✨ 核心特性(如 README 中所述)
| 特性 | 功能 |
|---|---|
| 全面评估 | 运行多个评估维度(基于 LLM、深度评估、经典 IR 指标),并报告 F1、EM、MRR、Hit@K、MAP、NDCG 等指标,以及基于 LLM 的忠实度、相关性、正确性、幻觉、偏见等。 |
| 模块化架构 | 即插即用的检索器、嵌入模型、LLM 组件;支持向量、BM25、混合、基于树、基于关键词和基于摘要的检索。 |
| 多种 LLM 后端 | 支持 OpenAI API、通过 Ollama 运行的本地模型、Hugging‑Face 模型(例如 Qwen、LLaMA)。 |
| 编排器 / Agentic RAG | 五种编排器类型——顺序、条件、迭代、并行、混合——用于构建更复杂的、类似代理的 RAG 流水线(self‑RAG、adaptive‑RAG、FLARE 等)。 |
| Web UI | xrag-cli webui 启动一个交互式仪表板,用于数据集上传、索引构建、流水线配置、实时查询测试和可视化评估报告。 |
| CLI 和 API | 命令行工具(xrag-cli)用于运行基准测试、生成 QA 对,以及启动 REST API 服务器(xrag-cli api)。 |
| 通过 TOML 配置 | 所有设置(API 密钥、模型选择、分块大小、数据集等)都保存在 config.toml 文件中;可以通过 --override 即时覆盖。 |
| 可扩展的评估模型 | 内置来自 LlamaIndex、DeepEval 的评估器,以及自定义指标;路线图包括新颖指标,如语义困惑度、熵、Auto‑J、Prometheus。 |
🚀 快速开始(快速入门流程)
- 安装 – Python 3.11+,创建 conda 环境,然后
pip install examinationrag(外加一些固定版本的依赖)。 - 配置 – 编辑
config.toml(API 密钥、模型、数据集、分块大小等)。 - 运行 –
xrag-cli run执行完整基准测试;添加--override key=value可在不编辑文件的情况下调整参数。 - 探索 – 使用
xrag-cli webui启动 UI,上传数据集、构建索引、定义 RAG 流水线,并查看实时结果。 - 服务 – 通过
xrag-cli api启动后端服务,并使用简单的POST /queryHTTP 调用进行查询。
🛠️ 典型使用场景
| 场景 | XRAG 如何帮助 |
|---|---|
| 研究论文 – 比较检索策略 | 切换检索器模块(BM25 与向量),并立即查看对 MRR 和幻觉等指标的影响。 |
| LLM 评估 – 衡量生成答案的忠实度 | 使用内置的基于 LLM 的指标,或插入自定义评估器来对答案正确性进行评分。 |
| 原型 agentic RAG 流水线 | 使用“adaptive‑RAG”编排器构建工作流,在 Web UI 中测试,并导出配置。 |
| 数据集创建 | xrag-cli generate 从文档文件夹生成合成 QA 对,用于下游训练。 |
| 服务部署 | 运行 xrag-cli api 以暴露 REST 端点,供其他应用调用以进行检索增强回答。 |
📦 安装和运行时要求
- Python ≥ 3.11
- 可选:建议使用 conda 环境
- 依赖项包括
jury、requests==2.27.1、urllib3==1.25.11、jiwer<4.0.0(固定版本以避免冲突) - 支持云 LLM API(OpenAI)和通过 Ollama 或 Hugging Face 运行的本地模型。
📚 了解更多
- 论文 – XRAG: Examining the Core(ICDE 2026)– arXiv 2412.15529,DOI 10.1109/ICDE65706.2026.00201
- GitHub – https://github.com/DocAILab/XRAG(星标、问题、路线图)
- Web UI 演示 – 使用
xrag-cli webui在本地运行 - 引用 – README 中提供可直接复制的 BibTeX。
🙋♀️ 谁可能使用它?
- 学术研究人员,研究检索、提示或 LLM 增强系统的评估。
- 机器学习工程师,构建生产级 RAG 流水线,需要系统化的组件基准测试。
- 学生,寻找一个动手框架来试验不同的检索器、嵌入模型和编排器。
以上所有信息均直接取自仓库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目