OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  MiniRAG — 轻量级 RAG 实验与原型验证工具

MiniRAG — 轻量级 RAG 实验与原型验证工具

 
  card ·  2026-03-21 18:10:19 · 3 次点击  · 0 条评论  

MiniRAG:迈向极简的检索增强生成

MiniRAG


代码仓库:MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation

Tianyu Fan, Jingyuan Wang, Xubin Ren, Chao Huang (通讯作者)

🌍 自述文件翻译

中文说明 | 日本語

🎉 最新动态

  • [x] [2025.02.27]🎯📢 现在你可以使用 pip install minirag-hku 来运行我们的代码!
  • [x] [2025.02.14]🎯📢 现在 MiniRAG 支持 10+ 种异构图数据库,包括 Neo4j、PostgreSQL、TiDB 等。情人节快乐!🌹🌹🌹
  • [x] [2025.02.05]🎯📢 我们团队发布了 VideoRAG,用于理解超长上下文视频。
  • [x] [2025.02.01]🎯📢 现在 MiniRAG 支持 API 和 Docker 部署。详情请见 此文档

一句话总结

MiniRAG 是一个极其简单的检索增强生成框架,它通过异构图索引和轻量级拓扑增强检索,使小模型也能实现良好的 RAG 性能。

摘要

对高效、轻量级检索增强生成(RAG)系统日益增长的需求,凸显了在现有 RAG 框架中部署小语言模型(SLM)时面临的重大挑战。由于 SLM 有限的语义理解和文本处理能力,当前方法面临严重的性能下降,阻碍了其在资源受限场景下的广泛应用。为了解决这些根本性限制,我们提出了 MiniRAG,一个为极简和高效而设计的新型 RAG 系统。MiniRAG 引入了两项关键技术创新:(1)一种语义感知的异构图索引机制,将文本块和命名实体结合在一个统一的结构中,减少了对复杂语义理解的依赖;(2)一种轻量级的拓扑增强检索方法,利用图结构进行高效的知识发现,无需高级语言能力。我们的大量实验表明,MiniRAG 在使用 SLM 时,性能仍可与基于 LLM 的方法相媲美,同时仅需 25% 的存储空间。此外,我们贡献了一个全面的基准数据集 LiHua-World,用于在具有复杂查询的真实设备端场景下评估轻量级 RAG 系统。

MiniRAG 框架

MiniRAG

MiniRAG 采用基于关键组件(异构图索引和轻量级基于图的知识检索)的简化工作流程。该架构解决了设备端 RAG 系统面临的独特挑战,在效率和效果上均进行了优化。

安装

  • 从源码安装(推荐)
cd MiniRAG
pip install -e .
  • 从 PyPI 安装(我们的代码基于 LightRAG,因此可以直接安装它)
pip install lightrag-hku

快速开始

  • 所有代码都可以在 ./reproduce 目录中找到。
  • 下载你所需的数据集。
  • 将数据集放入 ./dataset 目录。
  • 注意:我们已经将 LiHua-World 数据集放在 ./dataset/LiHua-World/data/ 中,名为 LiHuaWorld.zip。如果你想使用其他数据集,可以将其放在 ./dataset/xxx 目录下。

然后使用以下 bash 命令为数据集建立索引:

python ./reproduce/Step_0_index.py
python ./reproduce/Step_1_QA.py

或者,使用 ./main.py 中的代码来初始化 MiniRAG。

总体性能表

模型 NaiveRAG GraphRAG LightRAG MiniRAG
准确率↑ 错误率↓ 准确率↑ 错误率↓ 准确率↑ 错误率↓ 准确率↑ 错误率↓
LiHua-World
Phi-3.5-mini-instruct 41.22% 23.20% / / 39.81% 25.39% 53.29% 23.35%
GLM-Edge-1.5B-Chat 42.79% 24.76% / / 35.74% 25.86% 52.51% 25.71%
Qwen2.5-3B-Instruct 43.73% 24.14% / / 39.18% 28.68% 48.75% 26.02%
MiniCPM3-4B 43.42% 17.08% / / 35.42% 21.94% 51.25% 21.79%
gpt-4o-mini 46.55% 19.12% 35.27% 37.77% 56.90% 20.85% 54.08% 19.44%
MultiHop-RAG
Phi-3.5-mini-instruct 42.72% 31.34% / / 27.03% 11.78% 49.96% 28.44%
GLM-Edge-1.5B-Chat 44.44% 24.26% / / / / 51.41% 23.44%
Qwen2.5-3B-Instruct 39.48% 31.69% / / 21.91% 13.73% 48.55% 33.10%
MiniCPM3-4B 39.24% 31.42% / / 19.48% 10.41% 47.77% 26.88%
gpt-4o-mini 53.60% 27.19% 60.92% 16.86% 64.91% 19.37% 68.43% 19.41%

表中,/ 表示该方法难以生成有效响应。

复现

所有代码都可以在 ./reproduce 目录中找到。

代码结构

├── dataset
│   └── LiHua-World
│       ├── README.md
│       ├── README_CN.md
│       ├── data
│       │   ├── LiHuaWorld.zip
│       └── qa
│           ├── query_set.csv
│           └── query_set.json
├── minirag
│   ├── kg
│   │   ├── __init__.py
│   │   ├── neo4j_impl.py
│   │   └── oracle_impl.py
│   ├── __init__.py
│   ├── base.py
│   ├── exceptions.py
│   ├── llm.py
│   ├── minirag.py
│   ├── operate.py
│   ├── prompt.py
│   ├── storage.py
│   └── utils.py
├── reproduce
│   ├── Step_0_index.py
│   └── Step_1_QA.py
├── LICENSE
├── main.py
├── README.md
├── README_CN.md
├── requirements.txt
├── setup.py

数据集:LiHua-World

LiHuaWorld

LiHua-World 是一个专为设备端 RAG 场景设计的数据集,包含一位名为 LiHua 的虚拟用户一年的聊天记录。该数据集包含三种类型的问题:单跳、多跳和总结,每个问题都配有手动标注的答案和支持文档。更多详情,请参阅 LiHua-World 数据集的 README

Star 历史





Star History Chart

贡献者

感谢所有的贡献者!



致谢

我们的框架和代码库参考了以下相关工作,它们是我们工作的基础:nano-graphragLightRAG。感谢他们的出色工作。

🌟 引用

@article{fan2025minirag,
  title={MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation},
  author={Fan, Tianyu and Wang, Jingyuan and Ren, Xubin and Huang, Chao},
  journal={arXiv preprint arXiv:2501.06713},
  year={2025}
}

感谢您对我们工作的关注!

3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 25 ms
Developed with Cursor