SuperAPI AI 工具集

XRAG

XRAG 是一个用于评估高级检索增强生成(RAG)系统基础组件模块的基准测试框架,由 DocAILab 开发并开源。它提供全面的评估体系,涵盖基于 LLM 的评估、深度评估和传统指标,支持检索质量、回复忠实度和答案正确性等方面的评价。框架采用模块化设计,检索器、嵌入模型和 LLM 均可插拔替换,支持向量检索、BM25、混合检索和树状检索等多种方式,并兼容 OpenAI 模型及 Qwen、LLaMA 等本地模型。XRAG 提供命令行工具 xrag-cli、交互式 WebUI 和 API 服务三种使用方式,支持 HotpotQA、DropQA、NaturalQA 等基准数据集以及自定义数据集,还可从文档文件夹自动生成 QA 对。该项目已发表 ICDE 2026 论文,持续更新中。

访问官网

工具介绍

XRAG(全称 eXamining the Core - Benchmarking Foundational Component Modules in Advanced Retrieval-Augmented Generation)是一个面向高级检索增强生成(RAG)系统的基准测试框架,旨在系统评估 RAG 系统各基础组件模块的表现。项目托管于 GitHub(https://github.com/DocAILab/XRAG),由 DocAILab 维护,论文已被 ICDE 2026 接收。

【用途】 XRAG 主要用于研究和开发场景下对 RAG 流水线的检索与生成组件进行基准测试和评估,帮助开发者、研究人员比较不同检索策略、嵌入模型和 LLM 的效果,并分析检索质量、回复忠实度与答案正确性。

【主要能力】

  1. 综合评估框架:支持多维度评估,包括基于 LLM 的评估、深度评估和传统指标;内置 LlamaIndex、DeepEval 及自定义评估模型。
  2. 丰富评估指标:传统指标如 F1、EM、MRR、Hit@K、MAP、NDCG;LLM 指标如 Faithfulness(忠实度)、Relevancy(相关性)、Correctness(正确性);深度评估指标如 Contextual Precision/Recall、Hallucination(幻觉)、Bias(偏见)。
  3. 灵活架构:模块化设计,检索器、嵌入模型和 LLM 可插拔;支持向量检索、BM25、混合检索、树状检索、关键词检索、文档摘要检索及自定义检索策略。
  4. 多 LLM 支持:无缝集成 OpenAI 模型,支持 Qwen、LLaMA 等本地模型,支持通过 OpenAI API 或 Ollama 使用 30B 及以上参数模型;模型参数和 API 设置可配置。
  5. 新颖评估指标:包括 Semantic Perplexity(SePer)、Entropy 与 Semantic Entropy。
  6. 智能体工作流:支持自适应检索(Adaptive Retrieval)和多步方法(Multi-step Approach);已加入 orchestrators 如 self-rag、adaptive-rag、SIM-rag。
  7. 文本分割器:包括 SemanticSplitterNodeParser、SentenceSplitterNodeParser 和 SentenceWindowNodeParser。
  8. 嵌入模型:支持 PGE、GTE、M3E 嵌入。
  9. 用户界面:提供功能丰富的命令行界面和用于交互式评估与可视化的 WebUI,并生成详细评估报告和可视化结果。

【使用方式】 安装要求:Python 3.11 或更高版本。推荐通过 conda 创建虚拟环境,也可直接使用 pip 安装 XRAG。 配置:修改 config.toml 文件设置所需配置。 命令行工具 xrag-cli 主要命令:

  • run:运行基准测试,支持 --override key=value 覆盖配置,例如 xrag-cli run [--override key = value ...]。
  • webui:启动网页用户界面,xrag-cli webui。
  • ver:显示当前版本,xrag-cli version。
  • help:显示帮助信息,xrag-cli help。
  • generate:从文件夹生成 QA 对,xrag-cli generate -i <input_file> -o <output_file> -n <num_questions> -s <sentence_length>。
  • api:启动 XRAG 服务的 API 服务器,xrag-cli api [--host <host>] [--port <port>] [--json_path <json_path>] [--dataset_folder <dataset_folder>],默认 host 为 0.0.0.0,默认 port 为 8000。

WebUI 工作流程:

  1. 数据集上传与配置:支持基准数据集(HotpotQA、DropQA、NaturalQA)及自定义数据集,自动格式转换和预处理。
  2. 索引构建与配置:配置 API 密钥、参数设置、向量数据库索引构建、分块大小优化。
  3. RAG 策略配置:定义预检索方法、检索器选择、后处理器配置、自定义提示模板创建。
  4. 交互式测试:实时查询测试、检索结果查看、回复生成审阅、性能分析。
  5. 综合评估。

API 服务:启动后可通过 HTTP 请求交互,向 /query 发送 POST 请求获取基于文档的答案;通过 GET /health 检查服务器状态。支持自定义 JSON 数据集和基于文件夹的文档:--json_path 用于 JSON 格式 QA 数据集,--dataset_folder 用于文档文件夹,两者不应同时设置。

【适用场景】 适用于 RAG 系统研究、检索策略对比、嵌入模型与 LLM 选型评估、RAG 流水线组件消融实验,以及需要生成 QA 对或进行检索质量与生成质量分析的开发与科研场景。

【限制】 安装要求 Python 3.11 或更高版本。使用时可能遇到依赖冲突、配置键名不匹配、覆盖配置时数据类型错误等问题,需确保 requirements.txt 中版本正确并使用虚拟环境。--json_path 与 --dataset_folder 不能同时设置。项目的具体收费、价格、平台支持范围等信息暂未提供。

【更新记录】 2026-10-08 新增 XRAG WebUI;2026-02-24 论文被 ICDE 2026 接收;2025-11-18 新增 orchestrators SIM-rag;2025-11-05 新增 self-rag、adaptive-rag;2025-07-18 新增文本分割器;2025-06-23 更新配置文件;2025-01-09 新增 API 支持;2025-01-06 新增 ollama LLM 支持;2025-01-05 新增 generate 命令;2024-12-23 发布 XRAG 文档;2024-12-20 发布 XRAG。

【反馈与支持】 可通过 GitHub 仓库提交 issue,或发送邮件至 luoyangyifei@buaa.edu.cn 联系。