开始使用 GraphRAG:Neo4j 的生态系统工具

https://neo4j.com/developer-blog/graphrag-ecosystem-tools/
https://neo4j.com/labs/genai-ecosystem/langchain/

Neo4j GraphRAG 生态系统工具。这些开源工具让您可以轻松开始使用基于知识图谱的 GenAI 应用程序,这有助于提高响应质量和可解释性并加速应用程序的开发和采用。

GraphRAG 将检索增强生成 (RAG)与知识图谱相结合,以解决关键的 LLM 问题,例如幻觉和缺乏特定领域的背景。知识图谱提供了 LLM 所需的上下文记忆,以便可靠地回答问题并在复杂的工作流程中充当可信代理 - 与大多数仅提供对文本数据片段的访问的 RAG 解决方案不同,GraphRAG 将结构化和半结构化信息集成到检索过程中。

这些新工具将帮助您从非结构化文本创建知识图谱,并使用该图谱(或现有图谱数据库)通过向量和图谱搜索检索生成任务的相关信息。

您可以使用这些工具启动 GenAI 开发,将它们集成到您自己的系统中,或将它们用作构建您自己的自定义实现的参考模板。当前的实现使用我们的 Python 和 Javascript LangChain 集成,但您也可以使用其他语言和框架来构建它们。

在这篇文章中,我们概述了 LLM 知识图谱构建器NeoConverseGenAI 框架集成。

快速将非结构化文本转换为知识图谱

Neo4j知识图谱生成器 看起来很神奇 —— 只需加载非结构化文本即可生成结构化图表,从而显示数据中隐藏的实体和关系。它适用于 PDF、Word 文档、YouTube 转录本、维基百科页面以及许多其他类型的非结构化文本。

如果您不熟悉图形技术,则可以使用知识图谱构建器根据熟悉的领域信息轻松创建图形。更有经验的图形开发人员可能会使用它来启动新项目。您可以在线使用图形构建器。如果您没有 Neo4j 实例,则可以创建免费的Neo4j Aura数据库。

除了提取源文档及其块和嵌入作为词汇图之外,Graph Builder 还提取实体及其关系的图并将它们连接到块。

要查看答案背后的非结构化和结构化上下文数据,您可以可视化并质疑所提取的数据。由于我们在后台为每个向量搜索结果使用 GraphRAG,因此我们可以获取相关实体并将其提供给 LLM 以生成答案。

Graph Builder 前端是一个 React 应用程序,它使用 Neo4j 设计系统(通过Needle Starter Kit)和最近发布的Neo4j 可视化库。后端使用LangChain 集成与 Neo4j 进行交互、知识图谱提取以及结合向量搜索和图检索查询的 GraphRAG 搜索。它用 Python 编写,使用 FastAPI 并作为容器在 Google Cloud Run 上运行。

您可以在自己的代码中使用 LangChain 集成来构建知识图谱,如下所示:

要了解有关知识图谱生成器的更多信息、查找源代码并观看演示视频,请查看我们的图谱生成器页面。更好的是,您可以使用自己的文件亲自尝试。您还可以在此处观看简短的演示视频:

使用自然语言查询图表

我们的 NeoConverse 工具使用现有知识图谱的结构根据用户的问题生成 Cypher 图谱查询,然后针对 Neo4j 数据库执行这些查询。这些查询结果用于生成文本或图表响应。(您可以随时测试 NeoConverse )

以下是 NeoConverse 的流程:

  • 用户选择数据集并决定是否希望以文本或图表形式显示响应。
  • 用户提出问题。
  • 系统从数据库中提取数据库模式,并将其与用户问题结合起来,为配置的LLM生成提示。
  • LLM 生成一个 Cypher 查询来针对数据库执行。
  • 查询已验证并执行。
  • 查询结果与用户问题和特定提示一起发送到 LLM,以生成 markdown 文本形式的响应或图表库的配置。

NeoConverse 附带几个预配置的数据集来展示其功能。对于每个数据集,您都可以看到数据库的架构和示例问题(单击垂直省略号)。您还可以在 NeoConverse 中配置其他数据集以连接到您自己的 Neo4j 数据库。

使用您首选的 LLM 框架

Neo4j 与 Python、JavaScript、Java 和 .Net 的大多数开源 GenAI 生态系统库无缝集成。

我们已经与LangChain PythonLangChain JavaScript集成,以提供矢量和图形搜索、文本到密码、对话记忆、知识图谱构建、高级 RAG 模板等。

我们的LlamaIndex集成包括 Cypher 搜索、向量搜索、知识图谱表示和构建以及文本到 Cypher 查询。我们最近与 LlamaIndex 团队合作,对知识图谱集成进行了全面改造,使其能够构建和查询。

对于 Deepset 的Haystack,我们得到了社区对向量搜索和 Cypher 查询的宝贵贡献,我们很快将添加更多功能。

在 Java 领域,我们将向量搜索集成到Spring AILangChain4j中。我们还在Semantik Kernel中实现了 Neo4j 对语义记忆的支持。最后,在DSPy中,我们添加了基于 Neo4j 的检索模块,该模块利用了 Neo4j 向量索引。

许多集成页面都指向相关的入门套件实现,解释了如何在 Edgar SEC 文件数据集上构建 GraphRAG 应用程序。

提高 GraphRAG 和 GenAI 开发技能

要深入了解 Neo4j GraphRAG 工具和 GenAI 生态系统,请查看我们的GenAI 生态系统页面。

这些页面提供了有关 Neo4j GenAI 功能(如嵌入生成和向量搜索)的更多详细信息,以及有关我们与 Google(Vertex AI)、AWS(Bedrock)和 Azure(OpenAI)的云原生 GenAI 集成的信息 - 包括每项服务的视频教程。

您还将找到 GenAI 示例项目,包括 GraphRAG 演示、NeoConverse 和实际运行的知识图谱构建器,解释每个工具背后的功能。

还提供实践学习机会。我们与 Deeplearning AI 合作开设了一门知识图谱课程,指导您构建基于图谱的 GenAI 应用程序。

作者:Jeebiz  创建时间:2024-08-08 11:51
最后编辑:Jeebiz  更新时间:2024-08-08 14:28