微软GraphRAG

检索增强生成 (RAG)

通用语言模型通过微调就可以完成几类常见任务,比如分析情绪和识别命名实体。这些任务不需要额外的背景知识就可以完成。

要完成更复杂和知识密集型的任务,可以基于语言模型构建一个系统,访问外部知识源来做到。这样的实现与事实更加一性,生成的答案更可靠,还有助于缓解"幻觉"问题。

Meta AI 的研究人员引入了一种叫做检索增强生成(Retrieval Augmented Generation,RAG)(opens in a new tab)的方法来完成这类知识密集型的任务。RAG 把一个信息检索组件和文本生成模型结合在一起。RAG 可以微调,其内部知识的修改方式很高效,不需要对整个模型进行重新训练。

RAG 会接受输入并检索出一组相关/支撑的文档,并给出文档的来源(例如维基百科)。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。这样 RAG 更加适应事实会随时间变化的情况。这非常有用,因为 LLM 的参数化知识是静态的。RAG 让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。

Lewis 等人(2021)提出一个通用的 RAG 微调方法。这种方法使用预训练的 seq2seq 作为参数记忆,用维基百科的密集向量索引作为非参数记忆(使通过神经网络预训练的检索器访问)。这种方法工作原理概况如下:

图片援引自: Lewis et el. (2021)(opens in a new tab)

RAG 在 Natural Questions(opens in a new tab)、WebQuestions(opens in a new tab) 和 CuratedTrec 等基准测试中表现抢眼。用 MS-MARCO 和 Jeopardy 问题进行测试时,RAG 生成的答案更符合事实、更具体、更多样。FEVER 事实验证使用 RAG 后也得到了更好的结果。

这说明 RAG 是一种可行的方案,能在知识密集型任务中增强语言模型的输出。

最近,基于检索器的方法越来越流行,经常与 ChatGPT 等流行 LLM 结合使用来提高其能力和事实一致性。

LangChain 文档中可以找到一个使用检索器和 LLM 回答问题并给出知识来源的简单例子(opens in a new tab)。

微软GraphRAG

2024 年 4 月,微软发表了一篇论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》。在这篇论文中,微软的研究人员提出了一种从文本构建并增强知识图的方法,来解决 Baseline RAG 系统在全局理解上的缺陷,例如:

  • Baseline RAG 系统在面对需要从多源信息中抽取并综合分析的情况时,会遭遇显著的障碍。具体来说,当回答一个复杂问题涉及到通过识别和利用不同信息片段之间的共享属性,来构建新的、综合性见解时,Baseline RAG 无法有效连接这些"点",导致信息整合上的不足。

  • 在要求 Baseline RAG 对大规模的数据集合或是单篇幅巨大的文档进行全面而深入的理解时,它的表现会显得较为逊色。这通常是因为它在处理大量数据时,难以有效地捕捉和理解那些被浓缩于其中的关键语义概念,从而影响了整体的理解质量。

2024 年 7 月,微软在 Github 开源了基于此种方法构建的 GraphRAG 项目代码,本文将展开介绍此 GraphRAG 项目的构建过程。并且尝试使用 Deepseek-chat 模型和 ZhipuAI 的 embedding 模型构建一个 GraphRAG 系统,使用 Neo4j 图数据库进行数据的可视化。

有兴趣的同学也可以直接访问对应的代码仓库和文档,自己动手试一试。

相关推荐
Navicat中国1 天前
Navicat 18 支持 Azure OpenAI 接入,合规 AI 赋能 SQL 开发
数据库·人工智能·microsoft·ai·azure·navicat·数据
DolitD1 天前
国产信创+实时云渲染:数字孪生智慧矿山UE5流畅推流
3d·信息可视化·云计算·图形渲染·数据可视化
数字新视界1 天前
信创机房动环监控的核心功能与智能运维管理实践
大数据·物联网·信息可视化·信息与通信·一体化机柜
2601_965619691 天前
新闻数据可视化视频:AI自动生成图表动画的完整流程
人工智能·信息可视化·音视频
张张123y1 天前
2026 Agent 框架怎么选?拆 3 层底层逻辑(运行循环 / 记忆 / 工具协议)+ 一张决策表
linux·ubuntu·microsoft·langgraph·mcp·crewai·agent 框架
霍格沃兹测试学院-小舟畅学1 天前
Playwright CLI:语义快照与局部检索,AI 如何找到正确的页面元素?
人工智能·microsoft
某不知名網友2 天前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
不爱学英文的码字机器2 天前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
kaixin_啊啊2 天前
【零基础学AI】第 15 章——数据可视化与探索
人工智能·信息可视化
龙亘川2 天前
城市公共安全治理如何从“人海战术“走向“数据驱动“?
大数据·数据库·人工智能·安全·microsoft·智慧城市·数据可视化