RUC-NLPIR/FlashRAG

⚡FlashRAG: A Python Toolkit for Efficient RAG Research (WWW2025 Resource)

⚡ FlashRAG – 高效检索增强生成(RAG)研究的 Python 工具包

是什么 – FlashRAG 是一个开源 Python 库,集成了复现、基准测试和扩展最先进 RAG 系统所需的一切。它包含:

  • 36 个预处理的 RAG 基准数据集。
  • 23 个现成的 RAG 算法(包括 7 个结合检索与推理的方法)。
  • 可插拔的模块化框架,支持检索器、重排序器、生成器和压缩器。
  • 可选的加速后端,如 vLLMFastChatFaiss
  • 轻量级 Web UI(FlashRAG‑UI),用于配置管道和可视化结果。

核心组件

组件 作用 特色选项
检索器 找到相关文档。支持密集型(sentence‑transformers + Faiss)、稀疏型(Pyserini 或 bm25s 的 BM25)、神经稀疏型(Seismic 的 SPLADE)。还包含 Web 搜索检索器(Serper API)。
重排序器 重新排序检索结果;可替换为任何能对查询-文档对打分的模型。
生成器 生成最终答案的 LLM。支持 OpenAI 模型、多模态 LLM(LLaVA、Qwen、InternVL)以及通过 vLLM 支持的任意 HuggingFace 模型。
压缩器 缩短长文档(例如使用外部 Chunkie 库进行分块)。
管道 协调上述组件。提供两种内置管道:简单的 SequentialPipeline 和用于自定义管道的基类。

亮点功能

  • 全面的基准测试套件 – 36 个数据集已预处理并托管在 HuggingFace/ModelScope 上,可立即开始评估。
  • 23 个 SOTA RAG 算法 – 一键配置 RQRAG、Adaptive‑RAG、Spring、Trace、IRCoT 以及新推理管道(R1‑Searcher、Search‑R1 等)。
  • 基于推理的管道 – 将思维链或图推理与检索结合,在 HotpotQA 等多跳任务上达到约 60 F1。
  • 多模态支持 – 使用基于 CLIP 的视觉检索器进行检索,使用视觉-语言模型进行生成。
  • 速度优先工具 – 可选 vllm 实现快速 LLM 推理,Faiss 用于密集向量索引,bm25s 作为 BM25 的轻量级回退。
  • UI – 浏览器界面支持拖拽组件、运行实验并查看评估指标,无需编写代码。

快速开始(Python)

# 安装开发包(包含可选依赖)
pip install flashrag-dev[full]   # 或 `pip install flashrag-dev --pre`
from flashrag.config import Config
from flashrag.pipeline import SequentialPipeline
from flashrag.utils import get_dataset

# 加载配置文件(YAML 或字典),指向数据集并选择组件
cfg = Config(config_file_path='my_config.yaml')

dataset = get_dataset(cfg)['test']
pipe = SequentialPipeline(cfg)
results = pipe.run(dataset, do_eval=True)

results 对象包含每个问题的答案、检索到的段落以及评估分数(如 EM、F1)。


何时使用 FlashRAG?

  • 研究 – 复现已发表的 RAG 论文,将新想法与统一基准套件对比,或对新型检索器/生成器组合进行基准测试。
  • 原型开发 – 仅用几行代码即可组装自定义 RAG 管道(如多模态检索 + LLM)。
  • 教育 – UI 和丰富文档使学生能轻松探索各组件对性能的影响。
  • 基准测试 – 内置的 36 个数据集涵盖问答、事实核查和多跳推理,提供系统性评估的一站式解决方案。

安装说明

  • 需要 Python ≥ 3.10。
  • Faiss 必须通过 conda 安装(CPU 或 GPU 版本),因为 pip 轮子不具有普遍兼容性。
  • 可选扩展:
    • vllm:用于高吞吐量 LLM 推理。
    • sentence‑transformers:用于密集检索。
    • pyserini:若偏好原始 BM25 实现。
  • 使用 SPLADE(神经稀疏)需 Rust 工具链和 pyseismic‑lsr 包。

文档与资源


TL;DR

FlashRAG 是一个开箱即用、可扩展的工具包,适用于所有从事检索增强生成(RAG)工作的人员。它集成了数据集、数十种 SOTA 方法、快速索引/检索后端以及可视化 UI,使复现论文、基准测试新想法或构建生产级 RAG 管道变得简单直接。

相关

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