AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


知识图谱与大模型 Part 2:基于Neo4j的大型语言模型(LLMs)的知识图谱集成技术
发布日期:2024-06-27 03:46:14 浏览次数: 1913



导言

大模型刚火起来的时候, 很多人认为知识图谱没前途了,会被大模型代替,因为知识已经被学到大模型肚子里了。跑了半天后,发现不是那么回事,发现大模型和知识图谱就是两个层面的东西, 从我的角度:

  • 知识图谱更偏加工出来的产品, 这个产品既可以用到其他场景, 也可以反过来提升大模型的准确性

  • 大模型即可以作为工具加工生产知识图谱, 也可以使用知识图谱提升自己的准确性。 


阅读本系列将了解如何使用大模型自动构建知识图谱

知识图谱与大模型 Part 1:使用大型语言模型自动进行知识图谱构建

关注公众号,后台发送"Neo4j"获取相关文档

LLMs和Neo4j知识图谱增强数据交互性及准确性

介绍

自从OpenAI在2023年推出了基于大型语言模型(LLM)的ChatGPT聊天机器人以来,它引发了一场技术浪潮。

这些模型能够理解和生成类似人类的文本,可以适应各种对话环境,并回答广泛范围的问题。

它们甚至模拟人类行为,彻底改变了人类与机器交互的方式。

人们现在使用这些模型来进行文章摘要、重写电子邮件、问答等任务,引发了人工智能(AI)领域的新应用浪潮。

然而,这些LLM模型也带来了一些挑战,比如生成不准确的信息(幻觉)、缺乏可解释性和特定领域的限制,这些都可能阻碍它们的实际应用。

为了解决这些问题,以其复杂的分析能力、结构化表示和语义查询功能而闻名的知识图可以与LLM模型集成。

这里需要简单说明一下,在大模型刚出来的时候,人们认为说大魔仙已经学到了足够多的知识,到他的肚子里边,所以知识足够就没有前途了,一开始开始我也认为是这样的,但后来觉得不是那么回事,他们根本就是不是一个层面的东西

这种集成增强了AI系统的智能,从而产生更精确和可靠的输出。    

LLM首先在广泛数据集上进行预训练,然后针对特定应用进行微调的大型通用语言处理模型。


要了解更多关于LLM的信息,请阅读文章:大模型 细节综述

或关注公众号, 后台搜索"大模型", 获取更多文章


知识图捕获了领域中主要实体和它们之间的关系的信息。


Neo4j是一个图数据库管理系统。它采用基于图的模型,组织数据库节点、属性和关系。

P.S. 此处换成其他的图数据库, 都是OK的。

帮助LLM模型和知识图集成的标准方法被称为检索增强生成(RAG)。

我们已经在文章RAG中讨论了RAG可以如何有效地用于检索信息和生成响应的各种方式。

在本文中,我们将探讨知识图与Neo4j和LLM模型的集成及其应用。


框架

与其让用户直接与LLM孤立地交互,我们引导LLM在提出问题时从Neo4j的知识图中检索数据。

这种方法使模型能够提供更丰富和更准确的响应。

通过利用Neo4j的知识图,我们不仅减少了模型可能生成误导性或无关信息的情况,还增强了响应的可解释性和可追溯性。

这种场景在金融或者医疗,这样需要有特别强数据准确性的场景是非常必要的

与其他解决方案相比,这使得Neo4j成为集成RAG技术的特别强的选择。


为了充分利用Neo4j在LLM应用中的优势,采用了如下结构化方法:    


数据检索:当用户使用自然语言查询时,LLM与Neo4j交互以获取相关数据,将响应基于经过验证的信息,并减少不准确性的可能性。
响应准确性和可靠性:通过集成知识图,LLM生成的响应不仅更准确,还包括可以追溯到具体数据实体及其相关关系的解释,增强了它们在实际应用中的可靠性和实用性。


案例

LLM 图构建器

Neo4j LLM 知识图构建器 旨在将来自各种来源(如 PDF、YouTube 视频和网页)的非结构化文本转换为结构化知识图。

该工具支持包括 YouTube 和维基百科在内的各种输入平台,以及云存储服务,如 Amazon S3 和 Google Cloud Storage(GCS)。

此外,用户还可以直接上传 PDF 文件或其他文件类型,增强了可以处理的数据的灵活性和广度。它采用了领先的大模型技术,如 Google Gemini、Diffbot 和 OpenAI GPT,将文本内容转换为一个实体节点,它们的关系表示为链接的网络。

要进一步探索此应用程序,可以通过此图构建器链接访问。

该工具非常适合从多个数据源创建详细的知识图谱

该过程涉及将文档分成段落,为每个段落生成Embedding,并利用 LLM 从这些段落中识别和提取实体及其关系。

例如,使用 OpenAI 的 GPT-4 模型处理了维基百科关于 Neo4j 的文本,结果时成功从维基百科内容中提取了 24 个节点和 16 个关系。



要可视化图形,只需将其连接到 Neo4j 数据库。这样可以有效地显示和分析知识图中的关系和实体。


   

GraphRAG

GraphRAG 系统利用从SEC filings(提交给美国证券交易委员会(SEC)的财务报表或其他正式文件)衍生的知识图谱,利用 Neo4j 的向量索引和LangChain(旨在简化使用 LLMs 创建应用程序的框架)进行了额外的公司数据丰富, 以提供 RAG 聊天机器人。

该聊天机器人可以回答有关 SEC 提交的查询,并提供有关公司的补充信息。有关实际演示,请参阅GraphRAG 演示

