LightRAG 通过双图索引机制,将文档转换为实体节点与关系边的知识图谱,实现无 LLM 的查询融合与高效蒸馏。这种设计避免了传统 RAG 的扁平 chunk 检索局限,支持 local(实体级)和 global(关系级)双层检索融合,显著提升复杂查询的全面性和速度,尤其适用于资源受限场景。
核心观点在于,双图索引下的查询融合无需额外 LLM 调用,仅通过关键词提取与图遍历,即可“蒸馏”出精准上下文。传统 RAG 常因查询-文档语义错位导致召回低效,而 LightRAG 先用 LLM(索引时一次性)从 chunk 中抽取实体(如“Scrooge”)与关系(如“与 Bob Cratchit 相关”),存入图存储(如 NetworkX 或 Neo4j)。查询时,提取 low-level keywords(针对实体,如“Bob Cratchit”)与 high-level keywords(针对关系,如“Social themes”),分别检索实体子图与全局关系路径,实现融合。
证据显示,这种 LLM-free 融合在 UltraDomain 数据集上,LightRAG 的 comprehensiveness 胜率达 67.6%(vs NaiveRAG 32.4%)。“LightRAG 在四个数据集上全面优于 baselines,包括 GraphRAG。” 检索融合后,邻接节点扩展进一步“蒸馏”高阶相关性,确保上下文连贯,避免噪声。
落地参数配置聚焦 QueryParam 与索引优化,确保低资源部署:
- chunk_token_size=1200, chunk_overlap_token_size=100:平衡实体完整性与效率,适用于长文档,避免边界丢失。
- top_k=60 (实体/关系), chunk_top_k=20:local 模式下实体 top_k=60,global 关系 top_k=60;混合模式下 chunk_top_k=20 经 rerank 精炼。
- mode=hybrid:默认融合 local(10 实体 + 127 关系)与 global(12 实体 + 10 关系),max_entity_tokens=6000, max_relation_tokens=8000, max_total_tokens=30000 控制预算。
- embedding_batch_num=32, llm_model_max_async=4:批量并行,降低延迟;enable_llm_cache=True 复用提取结果。
- rerank_model_func(如 bge-reranker-v2-m3):mix 模式下提升 20% 精度,cosine_better_than_threshold=0.2。
部署清单(5 步,uv 推荐):
- 环境:uv sync --extra api;配置 .env(OPENAI_API_KEY, embedding_func=openai_embed)。
- 初始化:rag = LightRAG(working_dir="./rag_storage", embedding_func=openai_embed, llm_model_func=gpt_4o_mini_complete);await rag.initialize_storages()。
- 索引:rag.insert(["doc1", "doc2"], max_parallel_insert=4);支持增量,delete_by_doc_id 回滚。
- 查询:rag.aquery("查询", param=QueryParam(mode="hybrid", enable_rerank=True, stream=True));conversation_history 保多轮。
- 生产:lightrag-server;Neo4j/PostgreSQL 存储,Langfuse 追踪。
监控要点与阈值:
| 指标 |
阈值 |
异常处理 |
| 检索延迟 |
<500ms |
调低 top_k 或异步并发 |
| Token 预算超 |
max_total_tokens=30000 |
压缩 summary_context_size=10000 |
| 召回率 |
RAGAS context_precision >0.85 |
优化 embedding(如 bge-m3),阈值 0.2 |
| 缓存命中 |
>70% |
启用 embedding_cache_config={"enabled":True, "similarity_threshold":0.95} |
风险控制:实体提取依赖 LLM(推荐 ≥32B 参数,context ≥32K),噪声用 entity_extract_max_gleaning=1 迭代;切换 embedding 清 data 目录。
实际案例:在 Dickens 小说索引上,hybrid 模式融合“Scrooge 主题”实体与“Victorian era 社会关系”,生成全面分析,优于 naive 模式 2 倍胜率。低资源下,用 Ollama + nomic-embed-text(dim=768),6GB GPU 处理 197 实体,仅需 num_ctx=32768。
扩展:自定义 KG insert_custom_kg;多模态 via RAG-Anything;评估用 RAGAS。
资料来源: