亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

微軟開源GraphRAG:增強文檔理解的新利器

原文链接

我一直在Reddit上看到关于GraphRAG的帖子,但直到大约一个月前,我才决定试一下。试用了一段时间后,我觉得它相当令人印象深刻,特别是如果你使用OpenAI API的话,成本也很高。在文档中提供的样本书上的测试大约花费了我7美元,虽然它的性能和组织能力都很不错,但价格并不实惠。

如果你刚接触RAG系统,可以看看一些入门资料。

Anthropic的新型RAG方法:大模型的兴起 RAG从零开始我是一名做机器学习的工程师,经常用Claude或ChatGPT帮我写代码。不过,在…pub.towardsai.net

总的来说,这是一份关于传统账簿系统的工作原理的概览。

作者供图

如果你已经熟悉RAG,你可能跟我一样遇到了不少烦恼。

  • 文本块之间的上下文丢失了
  • 随着文档数量的增加,性能会变差
  • 集成外部知识就像盲人解魔方一样困难
GraphRAG是如何运作的

来自作者的想象,

GraphRAG 是传统 RAG 的升级版,主要分为两个阶段:

索引这一步骤:
  • 将源文档拆分成更小的子文档(类似于传统RAG)开始,
  • 执行两个并行提取,
  1. 实体提取:识别实体,如人名、地名、公司名等
  2. 关系抽取:找出实体在不同部分或文档之间的关联
  • 创建一个知识图,其中节点代表实体,边代表它们之间的关系
  • 通过识别紧密相关的实体来构建社群
  • 生成跨越不同社群层级的层级摘要(三个层级)
  • 通过reduce-map方法逐步整合各部分,最终形成全面概览
查询:
  • 接收用户的查询请求
  • 根据用户需求选择合适的社区层级
  • 在社区层级进行搜索(而不是像传统RAG那样在块级别进行)
  • 通过查看社区摘要生成部分回答
  • 整合来自多个相关社区的部分回答,形成最终的全面回答

图谱RAG的关键创新点在于它将信息结构化为基于图的形式,并利用社区检测来生成更具上下文意识的回复。不过,传统的RAG系统仍然有其用武之地,尤其是在考虑到运行图谱RAG的计算成本时。

开始设置 GraphRAG

⚠️ 快速提醒:使用的是GPT-4模型,这可不便宜。我测试运行的成本大约是7美元。

如果你更愿意在本地的LLM上使用ollama测试,请看下面的视频。

我们现在就一步步地设置:

环境配置

第一步是创建一个虚拟的开发环境。

运行以下命令来创建和激活名为GraphRAG的conda环境:
conda create -n GraphRAG  # (运行此命令来创建名为GraphRAG的新conda环境)
conda activate GraphRAG   # (激活名为GraphRAG的conda环境)

安装 GraphRAG 包(或软件包):

添加图谱的pip包:pip install graphrag

文件夹结构

GraphRAG 在最佳运行时需要特定的目录结构:
-创建一个工作目录
-在该目录下创建一个 ragtest/input 文件夹结构
-将您的源文件放在输入文件夹中

我们将使用提供的书籍,并具体来说,使用下面的命令将其下载到输入文件夹里:

% 使用curl从https://www.gutenberg.org/cache/epub/24022/pg24022.txt下载文件并保存到./ragtest/input/book.txt。
设置

初始化您的工作区,可以使用:

请在此处输入初始化命令

例如:

# 样例命令
# 初始化索引并设置根目录为 target
python -m graphrag.index --init --root ./target

这会创建一些必要的配置文件,比如 settings.yml,你需要在这里做以下几件事:
- 输入你的 OpenAI API 密钥
- 调整模型设置(默认使用 GPT-4 和 OpenAI 的嵌入)
- 如有需要,调整分块大小(默认为 300 个 token)和重叠量(默认为 100 个 token)

构建知识图谱

运行索引程序。

运行以下命令初始化索引目录:

python -m graphrag.index --init --root ./target
查询您的图数据:

GraphRAG 提供两种主要查询方式:

全球查询

python -m graphrag.query --root ./target --method global 「这个故事中的最重要主题是什么」

非常适合应对关于主题和整体内容理解的广泛问题类型。

本地搜索

python -m graphrag.query --root ./target --method local “这个故事中的主要主题是什么”

非常适合用来询问文档中具体实体和关系的问题。

成本考量:真的值得吗?

咱们来说说数字吧。在我的测试中,使用样本书时,GraphRAG的表现如下所示:

  • 大约 570 次 GPT-4 API 调用请求
  • 大约 25 次嵌入调用
  • 处理了超过 100 万个 token

每本书大约损失7美元

资源

https://www.microsoft.com/zh-cn/research/blog/graphrag/

GitHub - microsoft/graphrag: 一个模块化的基于图的RAG系统 - microsoft/graphrag
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消