AI个人学习
和实操指南

MiniRAG:简化检索增强生成框架,实体图索引召回相关文本块

本文于 2025-01-19 15:37 更新,部分内容具有时效性,如有失效,请留言

综合介绍

MiniRAG是一个极其简单的检索增强生成(RAG)框架,旨在通过异构图索引和轻量级拓扑增强检索,使小模型也能实现良好的RAG性能。该项目由香港大学数据科学实验室(HKUDS)开发,主要解决小语言模型(SLM)在现有RAG框架中面临的性能下降问题。MiniRAG通过将文本块和命名实体结合在一个统一的结构中,减少对复杂语义理解的依赖,并利用图结构进行高效的知识发现。该框架在存储空间仅为大型语言模型(LLM)方法的25%的情况下,仍能实现相当的性能。

MiniRAG:简化检索增强生成框架,实体图索引召回相关文本块-1


 

功能列表

  • 异构图索引机制:结合文本块和命名实体,减少对复杂语义理解的依赖。
  • 轻量级拓扑增强检索:利用图结构进行高效的知识发现。
  • 兼容小语言模型:在资源受限的场景下,提供高效的RAG性能。
  • 综合基准数据集:提供LiHua-World数据集,用于评估轻量级RAG系统在复杂查询下的表现。
  • 安装简便:支持从源代码和PyPI安装。

 

使用帮助

安装流程

从源代码安装(推荐)

  1. 克隆MiniRAG仓库:
   git clone https://github.com/HKUDS/MiniRAG.git
cd MiniRAG
  1. 安装依赖:
   pip install -e .

从PyPI安装

MiniRAG基于LightRAG,因此可以直接安装:

pip install lightrag-hku

快速开始

  1. 下载所需的数据集,并将其放置在./dataset目录中。例如,LiHua-World数据集已放置在./dataset/LiHua-World/data/目录中。
  2. 使用以下命令对数据集进行索引:
   python ./reproduce/Step_0_index.py
  1. 运行问答模块:
   python ./reproduce/Step_1_QA.py
  1. 或者,使用./main.py中的代码初始化MiniRAG。

主要功能操作流程

异构图索引机制

MiniRAG通过将文本块和命名实体结合在一个统一的结构中,创建异构图索引。用户可以通过以下步骤实现:

  1. 准备好数据集,并确保数据集格式符合要求。
  2. 运行索引脚本:
   python ./reproduce/Step_0_index.py
  1. 索引完成后,数据将被存储在指定目录中,供后续检索使用。

轻量级拓扑增强检索

MiniRAG利用图结构进行高效的知识发现,用户可以通过以下步骤进行检索:

  1. 初始化MiniRAG:
   from minirag import MiniRAG
model = MiniRAG()
  1. 加载数据集并进行检索:
   results = model.retrieve("你的查询")
  1. 处理检索结果并生成响应:
   response = model.generate(results)

通过以上步骤,用户可以充分利用MiniRAG的功能,实现高效的检索增强生成。

未经允许不得转载:首席AI分享圈 » MiniRAG:简化检索增强生成框架,实体图索引召回相关文本块

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文