MiniRAG

GitHub
1.8k 240 简单 1 次阅读 今天MIT语言模型开发框架其他
AI 解读 由 AI 自动生成,仅供参考

MiniRAG 是一个专为小型语言模型(SLM)打造的极简检索增强生成(RAG)框架。它旨在解决现有 RAG 系统在资源受限场景下,因小模型语义理解能力有限而导致的性能大幅下降问题,让轻量级模型也能在本地设备上高效运行并达到媲美大模型的效果。

该工具特别适合希望在本地部署 AI 应用、关注隐私安全或受限于硬件资源的开发者与研究人员。通过引入两项核心技术,MiniRAG 实现了突破:一是“语义感知异构图索引”,将文本块与命名实体统一构建为图谱结构,降低了对复杂语义理解的依赖;二是“轻量级拓扑增强检索”,利用图结构特性进行高效知识发现,无需强大的语言能力即可精准定位信息。

实验表明,MiniRAG 在使用小模型时不仅能保持优异的问答性能,还将存储需求降低至传统方法的 25%。此外,项目还开源了 LiHua-World 基准数据集,用于评估复杂查询下的轻量级 RAG 系统。如果你正在寻找一个简单、高效且易于集成的 RAG 解决方案,MiniRAG 值得尝试。

使用场景

某初创教育科技公司希望在低成本边缘设备(如树莓派)上部署本地化的历史知识问答助手,服务于网络不稳定的乡村学校。

没有 MiniRAG 时

  • 模型能力受限:受限于硬件算力只能使用小语言模型(SLM),但其语义理解能力弱,面对复杂历史人物关系查询时经常答非所问或产生幻觉。
  • 检索效率低下:传统向量检索依赖高维语义匹配,小模型难以精准捕捉“李华与张三是同窗”这类隐含的逻辑关联,导致关键知识点漏检。
  • 资源占用过高:为了弥补效果差距,团队曾尝试蒸馏大模型或增加冗余索引,导致存储需求激增,远超边缘设备的 25% 剩余空间预算。
  • 部署维护困难:复杂的 RAG 流水线需要频繁调用外部大模型 API 进行重排序,在网络波动环境下系统响应极不稳定,几乎无法落地。

使用 MiniRAG 后

  • 小模型焕发新生:MiniRAG 通过异构图谱索引将文本块与实体(如人名、地名)统一结构化,让小模型无需深度语义理解也能基于图结构精准推理人物关系。
  • 拓扑增强检索:利用轻量级的拓扑增强检索机制,系统能顺着知识图谱的边快速发现关联知识,显著提升了复杂多跳查询的准确率。
  • 极致节省资源:得益于高效的图索引设计,整体存储空间压缩至原有方案的 25%,成功在低配边缘设备上流畅运行。
  • 架构极简部署:去除了对大型重排序模型的依赖,整个检索生成流程变得极度简化,支持离线稳定运行,完美适配弱网环境。

MiniRAG 通过图谱结构化与轻量检索的创新结合,成功打破了小语言模型在资源受限场景下无法构建高质量 RAG 系统的瓶颈。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notesREADME 中未明确列出具体的操作系统、GPU、内存及 Python 版本要求。该工具支持通过 pip 直接安装(minirag-hku 或 lightrag-hku),并支持多种异构图数据库(如 Neo4j, PostgreSQL, TiDB 等)。支持 API 和 Docker 部署。主要设计用于小型语言模型(SLMs)在资源受限场景下的运行,强调轻量级和高效。
python未说明
lightrag-hku (或 minirag-hku)
Neo4j (可选,用于图数据库)
PostgreSQL (可选,用于图数据库)
TiDB (可选,用于图数据库)
MiniRAG hero image

快速开始

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

MiniRAG

代码仓库:MiniRAG:迈向极简的检索增强生成

范天宇王景元任旭斌黄超* (*通讯作者)

🌍 README 翻译

中文说明 | 日本語

🎉 新闻

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

TLDR

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

摘要

对高效、轻量级检索增强生成(RAG)系统的需求日益增长,这凸显了在现有 RAG 框架中部署小型语言模型(SLM)时面临的重大挑战。当前的方法由于 SLM 的语义理解和文本处理能力有限,性能会严重下降,从而阻碍了其在资源受限场景中的广泛应用。为了解决这些根本性限制,我们提出了 MiniRAG,这是一种专为极致简单性和效率而设计的新型 RAG 系统。MiniRAG 引入了两项关键技术革新:(1) 一种语义感知的异构图索引机制,将文本片段和命名实体整合到统一的结构中,从而减少对复杂语义理解的依赖;(2) 一种轻量级的拓扑增强检索方法,利用图结构进行高效的知识发现,而无需高级的语言能力。我们的大量实验表明,即使使用 SLM,MiniRAG 也能达到与基于 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
acc↑ err↓ acc↑ err↓ acc↑ err↓ acc↑ err↓
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

星标历史

星标历史图表

贡献

感谢所有贡献者!

致谢

您可以参考作为我们框架和代码库基础的相关工作, nano-graphragLightRAG。感谢他们出色的工作。

🌟引用

@article{fan2025minirag,
  title={MiniRAG:迈向极其简单的检索增强生成},
  author={Fan, Tianyu and Wang, Jingyuan and Ren, Xubin and Huang, Chao},
  journal={arXiv 预印本 arXiv:2501.06713},
  year={2025}
}

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

版本历史

v0.0.22025/02/27
v0.0.12025/01/16

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|今天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

141.5k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|今天
开发框架图像Agent

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|今天
语言模型图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent