原创 PaperAgent 2025-03-14 00:03 湖北
微软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代码解读
NLP图谱抽取
graphrag/index/workflows/extract_graph_nlp.py
建立名词短语图
graphrag/index/operations/build_noun_graph/build_noun_graph.py
nodes:
使用text_analyzer.extract方法从每个文本单元中提取名词短语
去重
edges(共现关系):
将节点数据框中的text_unit_ids展开,得到每个文本单元中出现的名词短语列表
对每个文本单元中的名词短语列表,生成所有可能的边(即名词短语对)
edge_weights
按source和target分组,统计边的权重(即边出现的文本单元数量)
使用点互信息(PMI)对边的权重进行归一化
LazyGraphRAG技术原理
使用 NLP 名词短语提取来提取概念及其共现
使用图形统计来优化概念图并提取分层社区结构
效果对比,LazyGraphRAG答案更加丰富,Query:描述 2024 年健康保险计划开放注册期间,美国个人在选择健康保险计划时应考虑哪些因素。
https://github.com/microsoft/graphrag/blob/main/CHANGELOG.md
推荐阅读
• 动手设计AI Agents:Coze版(编排、记忆、插件、workflow、协作)
• RAG全景图:从RAG启蒙到高级RAG之36技,再到终章Agentic RAG!
• Agent到多模态Agent再到多模态Multi-Agents系统的发展与案例讲解(1.2万字,20+文献,27张图)
欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。