LightRAG 作为 EMNLP 2025 入选论文项目,提供了一种简单快速的检索增强生成(RAG)方案,其核心在于双图索引机制与检索融合策略,避免了传统 RAG 的复杂依赖和高延迟问题。通过实体级(local)和关系级(global)双图构建,实现对文档的高粒度理解,并在查询时融合多种模式,确保高效响应。
双图索引:从文档到知识图谱的轻量构建
LightRAG 的索引流程高度自动化且低依赖:文档切分为 chunk(默认 chunk_token_size=1200,overlap=100),使用 LLM 提取实体与关系,形成双图结构。实体存储于向量 DB(默认 NanoVectorDB,轻量级),关系构建知识图(默认 NetworkX,可扩展 Neo4j/PG-AGE)。整个过程无需外部服务,默认使用本地文件存储,支持 Ollama 等开源模型。
落地参数清单:
- LLM:≥32B 参数、≥32K 上下文(如 gpt-4o-mini),索引阶段避免推理模型。
- Embedding:固定模型如 bge-m3(dim 需匹配),embedding_batch_num=32,max_async=16。
- 图参数:entity_extract_max_gleaning=1,summary_context_size=10000,summary_max_tokens=500。
- 并行:llm_model_max_async=4,max_parallel_insert=2~10(LLM 瓶颈)。
示例代码(Python):
import asyncio
from lightrag import LightRAG
from lightrag.llm.openai import gpt_4o_mini_complete, openai_embed
rag = LightRAG(
working_dir="./rag_storage",
embedding_func=openai_embed,
llm_model_func=gpt_4o_mini_complete,
chunk_token_size=1200,
chunk_overlap_token_size=100
)
await rag.initialize_storages()
await rag.ainsert("文档内容")
此配置下,LightRAG 处理如《圣诞颂歌》样本文档,仅需 pip install lightrag-hku,无需 Docker/K8s,索引速度远超 GraphRAG。
检索融合:hybrid/mix 模式的多层召回与重排序
查询时,LightRAG 支持 local(实体上下文)、global(关系路径)、hybrid(融合)、mix(图+向量)等模式。其中 hybrid/mix 是推荐融合策略:先向量检索 top chunk_top_k=20 块,重排序(bge-reranker-v2-m3),再结合图实体(top_k=60)、关系(max_relation_tokens=8000),统一上下文不超过 max_total_tokens=30000。
低延迟参数调优:
| 参数 |
默认值 |
低延迟建议 |
作用 |
| top_k |
60 |
40-80 |
实体/关系召回数 |
| chunk_top_k |
20 |
15-30 |
文本块重排序后保留 |
| max_entity_tokens |
6000 |
4000-8000 |
实体上下文预算 |
| enable_rerank |
True |
True |
混合查询必开,提升相关性 |
| mode |
"global" |
"hybrid"/"mix" |
融合召回全局视图 |
“LightRAG 通过双层检索显著优于 NaiveRAG,在法律/混合数据集整体胜率达 60-85%。” 证据来自项目性能表,证明融合机制在高水平查询(如数据集主题总结)上的优势。
流式查询示例:
from lightrag import QueryParam
result = await rag.aquery(
"故事主要主题?",
param=QueryParam(
mode="hybrid",
top_k=50,
chunk_top_k=15,
stream=True,
enable_rerank=True
)
)
工程化落地:监控、回滚与扩展
为低延迟生产部署:
- 存储隔离:workspace 参数多租户,推荐 PG 全栈(KV/Vector/Graph)或 Neo4j(图优异)。
- 缓存:enable_llm_cache=True,embedding_cache_config={"enabled":True, "similarity_threshold":0.95}。
- 监控:TokenTracker 追踪消耗,Langfuse observability(pip install [observability]),RAGAS 评估框架。
- 删除/合并:adelete_by_doc_id、merge_entities,支持增量更新,避免全重建。
- 回滚策略:切换 embedding 前清空向量表;异常时 retry=3,重置 cache。
风险控制:LLM 异步限 4,避免 OOM;大文档分批 insert。扩展多模态,用 RAG-Anything 处理 PDF/图像。
此方案适用于边缘部署或资源受限场景,实现 <1s 响应的高效 RAG,无需 Microsoft GraphRAG 的重型依赖。
资料来源: