GraphRAG
最近几天,微软团队开源了GraphRAG,这是一种基于图(Graph)的检索增强生成方法。
先说说RAG吧,检索增强生成,相当于是从一个给定好的知识库中进行检索,接入LLM模型,让模型生成准确且符合上下文的答案,减少幻觉,根据特定的知识库进行符合知识库内容的回答。如果和模型微调进行比较,通俗点来说,RAG是给模型一本《答案全解》让它自己查,微调是给模型开辅导班补习。不过,传统RAG有一些待解决的问题,比如推理能力不足,答案不完整,准确性不足等。
知识图谱可视化示例
而 GraphRAG 的实现流程大致如下,首先将输入文本转化为文本块,让 LLM 提取知识图谱,将知识图谱聚类,基于关键词实现子图遍历。
我们直接来看看 GraphRAG 的实战测试吧。测试基于俄乌双方关于暴力事件的上千份新闻报道,文件内容比较多,而且内容之间关系复杂,无法直接放入LLM的上下文中,RAG方法是此时的最优解。团队首先测试了第一个问题:Novorossiya 是什么?
可以看到无论是 Baseline RAG 还是 GraphRAG 表现都很好,因为这种查询确实是基线RAG擅长的部分,查就完了。
但如果把问题换成:Novorossiya 做了什么?
Baseline RAG 根本没法给出答案,它的源文件中没有任何东西提到这个关键词。而 GraphRAG 让 LLM 建立了知识图谱,分析实体之间的关系,生成了很不错的答案。GraphRAG 极大的提升了 RAG 的检索能力,在捕获上下文的这个过程中可以填充更多具有相关性的内容,从而让生成的答案更具准确性。
不过有一个无法避免的问题:所有的性能改进技术,都会导致 token 的使用和推理的时间增加。但这并不影响 GraphRAG 的优秀,让我们一起期待一下GraphRAG的进一步发展吧!
项目地址:
https://github.com/microsoft/graphrag
——EOF——
福利:
后台回复【酒店】可免费领取酒店管理系统源码