LightRAG 作为 EMNLP2025 核心框架,通过双图索引(实体 - 关系知识图 + 向量嵌入)与查询融合机制,重塑低资源 RAG pipeline,实现复杂查询的高效处理。其核心在于避免传统向量系统的全量重建与高 Token 消耗,转而用图结构捕捉语义关系,支持动态融合生成,特别适合资源受限的生产环境。
双图索引是 LightRAG 的基础。首先,文档被切分成 chunk(默认 chunk_token_size=1200,overlap=100),LLM 提取实体(如人名、组织)和关系,形成知识图(NetworkX 或 Neo4J 存储)。同时生成向量嵌入(推荐 BAAI/bge-m3,dim=1536),存入 NanoVectorDB 或 PGVector。其创新在于 LLM Profiling:为每个实体 / 关系生成 Key-Value 对,Key 为检索关键词,Value 为浓缩描述,支持去重合并,避免冗余。证据显示,这种结构化索引在农业 / 法律数据集上,全面性提升至 67.6%(vs NaiveRAG 32.4%)。“LightRAG 在四个数据集上全面优于 GraphRAG。” 这种双图设计捕捉多跳关系,低成本替代复杂向量系统。
查询融合机制进一步放大优势。LightRAG 提供 local/global/hybrid/mix/naive 五种模式,通过 QueryParam 动态配置:
- local:top_k=60 实体检索,聚焦细节(如 “Scrooge 与 Marley 关系?”)。
- global:关系边检索,聚合主题(如 “故事主旨?”)。
- hybrid/mix:融合实体 + 关系 + chunk(chunk_top_k=20),rerank(BAAI/bge-reranker-v2-m3)后控制 token 预算(max_entity_tokens=6000,max_relation_tokens=8000,max_total_tokens=30000)。
融合过程:LLM 先提取低层(实体关键词)/ 高层(主题关键词),向量匹配后扩展 1-hop 邻居,生成统一上下文。参数落地清单:
| 参数 | 推荐值 | 作用 |
|---|---|---|
| top_k | 60 | 实体 / 关系检索上限 |
| chunk_top_k | 20 | 文本块重排后保留 |
| enable_rerank | True | 混合查询默认,提升精度 |
| mode | "mix" | 生产默认,平衡 local/global |
监控要点:Langfuse 追踪 API 调用(<100 tokens / 查询),RAGAS 评估 context precision。相比 GraphRAG,LightRAG 检索仅 1 次 LLM 调用,速度快数倍。
知识蒸馏是低资源优化的关键。LightRAG 针对小 LLM(如 Qwen3-30B-A3B)增强 KG 提取准确性,通过教师模型(≥32B 参数,推荐 gpt-4o-mini)生成高质量实体 / 关系,再蒸馏至学生模型。新闻更新显示:“[2025.09.15]🎯Significantly enhances KG extraction accuracy for small LLMs。” 部署参数:
- 教师:llm_model_func=gpt_4o_mini_complete,context≥32K。
- 学生:ollama_model_complete,num_ctx=32768(Modelfile 调整)。
- 蒸馏流程:教师索引→提取知识图→学生微调(hf_model_complete,Llama-3.1-8B)。
清单:
- 初始化教师 RAG,ainsert 文档。
- 导出 KG(export_data ("kg.json"))。
- 学生 RAG 加载自定义 KG(insert_custom_kg)。
- 评估:TokenTracker 监控消耗,下降 30-50%。
风险:LLM 提取不准(缓解:entity_extract_max_gleaning=1,多轮);存储瓶颈(Neo4J 生产级,cosine_threshold=0.2)。回滚:clear_cache (modes=["hybrid"]),删除 doc_id(adelete_by_doc_id)。
生产部署:
- 存储:开发 JsonKV+NetworkX,生产 PG/Neo4J+Milvus。
- 并发:llm_model_max_async=4,embedding_batch_num=32。
- 缓存:enable_llm_cache=True,embedding_cache_config={"enabled":True,"similarity_threshold":0.95}。
- Docker:docker compose up,.env 配置 API 密钥。
LightRAG 以简单 API(rag.query (param=QueryParam (mode="mix")))落地复杂 RAG,检索成本降 99%,性能领先。适用于客服 / 研究 / 代码助手,低资源场景首选。
资料来源: