LLM 知识图谱构建器是Neo4j 的 GraphRAG 生态系统工具之一,可让你将非结构化数据转换为动态知识图谱。它与检索增强生成 (RAG) 聊天机器人集成,可实现自然语言查询和对数据的可解释洞察。
什么是 Neo4j LLM 知识图谱构建器?
Neo4j LLM 知识图谱构建器是一款创新的在线应用程序,无需代码和密码即可将非结构化文本转换为知识图谱,提供神奇的文本到图形的体验。
它使用 ML 模型(LLM:OpenAI、Gemini、Diffbot)将 PDF、网页和 YouTube 视频转换为实体及其关系的知识图谱。
前端是一个基于我们的Needle Starter Kit的 React 应用程序,后端是一个 Python FastAPI 应用程序。它使用了Neo4j 为 LangChain 贡献的llm-graph-transformer 模块。
该应用程序提供无缝体验,遵循四个简单的步骤:
实践
我们在Neo4j 托管环境中提供应用程序,无需信用卡,也无需 LLM 密钥——无摩擦。
在打开并使用 LLM 知识图谱构建器之前,让我们创建一个新的 Neo4j 数据库。为此,我们可以按照以下步骤使用免费的 AuraDB 数据库:
现在我们已经运行了 Neo4j 数据库并获得了凭证,我们可以打开 LLM 知识图谱构建器,然后单击右上角的“连接到 Neo4j” 。
将之前下载的凭证文件拖放到连接对话框中。所有信息都会自动填充。或者,你也可以手动输入所有内容。
创建知识图谱
该过程从获取非结构化数据开始,然后通过 LLM 来识别关键实体及其关系。
你可以将 PDF 和其他文件拖放到左侧的第一个输入区。第二个输入区允许你复制/粘贴要使用的 YouTube 视频链接,而第三个输入区则接受维基百科页面链接。
上传文件时,应用程序将使用 LangChain 文档加载器和 YouTube 解析器将上传的源存储为图中的文档节点。所有文件上传完成后,你应该会看到类似以下内容:
现在我们需要做的就是选择要使用的模型,单击“生成图形”,然后让魔法为你完成剩下的工作!
如果你只想生成文件选择,你可以先选择文件(使用表格第一列的复选框)然后单击生成图形。
探索你的知识图谱
从文档中提取的信息被构造成图形格式,其中实体成为节点,关系变成连接这些节点的边。使用 Neo4j 的优点在于它能够高效地存储和查询这些复杂的数据网络,使生成的知识图谱可立即用于各种应用程序。
在使用 RAG 代理询问有关数据的问题之前,我们可以使用复选框选择一个文档(或多个),然后单击“显示图表”。这将显示为你选择的文档创建的实体;你还可以在该视图中显示文档和块节点
使用 Bloom 打开图表按钮将打开Neo4j Bloom,以帮助你可视化和导航新创建的知识图谱。下一个操作 —删除文件 —从图表中删除选定的文档和块(如果你在选项中选择了它,则删除实体)。
现在是最后一部分:你可以在右侧面板中看到的 RAG 代理。
检索过程——它是如何工作的?
下图展示了 GraphRAG 流程的简化视图。
当用户提出问题时,我们会使用 Neo4j 向量索引和检索查询来查找与问题最相关的块及其连接实体,深度可达 2 跳。我们还会汇总聊天记录并将其用作丰富上下文的元素。
各种输入和来源(问题、向量结果、聊天记录)均以自定义提示的形式发送到所选的 LLM 模型,要求根据提供的元素和上下文提供并格式化对所提问题的回答。当然,提示还有更多神奇之处,例如格式化、要求引用来源、如果答案未知则不要猜测等。
询问与你的数据相关的问题
在这个例子中,我加载了有关一家名为 GraphACME(总部位于欧洲)的虚假公司的内部文档,该公司生产并记录了他们的整个供应链战略和产品。我还加载了一篇新闻文章和 YouTube 视频,解释了新的 CSDDD、其影响和法规。我们现在可以向聊天机器人询问有关我们内部(虚假)公司知识的问题——有关 CSDDD 法律的问题,甚至可以询问两者的问题,例如询问 GraphACME 生产的产品清单,它们是否会受到 CSDDD 法规的影响,如果是,它将如何影响公司。
聊天功能
在主屏幕的右侧,你会注意到聊天窗口附带三个按钮:
在RAG代理的回答上,你会发现回复后有三个特点: