在检索增强生成(RAG)系统中,传统向量搜索依赖于高维嵌入计算,这在低资源环境中往往导致计算开销过大和延迟增加。LightRAG 提供了一种创新的无嵌入式图 RAG 管道,通过构建双实体-关系图(dual entity-relation graphs)实现高效的递归检索和 LLM 增强。这种方法避免了嵌入生成的资源密集型过程,转而利用知识图谱的结构化表示来捕捉文档间的语义关系,从而在边缘部署场景中实现 2 倍以上的推理加速。
LightRAG 的核心在于其知识图谱构建机制。首先,系统使用 LLM 从输入文档中提取实体(如人名、组织、概念)和关系(如“属于”、“影响”),形成一个双层图结构:实体层聚焦于节点表示,关系层捕捉边际连接。这种双图设计允许递归检索,即从查询实体开始,逐步扩展到相关实体和关系路径,而非依赖全文档嵌入搜索。根据 LightRAG 的实现,这种提取过程仅需一次 LLM 调用,后续检索纯基于图遍历,显著降低了计算负载。在低资源设置下,如使用 32B 参数的 LLM(如 Qwen2-72B),提取准确率可达 85% 以上,尤其适用于小模型如 Qwen3-30B-A3B 的增强。
要构建这样的管道,首先配置 LightRAG 实例时,选择 graph_storage 为 NetworkXStorage(默认)或 Neo4JStorage 以支持高效图操作。同时,禁用或最小化 vector_storage 的使用,例如设置 vector_storage="NanoVectorDBStorage" 但仅用于可选的混合模式,而核心检索依赖 graph。关键参数包括 chunk_token_size=1200(文档分块大小)和 chunk_overlap_token_size=100(重叠以保留上下文),确保提取的实体覆盖完整语义。LLM 配置至关重要:llm_model_func 指向一个至少 32K 上下文长度的模型,如 gpt-4o-mini_complete,避免推理模型用于索引阶段以节省 token。embedding_func 可选为空白或仅用于辅助 rerank,但为实现纯无嵌入,可完全跳过 embedding_batch_num 和相关调用,转而依赖 entity_extract_max_gleaning=1(单轮提取循环)来优化速度。
在递归检索过程中,LightRAG 支持多种查询模式:local 模式聚焦实体邻域检索,top_k=60 控制返回实体数;global 模式扩展到关系路径,max_relation_tokens=8000 限制 token 预算;hybrid 模式结合两者,提供全面上下文。举例,在一个法律文档集合中,查询“合同违约的影响因素”时,系统从“违约”实体递归扩展到“合同”、“责任”关系图,生成提示如“基于以下实体-关系:违约 -> 导致 -> 赔偿,总结影响”。这种方法在低资源硬件(如 16GB RAM GPU)上,推理时间从传统 RAG 的 5s 降至 2.5s,特别是在混合查询中启用 rerank(如 BAAI/bge-reranker-v2-m3)时,召回率提升 20%。
部署到边缘设备时,需关注风险与限制:LLM 提取可能引入噪声,尤其在多语言文档中,建议 addon_params={"language": "Chinese", "entity_types": ["person", "organization", "event"]} 来指导提取。存储选择 Neo4J 可处理大规模图(>10k 节点),但初始构建需 10-30 分钟,之后查询 <1s。监控要点包括 token_tracker 跟踪 LLM 调用(目标 <30000 total_tokens/query),以及 enable_llm_cache=True 以复用提取结果。回滚策略:若图质量低,可 delete_by_entity 或 merge_entities 手动修正,如合并“AI”与“人工智能”实体。
为实现 2x 加速,可落地清单如下:1) 初始化 rag = LightRAG(working_dir="./rag_storage", llm_model_func=gpt_4o_mini_complete, graph_storage="NetworkXStorage");2) await rag.initialize_storages() 和 initialize_pipeline_status();3) 批量插入文档 rag.insert(docs, max_parallel_insert=4);4) 查询时 QueryParam(mode="hybrid", top_k=60, enable_rerank=True);5) 集成 Ollama 以本地化 LLM,设置 num_ctx=32768 支持长上下文。测试中,在 UltraDomain 数据集上,LightRAG 的 comprehensiveness 得分达 67.6%,远超 NaiveRAG 的 32.4%。
在实际应用中,这种无嵌入图 RAG 特别适合 IoT 设备或移动端知识问答系统,避免 embedding 模型的 1GB+ 内存占用。未来,可扩展到多模态通过 RAG-Anything 集成,但核心优势在于图的轻量性和可解释性。
资料来源:LightRAG GitHub 仓库(https://github.com/HKUDS/LightRAG),arXiv 论文(2410.05779)。