RUC-NLPIR/FlashRAG

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

解决的问题

FlashRAG 是一个专为简化检索增强生成(RAG)研究的复现与开发而设计的 Python 工具包。它通过提供标准化框架、预处理数据集以及最先进的(SOTA)方法库,解决了实现和测试各种 RAG 算法的困难。

工作原理

该工具包提供了一个模块化架构,包含检索器、重排序器、生成器和压缩器等核心 RAG 组件。用户可以将这些组件组装成管道——使用提供的 SequentialPipeline 用于标准工作流,或通过继承 BasicPipeline 来创建自定义逻辑。它支持多种检索方法,包括基于 Faiss 的密集检索、基于 BM25s 或 Pyserini 的稀疏检索,以及基于 SPLADE 的稀疏神经检索。对于 LLM 推理,它集成了 vLLM 和 FastChat 等工具以加速执行。

适用人群

主要面向需要复现现有 RAG 基准、测试新 RAG 算法,或为复杂任务(包括多跳推理和多模态 RAG)构建自定义 RAG 管道的 AI 研究人员和开发者。

主要亮点

  • 丰富的算法库:包含 23 个 SOTA RAG 算法和 7 个用于复杂多跳任务的推理型方法。
  • 全面的基准测试:提供 36 个预处理的 RAG 基准数据集。
  • 多模态支持:支持使用 MLLM(如 Llava、Qwen、InternVL)和基于 Clip 的检索器进行多模态 RAG。
  • 用户友好的界面:包含 FlashRAG-UI,用于可视化配置和评估 RAG 基线。
  • 灵活的索引机制:支持多种索引后端,适用于密集、稀疏和神经检索。

相关

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