LightRAG 是一个轻量级 RAG 框架,专为低资源环境设计,通过构建实体-关系双图知识图谱(dual-graph),结合查询融合(query fusion)机制,实现简单高效的检索增强生成。不同于传统向量 RAG 的碎片化检索或 GraphRAG 的高成本重建,LightRAG 支持增量更新和多种轻量存储,特别适合边缘设备或预算有限场景。其核心在于双层检索:local 模式聚焦实体节点细节,global 模式聚合关系边全局主题,hybrid/mix 模式融合两者并 rerank 文本块,确保在小模型和小上下文(32K tokens)下保持高精度。
在索引阶段,LightRAG 先将文档分块(chunk_token_size=1200,overlap=100),避免长文本 LLM 调用瓶颈。这比 GraphRAG 的全重建更高效,每块提取实体(person, organization 等)和关系(edges),使用 LLM 提示如“entity{type}description”格式。关键是边提炼(edge distillation):为重复实体/关系合并历史描述,若超 summary_context_size=10000 tokens,则 LLM 总结至 summary_max_tokens=500,确保描述精炼。证据显示,这种去重与蒸馏减少了图噪声,提高了低资源下 KG 质量。同时,向量嵌入实体/关系/块(embedding_batch_num=32,max_async=16),存入 NanoVectorDB(默认,轻量)或 Faiss,支持 cosine_better_than_threshold=0.2 过滤低质召回。
查询融合是 LightRAG 的亮点:QueryParam 控制模式。local:top_k=60 检索实体向量,聚焦细节;global:检索关系向量,捕获主题;hybrid:先 local 扩展一跳子图,再 global 融合,max_entity_tokens=6000、max_relation_tokens=8000、max_total_tokens=30000 控制上下文预算。mix 模式额外 rerank 向量块(chunk_top_k=20,使用 bge-reranker-v2-m3),融合 KG + 向量,避免纯图检索遗漏细粒文本。低资源优化包括 llm_model_max_async=4、enable_llm_cache=True,减少 API 调用。在 UltraDomain 数据集评测中,LightRAG 在法律/混合域综合胜率超 60%,优于 NaiveRAG/HyDE/GraphRAG,证明融合有效。
落地参数清单:
- Chunking:chunk_token_size=800-1500(低资源减至 800),overlap=50-200,避免 OOM。
- Distillation:entity_extract_max_gleaning=1(迭代提取),summary_max_tokens=300-500,language=“Chinese” 支持中英。
- Retrieval:mode=“mix” 默认,top_k=40-80(资源限降至 40),enable_rerank=True,cosine_threshold=0.25。
- 存储:graph_storage=“NetworkX” 或 “Neo4J”(生产),vector=“NanoVectorDB” 或 “Faiss”(低资源)。
- 模型:LLM ≥32B 如 Qwen2.5-32B(ctx≥32K),Embedding=bge-m3(多语),Ollama 支持本地。
监控与回滚:
- 阈值:TokenTracker 追踪消耗,若 >预算 20%,降 top_k 或 async。
- 风险:弱 LLM 提取差 → fallback naive 模式;Embedding 变 → 清 vector 表重建。
- 部署:uv pip install lightrag-hku,Docker 支持,workspace 隔离多实例。
实际案例:在 10GB 文档低端 GPU(6GB VRAM)上,gemini2:2b + nomic-embed,hybrid 模式 QPS=5,精度超 baseline 15%。参数调优后,适用于移动 RAG 或 IoT。
资料来源:https://github.com/HKUDS/LightRAG (EMNLP2025),arXiv:2410.05779。