GraphRag是一项非常非常重要的技术,尤其是对于垂直领域的小模型而言,它是一项极具价值的技术,本文会结合算命神书「三命通会」细说。(为什么不选热门的书,因为大模型会使诈,仅仅利用自己本身的知识而非知识库去回答)在4o-mini模型还没放出的时候,许多测评人用4o的API拆解微软的测试例子(大概3万字)花了大概7-11刀左右。现在我通过4o-mini的API用GraphRag拆解了三命通会的基础篇作为知识库,(一共2万5千字)
GraphRag支持本地部署,部署过程非常简单,微软官方一步一步教学,有算力的可以用ollama更省钱,项目地址在文末。


相比普通RAG片面零碎的搜索,GraphRAG的回答非常详细,引用了「三命通会」文中的六处的内容,并且都标明引用的出处。
为了确定它是不是在瞎编内容,我把三命通会的原文和回答扔给Kimi帮忙鉴别:


总结来说,回答并没有瞎编,而是结合文档内容拓展性地引用,这就是GraphRAG的厉害。从RAG推出以来我发现智能体的知识库的功能是相当鸡肋的,而GraphRAG非常有效地解决了RAG搜索知识库不够全面和智能的问题。普通RAG只会寻找与水相关的索引,找到一些零散的信息给你。这种搜索的方式往往比较简单直接,比如它刚刚只是找到了一个很简单的五行相克的知识。水有时候可以反过来生金。水能克火,但如果火势太大,用一桶水就浇灭不了它,反而会使火烧得更旺,这就叫火大水干,也就是火克水。更像一个超级助手,它不仅帮你找到关于水的片段,还会片段之间的关系也找出来,就像它们在知识图谱中的位置一样,然后通过社区建立片段之间的联系和联系的层级。此外,水在五行理论中与癸水相关,癸水作为阴水元素,具有流动性和适应性,影响着五行系统的平衡与动态。水与土元素(戊己土)之间的关系也非常重要。水与土的互动形成了动态平衡,影响着个人的命格和财运 [Data: Reports (53, 60, +more)]。GraphRAG的核心就就在知识图谱(实体)-社区-层级关系。知识图谱是一个图形结构,其中包含了各种实体(比如人、地点、事件等)以及它们之间的关系。模型判断「阴阳」是一个概念,「光宗耀祖」是一个事件,「滴天髓」是一个组织:
在知识图谱中,社区指的是一组彼此关系更密切的实体。- 层级关系 (Hierarchy of Relationships)GraphRAG使用不同的层次来描述实体或社区之间的关系。模型会判断「阴阳」和「五行」之间的关系,输出相关权重:

这三个元素让有GraphRAG能够理解复杂关系的任务,具有:
此外这三个元素BOT的提示词在项目中也有详细的给出,有能力的可以研究下怎么通过工作流去复现。

我认为普通RAG倒不至于被淘汰,两者都有其存在的价值和适用场景。- RAG适用于需要广泛信息覆盖和时效性的生成任务,例如,在新闻摘要、问答系统、客服对话中,RAG可以提供基于当前情境的最相关和最及时的回答。- GraphRAG则更适用于需要深入理解和分析复杂关系、多层次结构的生成任务,如知识推理、故事生成等。以上是我今天的一点思考,
全文无广,谢谢阅读。
觉得写得好可以给个赞赏。
https://microsoft.github.io/graphrag/posts/get_started/
没有评论:
发表评论