GraphRAG+Ollama 结合上市公司知识图谱的LLM分析

Content

微软最新开源了LLM工具GraphRAG,除了把模型外包给了OpenAI,微软在工具层已经开源了DeepSpeed,Autogen以及GraphRAG,集齐了模型训练,agent以及RAG三大神器。

这篇论文介绍了人类在多个领域中如何依赖于阅读和理解大量文档的能力,并指出了大型语言模型(LLMs)在自动化复杂领域感知制造中的潜力。然而,现有的检索增强生成(RAG)方法在处理针对整个文本语料库的全局性问题时存在局限性,因为这些问题本质上是查询聚焦摘要(QFS)任务,而不是局部的文本检索任务。为此,作者提出了一种基于图的RAG方法,通过构建基于实体的知识图谱和社区摘要来扩展RAG系统的能力,使其能够处理更广泛的用户问题和更大量的源文本。

图检索增强生成(Graph RAG)方法及其处理流程包括:

源文档到文本块(Source Documents → Text Chunks)

  • 文本块的粒度:作者首先讨论了如何处理源文档,将其分割成适合处理的文本块。文本块的粒度是一个关键设计决策,影响着后续处理的效率和准确性。较长的文本块可以减少对大型语言模型(LLM)的调用次数,但可能会因为LLM上下文窗口的召回率下降而影响提取效果。作者通过实验展示了不同文本块大小对实体引用检测的影响。

文本块到元素实例(Text Chunks → Element Instances)

  • 元素实例提取:在这一步骤中,作者使用多部分LLM提示来识别和提取文本块中的图节点和边的实例。这包括识别文本中的所有实体及其名称、类型和描述,以及识别实体之间的关系,包括源实体和目标实体及其关系的描述。

  • 领域定制:通过为LLM提供少量示例,可以定制提取过程以适应特定领域的知识。例如,科学、医学或法律领域的文档可能需要专门的示例来提取相关的实体和关系。

  • 多次提取(Gleanings):为了提高提取的准确性,作者采用了多轮“gleanings”(即多次提取)的方法。LLM首先被要求评估是否所有实体都已被提取,如果有遗漏,则继续提取遗漏的实体。这种方法可以在不引入噪声的情况下使用较大的文本块。

元素实例到元素摘要(Element Instances → Element Summaries)

  • 抽象性摘要:在提取了实体、关系和主张的实例后,下一步是将这些实例转换为每个图元素的描述性文本块。这涉及到对LLM生成的摘要进行进一步的LLM摘要,以确保每个图元素都有一个统一的描述性文本。

  • 实体一致性:作者指出,尽管LLM可能以不同的文本格式提取同一实体的引用,但通过社区检测和总结,可以确保在图索引中对这些实体有一个一致的表示。

元素摘要到图社区(Element Summaries → Graph Communities)

  • 图模型:在这一步骤中,作者将之前步骤创建的索引建模为一个同质无向加权图,其中实体节点通过关系边连接,边的权重表示检测到的关系实例的归一化计数。

  • 社区检测:使用社区检测算法(如Leiden算法)将图划分为社区,这些社区中的节点彼此之间的连接比与图中其他节点的连接更强。这种层次化的社区结构为全局摘要提供了一种分而治之的方法。

图社区到社区摘要(Graph Communities → Community Summaries)

  • 社区摘要生成:作者介绍了如何为Leiden算法生成的每个社区创建报告式的摘要。这些摘要不仅有助于理解数据集的全局结构和语义,还可以用于回答全局查询。

  • 摘要方法:对于叶级社区,元素摘要按优先级顺序添加到LLM的上下文窗口中,直到达到标记限制。对于更高级别的社区,如果所有元素摘要能够适应上下文窗口,则进行总结;否则,通过替换较长的元素摘要为较短的社区摘要来适应上下文窗口。

社区摘要到社区答案再到全局答案(Community Summaries → Community Answers → Global Answer)

  • 多阶段生成:给定用户查询,社区摘要可以用于生成最终答案的多阶段过程。作者讨论了如何准备社区摘要,生成中间答案,并最终汇总这些答案以生成全局答案。

  • 层次性:社区结构的层次性允许使用不同层次的社区摘要来回答查询,作者评估了不同层次的社区摘要在回答问题时的效果。

GraphRAG公司分析

接下来展示一个用GraphRAG结合本地ollma分析上市公司的案例:

首先下载GraphRAG代码:

git clone https://github.com/microsoft/graphrag.git

同时可以下载graphrag的UI工具:

git clone https://github.com/severian42/GraphRAG-Ollama-UI.git

按照教程安装好所需包之后,在settings.yaml中设置好ollama的api_base以及model即可将gpt4替换为本地LLM,如果运行效率较慢,也可替换为qwen,deepseek等国产性价比更高的模型。

将文本材料放在./ragtest/input之下,这里我用的达梦数据的招股说明书。运行以下命令构建知识图谱,运行时间较长,我本地4090运行llama3:8b耗时一小时左右:

python -m graphrag.index --init --root ./ragtest

这里需要注意,GraphRAG-Ollama-UI在UI端也可以运行indexing命令,但是Windows下会遇到编码问题,建议直接在命令行运行。

运行结束后,会得到知识图谱文件:

可在前端直接查看,可以看出,系统已经自动建立好了关于达梦数据的知识图谱,在对大模型对话时,可以利用知识图谱的内容结合RAG提高模型效果

大模型对话:

相比于传统vectorDB RAG, GraphRAG能够更好的获取全局关系信息,在回答的准确性上会有一定的提升,同时基于graph能够发掘许多隐含关系。更多的应用欢迎加入星球交流讨论。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值