GitHub:HKUDS/LightRAG · ⭐ 25K+ · Python · MIT协议
LightRAG是香港大学数据科学实验室(HKUDS)开源的轻量级RAG框架,核心创新在于融合知识图谱与向量检索,采用双层检索范式(低层次实体检索 + 高层次主题检索),解决了传统RAG在多跳推理和全局理解上的短板。相比微软GraphRAG,LightRAG更轻量、更快,且支持增量更新。
# pip安装(推荐)
pip install lightrag-hku
# 源码安装(含完整examples)
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
pip install -e .
# 启动Web UI + API服务器
pip install "lightrag-hku[api]"
lightrag-server --host 0.0.0.0 --port 9621
| 模块 | 说明 |
|---|---|
| 图基文本索引 | 文档分块→LLM提取实体和关系→生成知识图谱三元组→向量化存储 |
| 双层检索 | 低层次:匹配具体实体(如"谁写了XX");高层次:匹配抽象主题(如"合同风险点") |
| 增量更新 | 新文档生成子图谱与现有图谱合并,无需全量重建 |
| 多模型支持 | OpenAI/Ollama/Azure/Bedrock/智谱AI等30+模型 |
import asyncio
from lightrag import LightRAG, QueryParam
from lightrag.llm.openai import openai_complete_if_cache
# 初始化
rag = LightRAG(
working_dir="./rag_data",
llm_model_func=openai_complete_if_cache,
llm_model_name="gpt-4o-mini"
)
# 插入文档
with open("document.txt", "r") as f:
rag.insert(f.read())
# 查询(四种模式)
result = rag.query(
"这份合同的主要风险点是什么?",
param=QueryParam(mode="hybrid") # naive/local/global/hybrid
)
print(result)
| 模式 | 适用场景 | 示例 |
|---|---|---|
| naive | 简单事实查询 | "产品价格是多少" |
| local | 具体实体查询 | "谁负责API设计" |
| global | 全局主题查询 | "整体架构有哪些问题" |
| hybrid | 混合检索(推荐) | "分析项目的技术债务" |
# 安装Ollama + 模型
ollama pull qwen3:8b
ollama pull nomic-embed-text
# 配置.env
LLM_BINDING=ollama
LLM_MODEL=qwen3:8b
EMBEDDING_BINDING=ollama
EMBEDDING_MODEL=nomic-embed-text
# 启动
lightrag-server
相比 Dify RAG平台 的可视化拖拽方式,LightRAG更适合代码驱动的开发者,且知识图谱能力让多跳推理准确率显著提升。
GitHub:HKUDS/LightRAG · ⭐ 25K+ · Python · MIT协议
AnythingLLM私有知识库搭建教程