LightRAG 是 EMNLP 2025 论文提出的简单快速检索增强生成(RAG)框架,其核心管道采用双图索引(本地实体图与全局关系图)结合查询融合机制,实现高效知识检索与生成。该管道针对传统 RAG 的碎片化问题,通过知识图构建捕捉实体间复杂依赖,支持低资源本地部署,特别适合边缘设备或 Ollama 等开源模型场景。
双图索引:本地与全局知识分离存储
LightRAG 的索引管道首先将文档切块(默认 chunk_token_size=1200,overlap=100),使用 LLM(如 gpt-4o-mini)提取实体(节点 V)和关系(边 E),形成知识图 D̂ = (V̂, Ê)。本地索引聚焦实体细节(local mode),存储为向量(如 NanoVectorDBStorage,默认 cosine 阈值 0.2);全局索引聚焦关系聚合(global mode),支持 NetworkXStorage 或 Neo4JStorage。该双图设计避免单图膨胀,确保检索时 top_k=60(实体)与 chunk_top_k=20(文本块)的精确匹配。
证据显示,双图在 UltraDomain 数据集(农业、CS、法律、混合)上胜率达 60-85%,远超 NaiveRAG 的 15-40%。“LightRAG 在法律数据集上整体胜率达 84.8%。” 双图通过去重(Dedupe)和键值对生成(Prof (.))优化存储,仅需单次 LLM 调用 / 块,索引速度提升 3-5 倍。
落地参数清单:
- LLM 配置:llm_model_func=gpt_4o_mini_complete(索引用),llm_model_max_async=4,避免并发瓶颈。
- 嵌入模型:embedding_func=openai_embed 或 ollama_embed(nomic-embed-text,dim=768),embedding_batch_num=32。
- 存储初始化:rag = LightRAG(working_dir="./rag_storage", graph_storage="NetworkXStorage");await rag.initialize_storages()。
- 插入:rag.insert ("文档文本", max_parallel_insert=2),支持批量与 IDs。
部署时,优先本地 NanoVectorDB(无外部依赖),GPU <4GB 亦可运行 Qwen2-7B 等模型。
查询融合:Hybrid 模式多源聚合
查询阶段,LightRAG 提取低层(local)与高层(global)关键词,融合为 hybrid 检索:向量匹配实体 / 关系 + 邻接节点扩展(一跳子图)。QueryParam (mode="hybrid", max_entity_tokens=6000, max_relation_tokens=8000, max_total_tokens=30000) 控制 token 预算,确保上下文不超过 LLM 窗口(推荐 ≥32K)。
融合机制通过 rerank_model_func(如 bge-reranker-v2-m3)重排序 chunk_top_k=20 块,提升 precision。证据:在混合查询下,mix/hybrid 模式多样性胜率 67.6%,赋权性 61.2%。
可落地清单:
- 查询参数:param=QueryParam (mode="hybrid", enable_rerank=True, top_k=60, stream=True),支持 conversation_history 保持多轮上下文。
- 融合阈值:cosine_better_than_threshold=0.2(vector_db_storage_cls_kwargs),embedding_cache_config={"similarity_threshold":0.95} 启用缓存。
- API 示例:
response = rag.query("查询问题", param=QueryParam(mode="hybrid")) - WebUI 部署:uv pip install "lightrag-hku [api]";lightrag-server,支持知识图可视化与 RAGAS 评估。
低资源优化:Ollama 集成(llm_model_kwargs={"options":{"num_ctx":32768}}),单机处理 10k+ 文档。
蒸馏优化与监控:低资源高效部署
虽无显式知识蒸馏,管道通过 LLM 缓存(enable_llm_cache=True)和总结上下文(summary_context_size=10000)实现 “软蒸馏”,仅索引时调用 LLM,查询复用键值对。支持增量更新(insert 新文档无需重建图)和删除(rag.delete_by_entity ("实体名")),动态适应。
监控要点:
- 性能指标:Langfuse 追踪([observability] 安装),RAGAS 评估 context_precision。
- 风险阈值:若实体提取准确率 <80%,切换更强 LLM(如 Qwen3-30B);嵌入切换需清 data_dir。
- 回滚策略:fallback 到 naive mode;max_async=2 防 OOM。
实际部署参数:Docker compose up(.env 配置 OLLAMA_EMULATING_MODEL_NAME),QPS >10@RTX 3060。案例:在 Dickens 小说上,hybrid 查询 “故事主题” 返回全局关系摘要,准确率 > GraphRAG。
LightRAG EMNLP 管道以双图 + 融合为核心,实现参数化简单 RAG,部署门槛低,适用于本地 AI 系统。相比 GraphRAG,其索引 / 查询开销降 70%,成本更优。
资料来源:
[1] GitHub - HKUDS/LightRAG (EMNLP2025 实现)
[2] arXiv:2410.05779 (LightRAG 论文,双图管道详述)