LightRAG作为EMNLP2025入选项目,提供简单快速的RAG框架,其核心在于图蒸馏融合检索机制,将知识图谱(KG)与向量嵌入结合,避免传统RAG的上下文丢失与GraphRAG的高开销。通过LLM从文档提取实体/关系构建轻量KG,并嵌入向量,支持增量更新与多存储后端,实现低资源高效生成。
LightRAG索引流程高效:文档分块(默认chunk_token_size=1200,overlap=100),LLM提取实体/关系(entity_extract_max_gleaning=1),去重合并后存入KG(NetworkX/Neo4J)和向量DB(NanoVectorDB/Faiss)。例如处理《圣诞颂歌》时,仅需少量LLM调用生成KG,避免GraphRAG的全重建。“LightRAG显著优于NaiveRAG,在综合性、多样性和赋权性指标上胜率达60-85%。”(来源:GitHub基准表)。
低资源部署关键参数:LLM选≥32B参数、≥32K上下文模型(如Qwen2.5-32B),嵌入用bge-m3(dim=1024);llm_model_max_async=4,embedding_batch_num=32;vector_db_storage_cls_kwargs={"cosine_better_than_threshold":0.2}。Ollama集成示例:llm_model_func=ollama_model_complete,embedding_func=EmbeddingFunc(dim=768, func=ollama_embed("nomic-embed-text")),num_ctx=32768。Server部署:uv pip install "lightrag-hku[api]",配置.env后lightrag-server,访问localhost:9621。
查询优化用QueryParam:mode="hybrid"(local实体+global关系),top_k=60,chunk_top_k=20,enable_rerank=True(bge-reranker-v2-m3);max_entity_tokens=6000,max_relation_tokens=8000,max_total_tokens=30000。监控:RAGAS评估+Langfuse追踪。风险:嵌入模型变更需清数据;小LLM KG提取准度低,用Qwen3-30B-A3B优化。
落地清单:
- 安装:uv sync --extra api;cp env.example .env,设LLM/Embedding键。
- 初始化:rag=LightRAG(working_dir="./rag_storage", llm_model_func=..., embedding_func=...);await rag.initialize_storages()。
- 插入:rag.insert("文本")或批量;支持textract多格式(PDF/DOCX)。
- 查询:rag.query("问题", param=QueryParam(mode="hybrid", stream=True))。
- 管理:rag.delete_by_entity("实体");rag.merge_entities(["AI","人工智能"],"AI技术");export_data("kg.csv")。
- 扩展:Neo4J存储(graph_storage="Neo4JStorage");RAG-Anything多模态。
基准验证:在Agriculture/CS/Legal数据集,LightRAG综合胜NaiveRAG/RQ-RAG/HyDE 60%以上,略优GraphRAG但更快。低资源场景(如6GB GPU Gemma2:2B),仍提取197实体/19关系。
资料来源:https://github.com/HKUDS/LightRAG;arXiv:2410.05779。