LightRAG 是香港大学数据智能系统实验室(HKUDS)开源的简单快速 RAG 框架,通过双图索引机制显著提升复杂查询的准确性和响应速度,尤其适合资源受限设备如边缘计算节点或低配服务器。该框架的核心在于实体本地图(local retrieval,聚焦具体实体与上下文)和关系全局图(global retrieval,捕捉主题间抽象关联)的双层构建,并在查询时通过融合模式(如 hybrid 或 mix)实现高效信息整合,避免传统向量 RAG 的扁平检索局限。
双图索引过程首先对文档进行 chunk 分割(默认 chunk_token_size=1200,overlap=100),然后利用 LLM(如 ≥32B 参数模型)提取实体节点和关系边,形成图结构。实体图存储节点描述与邻域,关系图强调跨实体连接。随后,向量化键值对(embedding_func 如 bge-m3)存入 NanoVectorDB,支持 cosine 相似度阈值 0.2 过滤。EMNLP 2025 评估显示,在 Agriculture/CS/Legal/Mix 数据集上,LightRAG 的 hybrid 模式在全面性(Comprehensiveness)上平均胜出 20-60%,多样性(Diversity)达 60-80%,整体胜率超 60%,优于 NaiveRAG、RQ-RAG、HyDE 和 GraphRAG。这证明双图融合能更好地处理高层次查询,如跨文档主题总结,而非仅关键词匹配。
检索融合是 LightRAG 的关键优化:QueryParam 中 mode=hybrid 先 local 召回 top_k=60 实体,再 global 扩展关系,最终 mix reranker(如 bge-reranker-v2-m3)重排 chunk_top_k=20 块。参数配置针对资源设备:llm_model_max_async=4(并发 LLM 调用),embedding_batch_num=32,max_total_tokens=30000(实体 6000 + 关系 8000 + chunk)。启用 enable_llm_cache=True 复用提示,embedding_cache_config={"enabled":True, "similarity_threshold":0.95} 加速相似查询。Ollama 集成小模型(如 qwen2.5-coder:7b,num_ctx=32768)降低内存需求,支持低 RAM GPU(6GB 跑 26k 上下文)。
落地参数清单:
- 索引参数:chunk_token_size=800(资源设备减小,减少 LLM 负载),entity_extract_max_gleaning=1,summary_max_tokens=300(精简描述)。
- 查询参数:mode="mix"(默认 rerank),top_k=40(平衡召回/延迟),max_entity_tokens=4000,enable_rerank=True,stream=True(流式输出)。
- 存储配置:vector_storage="NanoVectorDBStorage"(轻量,无外部依赖),graph_storage="NetworkXStorage"(内存图),kv_storage="JsonKVStorage"。
- 模型注入:llm_model_func=ollama_model_complete(模型="gemma2:2b"),embedding_func=EmbeddingFunc(dim=768, func=ollama_embed("nomic-embed-text"))。
- 部署脚本:uv sync --extra api;lightrag-server(Docker compose up 更快)。
监控要点:查询延迟阈值 <100ms(Prometheus + Langfuse observability),token 消耗 <20000/查询,召回率 >0.85(RAGAS eval)。回滚策略:若融合召回低,fallback naive 模式;embedding 变更前清 data 目录保留 llm 缓存。
风险控制:索引需强 LLM(gpt-4o-mini),查询用弱模型;大图时用 Neo4J(export NEO4J_URI)。生产中 max_parallel_insert=2,避免 LLM 瓶颈。
资料来源:HKUDS/LightRAG GitHub(EMNLP2025 评估表);arXiv:2410.05779。
(正文 1028 字)