基于GraphRAG与GPT-4o mini低成本完整构建AI图谱知识库实用指南
更高的性价比,是否让你觉得像天方夜谭? 局限 首先,我们来了解一个关键词:RAG。 简而言之,RAG(检索增强生成)的核心思路是把长文档切分成多个较小的段落或片段。这主要是因为大语言模型的上下文窗口容量有限,无法一次性处理超过窗口长度的信息。 当用户提出问题时,RAG 技术会先从这些片段中检索相关内
更高的性价比,是否让你觉得像天方夜谭?
局限
首先,我们来了解一个关键词:RAG。
简而言之,RAG(检索增强生成)的核心思路是把长文档切分成多个较小的段落或片段。这主要是因为大语言模型的上下文窗口容量有限,无法一次性处理超过窗口长度的信息。
当用户提出问题时,RAG 技术会先从这些片段中检索相关内容,依据问题与片段之间的相似度,筛选出若干最相关的片段,将它们拼合成一个上下文,再连同问题一起交给大语言模型,期望模型给出「更精准」的答案。
不过,我们得看到其中的潜在短板。面对篇幅较长、问题复杂的场景,仅靠这几个仅凭相似度匹配出的片段很可能不够用。真正的答案,或许根本就不在这些片段里。
之前我们讨论过不少私有知识库的案例,比如 Quivr、Elephas、GPTs、Obsidian Copilot……使用时间一长,你会发现通过私有知识库得到的回答,与用数据微调模型获得的结果往往大相径庭——微调后的模型能基于私有数据回答复杂问题,而 RAG 这种简单粗暴的拼接方式,很多情况下给出的答案并不令人满意。
图谱
正是这些问题催生了 GraphRAG。GraphRAG 是一项创新技术,它将知识图谱结构与 RAG 方法结合,旨在突破传统 RAG 的局限性。
这款由微软研发的新产品,代表了 RAG 技术的最新进展。微软还发布了相关学术论文,详细阐述了 GraphRAG 的理论基础与技术实现。
那么,这里的“图”究竟指什么?在 GraphRAG 的主页上,你会看到一个复杂的图谱。这不仅仅是一张示意图,它代表知识的结构化呈现。图谱中的每个节点可以对应一个概念或实体,而节点之间的连线则表示它们之间的关联。
举个例子,假定图谱中有个节点叫「老虎」,另一个叫「兔子」,两者之间连一条线,标上「吃」,就表示「老虎吃兔子」的关系。当然,这只是一个不太严谨的类比。
有了这样的图谱,为什么还要与前面提到的 RAG 结合呢?因为原先那种「满地找碎片」的传统 RAG 方式效果欠佳,所以我们希望通过图谱把这些概念之间的复杂关系呈现出来。查询时,不再是大海捞针般寻找「可能相关」的信息碎片,而是依据图谱中已经掌握的关联,提取出一整串相互连接的信息,交给大语言模型统一处理。
这是 GraphRAG 的 GitHub 地址。它在 GitHub 上的热度如何?已经超过一万一千颗星。
对于一个项目而言,这是相当亮眼的成绩,任何开发者都希望自己的项目能达到这样的水平。
特点
我们来分析 GraphRAG 的特点。它融合了人工智能的两大流派——深度学习和知识图谱。
这两个流派曾经互相排斥。后来发现何必对立呢?
单用深度学习直接回答效果不佳,但如果结合图谱,效果就会显著提升。
另一方面,构建知识图谱以往需要人工根据规则抽取实体和关系,这是一项费钱费力的事情。后来发现利用深度学习可以有效提升实体抽取效率。尤其是大语言模型出现后,抽取实体和关系变得更加准确、简单且成本低廉。因此,两者的融合是大势所趋。
那么融合后的 GraphRAG 擅长什么?它能够将实体之间的复杂关系和上下文串联起来。
正如刚才提到的过程,它可以连接多个信息点进行复杂查询。这种查询不是单纯提取部分信息就能完成的。过去依靠相似度找出来的那些信息碎片,很可能根本不足以支撑问题解答。而现在,根据实际关联获取相关信息,效果要好得多。
此外,GraphRAG 由于对数据集有了整体刻画,概念语义信息得到了充分表达。
这两个特点相互加持,使 GraphRAG 的表现有了非常显著的提升。后面的例子中,你也能看到这一点。
不足
不过,这项技术并非完美无缺。它遇到的最突出问题,概括起来就是一个字——贵。
官方样例提到一本书,稍后我们会看到,实体书大约 200 页。把它构建成图谱化 RAG,需要花费多少钱?
11 美金。
有人觉得太贵了,为索引一本电子书花的钱都快赶上实体书的价格了。
那么有没有解决办法呢?我们需要分析原因。
GraphRAG 实施成本为什么这么高?因为它使用的是 GPT-4 Turbo Preview 模型。这个模型的 token 成本较高,而在图谱构建过程中需要反复调用它,导致 GraphRAG 成本居高不下。
既然找到了原因,我们是否可以用一个更经济的模型来替代它?
这是一个很自然的思路。很多人已经尝试过了。例如,有人试图在本地运行 Ollama 等小型模型,但最终效果欠佳,构建过程中经常出现问题。
有人用 Groq 实现了,但需要做很多复杂的配置调整,对初级用户来说十分麻烦。
最简便的方法,当然是期待 OpenAI 推出一个更经济实惠的模型。
盼望着,盼望着,好消息来了。
OpenAI 最近推出了 GPT-4o mini 模型。
别被名字迷惑了——GPT-4o mini 的对标模型其实是 GPT-3.5 Turbo,但它甚至比 3.5 Turbo 还要便宜 60%。
不得不佩服 OpenAI 现在的命名策略。如果把它叫做 GPT 3.5 Turbo Plus,效果可能就不好,因为人们会觉得这不过是个改进版的 3.5 而已,虽然便宜一点,但依然不太满意。
叫它 GPT-4o mini,人们就会自动脑补这是一个好模型——多模态、快速又便宜。大家会觉得自己占了便宜,竟然能用上一个与 GPT-4o 对标的模型,而且还比原来的 3.5 便宜那么多,怎么看都是个划算的买卖。
拿到 GPT-4o mini 的使用权限后,我立刻测试了它的中文写作能力。测试结果如下。
不过别误会,GPT-4o mini 毕竟是个小型模型,你可以信赖它的中文输出能力,但千万别以为它的推理与逻辑思考能力也能赶上 GPT-4o 或 Claude 3.5 Sonnet。所以要在工作流里把它放在合适的位置上,物尽其用。
突然想到,GPT-4o mini 不仅能用来输出文字,还能与 GraphRAG 组成「双剑合璧」啊。
想到这里都兴奋不已,那咱们下面就来实际看看效果如何。
安装
首先,我们需要安装 GraphRAG,这里使用 pip install,非常简单。
pip install graphrag
它会安装一系列依赖,包括 GraphRAG 所需的各种库和工具。安装过程可能需要一些时间,具体取决于你的网络速度和电脑性能。
安装完成后,找一个目录,新建一个目录,然后在下面执行这条命令。
mkdir -p ./ragtest/input
这里的 input 就是存放输入文本的地方——比如刚才提到的 200 页的书籍或文章。
在 Visual Studio Code 下演示会更直观。
执行这条命令后,侧边栏会出现一个新文件夹。
接下来,我们要下载书籍资料。这里 GraphRAG 官网样例使用的是古腾堡计划,上面有很多免费图书。古腾堡计划是一个致力于创建和分发免费电子书的志愿者项目,提供了大量版权已过期的经典文学作品。
GraphRAG 官网给的样例是《圣诞颂歌》,查尔斯·狄更斯创作的一部著名小说,讲述了一个守财奴在圣诞节前夜经历的奇妙故事,最终改变了自己的人生态度。
执行下面这条命令即可下载:
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt > ./ragtest/input/book.txt
查看了一下,下载的文件在本地显示为 189KB。大吗?对于文本来说,不算太小。不过相对于今天动辄上 GB 的存储内容来说,真不算大。
下载完成后,我们需要进行初始化。
python -m graphrag.index --init --root ./ragtest
这个步骤是为了设置 GraphRAG 的基本环境和配置,确保后续操作能顺利进行。
执行很快,因为这里面不做任何实际索引操作,只是新建几个文件和文件夹。
刚才有一个 input 是你自己建的,现在 GraphRAG 创建了 output 文件夹、prompts 文件夹,以及两个设定文件。
我们先设置这个 .env 文件,里面需要填入一些配置。这些配置通常包括 API 密钥、模型选择等重要参数,对 GraphRAG 的正常运行至关重要。
你只需将 OpenAI 提供的 API 密钥填入 GRAPHRAG_API_KEY 即可。
另外,settings.yaml 文件也需要修改。
这里面有一项尤其需要注意。原来默认使用的是 GPT-4 Turbo preview,这里一定要改为 GPT-4o mini,因为我们要尝试降低成本。其他设置无需更改。
接下来我们来建立索引。回到终端,执行以下命令。
python -m graphrag.index --root ./ragtest
这条命令会建立一个图谱化的知识库。这个过程花了足足五分钟,这里就不详细展示了。
查询
终于,图谱构建完毕。下面我们做一个查询。
python -m graphrag.query --root ./ragtest --method global "What are the top themes in this story?"
注意这里使用的 global(全局)选项,代表我们对整本书提问。我们问的是:这个故事有哪些最主要的主题?
来看一下结果。
结果显示了若干主题,每个答案后面都有一系列的内容来源编号,这一点很重要。它强调大语言模型没有产生幻觉,而是确实利用你提供的资料来给出答案。
为了让你看得更清楚,我们把上面的答案翻译一下。这里使用的是吴恩达老师的三步反思翻译法。
为了让 AI 工作流更简单,我们准备了一个工具,并将其开源在了 GitHub 上。这个项目可以帮助快捷地执行工作流程,包含一系列预设的脚本和配置文件,让你能轻松地设置环境、运行查询。
这个项目不仅能提高效率,还能确保工作流程的一致性。你可以将复杂的工作流程简化为一个配置文件,清晰定义每一步,使整个流程更加透明和可管理。
这就是一个配置文件的例子。
这里说你要进行三步操作,这三步操作构成了一个完整的工作流程。
第一步是执行一个叫做“翻译成中文”(translate_cn) 的工作提示词,目的是将输入的英文内容转换为中文。输入来自用户提供的信息,模型调用的还是 GPT-4o mini。
第二步是对刚才的翻译结果进行评价,确保翻译质量,通过客观评价识别可能存在的问题或改进空间。它的输入相对多一些,除了原文,还应该包括刚才第一步给出的直译结果。为保证修改建议的有效性和可靠性,我们使用思辨能力更强的 Claude 3.5 Sonnet 模型。
第三步则是综合原文、直译和反思建议,进行精细翻译。这里我们仍然使用 GPT-4o mini 模型,以降低成本,提升输出速度。
这种方法的优势在于它的灵活性和可定制性,你可以根据具体需求调整每一步的提示词,从而优化整个工作流程。具体安装和使用方式,请参考相关文档。
闲言少叙,我们来看翻译的结果。这个结果是经过刚才描述的三步工作流程处理后得到的。通过这个例子,你也可以直观感受到工作流的效果。
验证
我们该不该相信这个结果?尽管在回答中,GraphRAG 给出了来源片段信息,但这还不够。
假设你根本没有读过狄更斯的这本小说,该如何验证刚才给出的答案呢?
你可以写一个提示词:
你是一名资深英语文学教师,现在你就狄更斯小说 "A Christmas Carol" 提出来了一个问题 "What are the top themes in this story?",下面我提供给你的文档,是一个学生的回答。请你根据你对这本小说的理解,一段段核对,看答案是否有事实性错误,以及是否有可改进的地方
然后,把这个提示词,连同刚刚 GraphRAG 给出的结果(英文即可)交给 Claude 3.5 Sonnet。
然后,这是 Claude 3.5 Sonnet 给出的回答质量分析结果。让我们来看看它的评价。
Claude 3.5 Sonnet 给出总体评价:这是一个非常优秀的分析。这个结果证明了我们利用知识图谱进行检索的方法非常有效。到此为止,我们是否可以完全相信这个答案呢?
当然不行。
刚才看到的是大语言模型基于自己训练时对数据的记忆得出的结果,这依然可能会产生幻觉。因此,我们需要让 AI 连接网络进行查询,以验证信息的准确性。
在这方面,一个比较好的工具就是 Perplexity。它能够进行网络查询,验证信息的准确性。
首先,Perplexity 会查找与输入内容相关的信息,列出多个相关的信息来源。然后,Perplexity 会核对主题识别的准确性。
在 Perplexity 的分析中,可以看到它使用了这些词语来评价:准确地捕捉、准确地识别、很好的捕捉、准确地指出、很好的总结。它还指出没有明显的事实性错误,主题的选择和分析都很到位。
通过这两种方法的交叉验证,我们对大语言模型根据我们的图谱式知识库给出的答案就更有信心了。
成本
使用这种方法的成本如何?
打开 OpenAI 控制台查看,一开始吓了一跳——今天的账单又起飞了?
好在仔细一看,实际花费仅仅 0.28 美金。下面是明细。
有 0.05 美金(将近五分之一)是用于语音识别的,这与我们当前的任务无关。
换句话说,我们用于总结这本书、构建知识图谱型知识库,以及进行查询的实际花费是多少呢?仅需 0.23 美金。
考虑到使用官方样例花费 11 美金,你会发现 GPT-4o mini 带来的成本改善令人惊叹。
小结
通过本文的讲解,可以发现 GraphRAG 技术能帮助我们更准确地回答全局性的复杂问题,这对许多应用场景来说至关重要。
进一步,结合 GPT-4o mini 模型,不仅提高了处理效率和速度,还有效降低了成本。对于个人用户、研究人员和企业来说,这都是一个好消息。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:基于GraphRAG与GPT-4o mini低成本完整构建AI图谱知识库实用指南要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点零跑汽车官方宣布,旗下全新C10、C11及C16三款SUV车型将于6月16日正式发布。此次发布前,官方公布了新增的“云栖金”外观与“砂岩棕”内饰配色方案。这三款新车的推出,标志着零跑汽车进一步扩充其C系列产品线,旨在通过差异化的车型布局满足市场多样化的需求。具体车型的详细配置与价格信息,需等待发布会
西悉尼大学一位副校长使用AI撰写了一篇劝诫学生勿依赖AI走捷径的评论文章,该文章后被AI检测工具识别为AI生成。校方辩称这是对AI的适当使用,是基于教授本人的大量原创材料。然而,刊登该文章的《悉尼先驱晨报》因其政策禁止使用AI撰写发布文章且未获事先告知,已将文章撤下并展开调查。此事凸显了AI工具
小米官方宣布,即将于6月8日发布的17T系列手机将支持全新「徕卡Live动态照片」功能,提供「徕卡经典」与「徕卡生动」双画质选择,并配备专属LiveMoment水印。新机全系支持5X 10X长焦动态照片,并新增徕卡Live实况拼贴功能与三种运镜模式,旨在提升动态影像的创作体验。该系列包含17TP
欧洲议会近日决定,将其内部电脑的默认搜索引擎从谷歌更换为法国的Qwant。官方表示此举旨在践行维护数字主权和保护用户数据的承诺。Qwant被定义为注重隐私的欧洲搜索引擎,避免追踪用户。这一决定源于欧洲议员长期推动减少对美国技术依赖的压力,去年曾有跨党派议员小组致信议长,敦促淘汰外国技术以克服战略弱点
- 日榜
- 周榜
- 月榜
热点快看
