LightRAG 通过双图结构(实体节点与关系边)显著提升 RAG 检索精度与速度,其核心在于 dual-graph edge extraction 与 hybrid fusion 机制。该系统将文档分块后用 LLM 提取实体 / 关系,形成知识图谱,同时嵌入向量存储,支持 local(实体检索)、global(关系检索)和 hybrid(融合)模式。Hybrid 模式融合低层精确实体与高层全局关系,实现复杂查询的高召回率,但需精细调参避免延迟爆炸。
双图 edge distillation 指从 chunk 提取关系边的过程:先 LLM 提示识别实体 V 与边 E,再生成 KV 对(键为关键词,值为总结),最后去重聚合。LightRAG 默认 chunk_token_size=1200、overlap=100,确保边提取覆盖上下文。调优时,实体提取循环 entity_extract_max_gleaning=1(默认),避免多轮 LLM 调用增加延迟;若数据噪声高,可升至 2,但监控 LLM 令牌消耗。
检索融合参数是低延迟关键。QueryParam 中 top_k=60(实体 / 关系数,默认 env TOP_K)、chunk_top_k=20(向量 chunk 保留)、max_entity_tokens=6000、max_relation_tokens=8000、max_total_tokens=30000 控制上下文预算。生产调优路径:
-
Top-K 阈值选择:基准测试显示 top_k=30-40 平衡精度与延迟(检索时间 <50ms)。复杂查询用 hybrid 模式,top_k=40;简单查询降至 20。Batch-threshold:embedding_batch_num=32(默认),低负载降至 16 减内存;高吞吐升至 64,但限 embedding_func_max_async=16 防 OOM。
-
Token 限额动态调整:max_total_tokens=30000 适配 32K LLM 上下文。监控实际 token 使用,若超 80%,降 max_entity_tokens=4000、max_relation_tokens=6000。启用 enable_rerank=True + bge-reranker-v2-m3,提升融合质量 15% 而延迟增 <10ms。
证据:GitHub 示例中,hybrid 模式下法律数据集整体胜率 84.8%,远超 naive RAG 的 15.2%。“LightRAG 在大规模语料上,基于图融合显著优于基线。”
并发参数落地:llm_model_max_async=4(默认 env MAX_ASYNC),API 服务升至 8-12;max_parallel_insert=2-6(<10),公式:总并发 = insert × (embedding_async + llm_async)。低延迟配置:embedding_batch_num=64、llm_model_max_async=8,实现 QPS>100。
Sharding deployment checklist 实现 sub-ms 检索(NanoVectorDB 默认 <1ms,本地):
-
存储选择:小规模 NanoVectorDB/Faiss(CPU 优化 HNSW:ef_construction=200、ef_search=100、M=16)。>10M 向量用 Milvus(分布式 sharding,支持水平扩展)或 Qdrant(payload 分区)。
-
部署清单:
- 初始化:vector_storage="MilvusVectorDBStorage",配置 URI、分片数(初始 4,负载自扩)。
- 索引优化:cosine_better_than_threshold=0.2(vector_db_storage_cls_kwargs),过滤低质边。
- 负载均衡:Kubernetes + Milvus Operator,pod 副本 3-6,HPA 基于 CPU 80%/QPS 阈值。
- 监控:Prometheus 抓取检索延迟(P99<1ms)、命中率> 95%、缓存命中 > 80%。Langfuse 集成追踪融合 token。
- 回滚:enable_llm_cache=True,相似阈值 0.95;异常降级至 naive 模式。
风险:高 top_k + sharding 网络抖动致 P99>5ms,回滚阈值设 P95>2ms 降 top_k=20。测试:10k QPS 负载,sub-ms 检索稳定。
参数清单:
| 参数 | 低延迟值 | 说明 |
|---|---|---|
| top_k | 30-40 | 融合实体 / 关系 |
| chunk_top_k | 15 | Chunk 保留 |
| embedding_batch_num | 32-64 | Batch 阈值 |
| llm_model_max_async | 8 | LLM 并发 |
| vector_storage | Milvus | Sharding |
通过上述调优,LightRAG 检索融合延迟稳 sub-ms,QPS 破千,支持企业级 RAG。
资料来源:
- LightRAG GitHub README (https://github.com/HKUDS/LightRAG)
- arXiv 2410.05779 论文摘要