AI

LightRAG:简单快速的图形检索增强生成框架

LightRAG 是香港大学的 EMNLP 2025 研究项目,利用知识图谱进行 RAG,具备双层检索、增量更新与图形可视化功能。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
LightRAG:简单快速的图形检索增强生成框架

LightRAG 是香港大学 (HKU) 的一项研究项目,重新构想了使用知识图谱的检索增强生成(RAG)。该项目已被 EMNLP 2025 收录,以基于图形的架构取代传统的平面向量存储方法,从文档中提取实体及其关系,为 LLM 应用提供显著更好的上下文理解。

传统 RAG 系统通过嵌入相似度检索孤立文档片段,而 LightRAG 则从你的文档建立结构化的知识图谱——实体成为节点,关系成为边。当查询送达时,它会在图形中执行双层检索:低层级检索用于具体事实答案,高层级检索用于更广泛的主题摘要。结果是检索不仅理解哪些词语一起出现,还理解概念之间实际的关联方式。

该项目不仅因其创新方法,也因其实用性而获得了开源社区的广泛关注。代码库轻量、文档完善,并包含增量更新(添加新文档时无需完整重建)、交互式图形可视化及多种后端支持(OpenAI、Ollama、Hugging Face)等功能。

仓库github.com/HKUDS/LightRAG


LightRAG 的图形检索是如何运作的?

传统 RAG 将文档编码为平面向量,并通过余弦相似度检索片段——这个过程从根本上受限,因为它不了解片段之间的相互关系。LightRAG 通过在索引阶段构建知识图谱来解决此问题。

该流水线分三个阶段运作:

  1. 图形构建:处理文档以提取实体(人物、公司、概念)及其关系。这些形成存储为结构化数据的有向图。
  2. 社区检测:使用层次聚类将图形分割为相关实体的社区。每个社区生成一个摘要嵌入,用于高层级检索。
  3. 双层检索:查询同时与实体层级和社区层级的嵌入进行匹配,然后将检索到的图形上下文提供给 LLM 进行答案生成。

这种架构产生的答案反映了知识的实际结构,而非任意的文档边界。

双层检索有哪些优势?

双层设计是 LightRAG 的决定性创新。要理解其重要性,请考虑两种类型的问题:

查询类型传统 RAGLightRAG 双层
「Apple 在 2020 年收购了什么?」寻找提到「Apple」、「2020」和「收购」的片段低层级检索:直接追踪图形中的 [Apple] --acquired--> [Startup X]
「Apple 的收购策略是什么?」在不相关的片段中散乱搜索高层级检索:返回整个「Apple 收购」集群的社区摘要
「Apple 的 AI 策略与 Google 相比如何?」难以连接不同的片段组群遍历两个集群并返回合并的图形上下文
「解释 Apple 芯片开发的时间线」可能遗漏稀疏片段之间的时间顺序关联低层级检索追踪时间关系边:[Apple] --developed--> [A14][Apple] --developed--> [M1]

关键在于图形自然捕获关系,这是平面向量存储无法做到的。双层检索让 LightRAG 能自动为每个查询选择适当的粒度——这是传统 RAG 系统需要手动配置才能实现的功能。

主要功能规格有哪些?

功能描述状态
图形构建从文档提取实体与关系稳定
双层检索低层级(事实)与高层级(摘要)查询稳定
增量更新无需完整图形重建即可合并新文档稳定
图形可视化交互式实体-关系图形浏览器稳定
多种后端OpenAI、Ollama、Hugging Face、自定义 API支持
API 访问Python SDK + RESTful API稳定
嵌入模型可配置,支持多种模型支持

增量更新是如何运作的?

LightRAG 最实用的功能之一,是支持无需重建整个图形的增量知识库更新。这对于数据持续变化的实际部署至关重要。

增量更新过程效率高,因为它只处理新文档的实体与关系,将其合并到现有图形结构中,并仅重新计算受影响节点和社区的嵌入。这避免了完整图形重建的 O(n) 成本,使 LightRAG 非常适合持续增长的知识库。

LightRAG 支持哪些后端?

后端使用场景配置
OpenAI (GPT-4o, GPT-4o-mini)使用云端 LLM 的生产部署LIGHTRAG_LLM_BACKEND=openai
Ollama使用开放模型的本地/私有部署LIGHTRAG_LLM_BACKEND=ollama
Hugging FaceHF Hub 的自定义模型LIGHTRAG_LLM_BACKEND=huggingface
自定义端点企业代理或自托管 APILIGHTRAG_LLM_BACKEND=custom

LightRAG 的后端抽象意味着你可以先用 OpenAI 进行原型设计,然后在生产环境中切换到 Ollama 的本地模型——或者执行混合模式,嵌入在本地进行而生成使用云端。

如何安装与使用 LightRAG

通过 pip 安装非常简单:

pip install lightrag-hku

基本使用只需几行 Python:

from lightrag import LightRAG, QueryMode

rag = LightRAG(workspace_dir="./my_knowledge_base")

# 插入文档
rag.insert("Apple 在 2020 年收购了初创公司 X 以扩展其 AI 能力。")
rag.insert("Google 在 2023 年推出了 Gemini 模型,与 GPT-4 竞争。")

# 使用双层检索进行查询
answer = rag.query("Apple 的收购策略是什么?",
                   mode=QueryMode.HYBRID)

# 低层级查询具体事实
fact = rag.query("Apple 在 2020 年收购了什么?",
                 mode=QueryMode.LOCAL)

该系统还支持从文件批量插入文档、自定义嵌入配置,以及与现有文档流水线集成。

常见问题

什么是 LightRAG?它与传统 RAG 有何不同? LightRAG 是香港大学的 EMNLP 2025 研究项目,以知识图谱方法取代平面向量数据库检索。与传统 RAG 通过嵌入相似度检索文档片段不同,LightRAG 从文档中提取实体与关系到图形结构中,实现双层检索(低层级针对特定事实,高层级针对全局摘要)。

LightRAG 的双层检索是如何运作的? LightRAG 的双层检索以两种粒度运作。低层级检索查找具体的实体关系,而高层级检索捕捉更广泛的摘要。基于图形的方法会根据查询自动决定适当的层级,无需手动配置。

LightRAG 支持知识库的增量更新吗? 是的,LightRAG 通过部分图形重构支持增量知识库更新。当添加新文档时,LightRAG 会提取实体与关系,将其合并到现有图形中而无需完整重建,仅更新受影响节点的嵌入。

LightRAG 提供哪些图形可视化功能? LightRAG 提供交互式图形可视化,以节点显示实体、以边显示关系,并按社区集群进行颜色编码。用户可以探索知识图谱、点击实体查看详细上下文、追踪关系路径,以及可视化检查检索结果的关联方式。

LightRAG 支持哪些后端与 API? LightRAG 支持多种 LLM 后端,包括 OpenAI、Ollama、Hugging Face 及自定义端点。它提供 Python API 和 RESTful API 供外部应用程序集成。

扩展阅读

TAG
CATEGORIES