重磅,微软LazyGraphRAG正式开源及实现细节剖析!

发布于 2025-3-14 00:21
252浏览
0收藏

微软GraphRAG自提出,已历时快一年,PaperAgent对其发展历程进行了专门梳理与总结:

  • 去年4月,为解决传统RAG在全局性的查询总结任务上表现不佳,微软多部门联合提出Project GraphRAG(大模型驱动的KG);
  • 去年7月,微软正式开源GraphRAG项目,引起极大关注,至今23.2k star,但落地时却面临巨大成本痛点(具体:LLM用于实体关系抽取+描述,社区总结);
  • 去年11月,为了上述痛点,微软发布了LazyGraphRAG,将数据索引成本降低1000倍,只有GraphRAG的0.1%(使用 NLP 名词短语提取来识别概念及其共现,再利用图形统计来优化概念图并提取分层社区结构);
  • 时隔3月,微软GraphRAG项目迎来2.0.0版本,正式开源LazyGraphRAG,即NLP graph extraction功能。

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

LazyGraphRAG代码解读

  • NLP图谱抽取
    graphrag/index/workflows/extract_graph_nlp.py

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

  • 建立名词短语图

graphrag/index/operations/build_noun_graph/build_noun_graph.py

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

nodes:

  • 使用text_analyzer.extract方法从每个文本单元中提取名词短语
  • 去重

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

edges(共现关系):

  • 将节点数据框中的text_unit_ids展开,得到每个文本单元中出现的名词短语列表
  • 对每个文本单元中的名词短语列表,生成所有可能的边(即名词短语对)

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

edge_weights:

  • 按source和target分组,统计边的权重(即边出现的文本单元数量)
  • 使用点互信息(PMI)对边的权重进行归一化

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

LazyGraphRAG技术原理

  • 使用 NLP 名词短语提取来提取概念及其共现
  • 使用图形统计来优化概念图并提取分层社区结构

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

效果对比,LazyGraphRAG答案更加丰富,Query:描述 2024 年健康保险计划开放注册期间,美国个人在选择健康保险计划时应考虑哪些因素。

重磅,微软LazyGraphRAG正式开源及实现细节剖析!-AI.x社区

​​​本文转载自​PaperAgent​,作者: PaperAgent ​​


收藏
回复
举报


回复
相关推荐
恭喜您,今日已阅读两篇内容,特奖励+2声望, 快来领取吧。