为构建 Neo4j 知识图谱,信息被组织成节点和关系。

对于像 10-K filings 这样的非结构化数据,该方法涉及创建“文档”节点。

每个文档节点对应于来自 10-K 提交的文本段,利用 GenAI 服务的嵌入模型为这些节点生成向量,后者随后促进了向量搜索功能。

对于半结构化的 Form 13 filings,系统采用 Cypher 模板以结构化方式输入数据,创建“公司”和“经理”节点,并在它们之间建立“拥有”关系,同时链接回文档。

此外,摄取 Form 13 的另一种方法使用了来自 GenAI 服务提供商的 LLM 驱动的命名实体识别,提供了一种更强大的处理可能格式不正确、不一致或半结构化 XML 的提交的方法。



NeoConverse

NeoConverse 是一个通过自然语言查询使图数据库对非技术用户可访问的应用程序。

它利用LLM来解释用户问题并将其转换为Neo4j图数据库的Cypher查询。这个过程涉及利用图数据库架构、样本问题语句和模型微调来确保准确性和相关性。一旦查询被制定,它会在执行之前经过验证,然后针对数据库执行。然后,这个查询的结果被反馈到LLM中,LLM会以自然语言形式表达结果,清晰地传达给用户。

另外,NeoConverse可以配置LLM使用查询结果来生成数据和配置,用于可视化表示,比如图表,增强信息的可解释性和呈现方式。    

NeoConverse的过程:

  • 提问:用户提出关于存储在Neo4j中的企业数据的自然语言问题。

  • 上下文设置:NeoConverse通过提供存储在Neo4j数据库中的架构信息和一些相关数据示例来准备LLM,以指导模型。

  • 查询生成:LLM使用提供的上下文生成Cypher查询,用于检索所需的特定信息。

  • 查询执行:查询被优化、格式化,并针对Neo4j数据库执行,以获取相关数据。

  • 响应创建:使用检索到的数据,LLM根据原始查询制作详细和准确的响应,确保答案与用户的数据直接相关。

通过利用内部数据,NeoConverse赋予LLM更准确和相关的答案,以满足企业环境中用户查询的需求。


NeoConverse的主要功能

可定制的Neo4j数据库代理:用户可以将他们自己的Neo4j数据库连接到NeoConverse,将这些数据库转换为可以用简单英语交互的对话代理。这包括配置架构信息以为LLM提供上下文,添加少量示例以增强模型理解,并通过自然语言界面动态与数据库交互。    

可视化数据表示:除了文本交互,NeoConverse还支持从自然语言查询生成图表可视化。这使用户不仅可以提问,还可以看到他们的数据以可视化方式呈现,有助于更好地理解和展示数据。


GenAI Stack

GenAI Stack 是一个协作工具,于 DockerCon 2023 年推出,集成了来自 Docker、Neo4j、LangChain 和 Ollama 的技术。它旨在增强数据处理和人工智能能力,特别是在有效管理和查询大型数据集方面。

   

GenAI Stack 的工作流程如下:当用户提出问题时,系统首先使用矢量索引进行相似性搜索,以根据语义相似性找到最接近用户查询的文档或数据条目。这项任务由配备 Ollama 技术(一种强大且用户友好的在本地机器上运行 LLM 的平台)的本地 LLM 来处理和有效理解自然语言输入。

然后从结构化的 Neo4j 数据库中获取相关文档,该数据库使用矢量索引和知识图的组合来组织数据。LLM 分析这些文档以生成准确且与上下文相关的响应,随后将其传递给用户。


GenAI Stack 的关键特性如下:

设置:它允许使用 Docker 设置本地或远程 LLM、Neo4j 数据库和 LangChain 演示应用程序。

模型集成:用户可以根据需要获取 Ollama 模型和句子转换器。

数据管理:该堆栈支持按标签导入 StackOverflow 的问题和答案,并支持为这些项目创建知识图和矢量嵌入。

Embedding创建:它可以为问题和答案创建知识图和vector的 embedding。

应用程序开发:该堆栈具有 Streamlit 聊天应用程序,具有矢量搜索和 GraphRAG 答案生成功能,旨在增强用户交互。

支持票生成:它可以根据 StackOverflow 上未回答的问题创建“支持票”,考虑现有问题的相关性和质量。

PDF 交互:PDF 聊天功能支持加载 PDF、分块文本、索引矢量和搜索以生成答案。

软件架构:它包括用于开发具有矢量搜索和 GraphRAG 集成的强大聊天应用程序的 Python 后端和 Svelte 前端。


结论

总的来说,将大型语言模型(LLMs)与Neo4j知识图谱集成,代表着在利用人工智能增强数据互动性和精确性方面的重大进展。

这种组合不仅解决了与LLMs相关的局限性,比如生成不准确的信息(幻觉)和缺乏可解释性,而且最大限度地发挥了这两种技术的优势。

通过将LLM的响应基于来自Neo4j的结构化、可查询的数据,我们可以实现更可靠、具有上下文准确性和可访问性的输出。    

然而,这种集成并非没有挑战。一个主要关注点是成功合并这些复杂技术所需的增加的复杂性和计算需求。

此外,这种集成的有效性并非普遍适用,因为它在很大程度上取决于知识图的质量、深度和广度。在知识库有限或偏向特定领域的情况下,与Neo4j等基于图的知识图集成的性能可能不会超过传统的RAG方法,并且相关成本可能会相当高,因为组织知识图需要大量的时间和资源。

尽管存在这些挑战,这种创新的集成承诺增强人工智能系统更有效地模拟人类认知和发现能力。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询