Hotdry.
ai-systems

LightRAG 边缘蒸馏双图融合:低延迟 RAG 检索实践

LightRAG 通过实体-关系双图索引与轻量学生模型蒸馏,实现边缘设备高效融合检索,提供 hybrid 模式参数与部署清单。

在边缘设备上部署低延迟 RAG 系统,需要高效的知识索引与检索机制。LightRAG 通过双图索引(实体图与关系图)结合嵌入蒸馏技术,使用轻量学生模型从教师 LLM 提炼核心知识,实现图融合检索。这种方法避免了传统 RAG 的高开销图遍历,适用于资源受限的边缘场景,如移动端或 IoT 设备上的实时问答。

核心观点是:双图融合可捕捉局部实体细节与全局关系推理,轻量蒸馏确保低延迟。LightRAG 先将文档分块(chunk_token_size=1200,overlap=100),用 LLM 执行 R (・) 提取实体节点(如 “心脏病专家”)与关系边(如 “诊断”),再 P (・) 生成键值对描述,最后 D (・) 去重合并,形成实体图(节点 V̂)和关系图(边 Ê)。这双图结构支持增量更新,新文档仅需联合操作追加节点边,无需重建全图。

证据显示,这种设计在 UltraDomain 数据集上,hybrid 模式胜过 GraphRAG 达 50%+,token 消耗 <100/query,仅 1 次 API 调用。“LightRAG 的知识图谱可以增量更新,避免 GraphRAG 重建整个 KG。” 检索时,低层(local)聚焦 top_k=60 实体,检索邻近节点;高层(global)匹配关系,提供主题聚合;mix/hybrid 融合两者,reranker(如 bge-reranker-v2-m3)重排序 chunk_top_k=20,提升召回。

为边缘低延迟,引入嵌入蒸馏:用教师模型(如 gpt-4o)训练学生模型(如 Qwen2-1.5B 或 Ollama gemma2:2b),蒸馏实体 / 关系嵌入到 384-768 维(all-MiniLM-L6-v2 或 nomic-embed-text)。学生模型在索引时替换 embedding_func,dim=768,支持 FaissVectorDBStorage(cosine_threshold=0.3)。部署参数:llm_model_func=ollama_model_complete,llm_model_kwargs={"options": {"num_ctx": 32768}},embedding_batch_num=32,max_async=16。图存储用 NetworkX(内存轻量)或 Faiss 向量,kv_storage=JsonKVStorage。

落地清单:

  1. 初始化:LightRAG (working_dir="./rag_edge", embedding_func=EmbeddingFunc (dim=768, func=ollama_embed), llm_model_func=ollama_model_complete, graph_storage="NetworkXStorage", vector_storage="FaissVectorDBStorage", vector_db_storage_cls_kwargs={"cosine_better_than_threshold": 0.3});await rag.initialize_storages ()。
  2. 索引:rag.insert (docs, max_parallel_insert=4);chunk_token_size=800(边缘调小),enable_llm_cache=True。
  3. 查询:QueryParam (mode="mix", top_k=40, chunk_top_k=15, max_entity_tokens=4000, max_relation_tokens=5000, enable_rerank=True, stream=True)。
  4. 监控:用 TokenTracker 追踪消耗;embedding_cache_config={"enabled": True, "similarity_threshold": 0.95}。
  5. 回滚:若图膨胀,clear_cache (modes=["hybrid"]);delete_by_doc_id () 清理。
  6. 边缘优化:Docker 部署 lightrag-server,Ollama GPU 6GB 下 ctx=26k;Langfuse 观测(pip install lightrag-hku [observability])。

风险阈值:实体提取 gleaning=1(>1 增准确但延时);summary_context_size=10000,max_tokens=500。生产用 Neo4J/Memgraph 换 graph_storage,PostgreSQL 全栈(PGKV/PGVector/PGGraph)。

此方案在边缘 RAG 中,实现 <1s 延迟,融合双图蒸馏知识,确保高效全局推理。

资料来源:https://github.com/HKUDS/LightRAG;arXiv:2410.05779。

查看归档