使用 LlamaParse 从文档创建知识图谱

2024-06-18 16:23:38 浏览数 (2)

一个月前,LlamaIndex 宣布推出 LlamaCloud,这是一项开创性的托管解析、摄取和检索服务,旨在增强 LLM 和 RAG 应用程序的生产级上下文增强。

LlamaCloud 的关键组件包括 LlamaParse,这是一种专有的解析工具,用于包含表格和图形等嵌入对象的复杂文档,它与 LlamaIndex 摄取和检索无缝集成。这种集成支持在复杂的半结构化文档上构建检索系统,从而有助于回答以前无法管理的复杂问题。此外,还引入了托管摄取和检索 API,以简化 RAG 应用程序的数据加载、处理和存储。

过去,我一直在分享如何使用文档解析流水线从文档中提取丰富的内容(即文本),从而为更准确、更强大的RAG应用创建知识图谱。在本文中,我将演示如何将 LlamaParse 与 Neo4j 集成以实现相同目的的步骤。

◆高级流程

使用 LlamaParse 和 Neo4j 构建文档处理管道可以定义为以下步骤:

  1. 设置环境:设置 Python 环境的分步说明,包括安装必要的库和工具,例如 LlamaParse 和 Neo4j 数据库驱动程序。
  2. PDF 文档处理:演示如何使用 LlamaParse 读取 PDF 文档、提取相关信息(如文本、表格和图像),并将这些信息转换为适合数据库插入的结构化格式。
  3. 用于 docoment 的图形模型:指导设计一个有效的图形模型,该模型表示从 PDF 文档中提取的关系和实体,确保查询和分析的最佳结构。
  4. 在 Neo4j 中存储提取的数据:详细的代码示例展示了如何从 Python 连接到 Neo4j 数据库,根据提取的数据创建节点和关系,以及执行 Cypher 查询来填充数据库。
  5. 生成和存储文本嵌入:使用过去创建的程序,通过 OpenAI API 调用生成文本嵌入,并将嵌入存储为 Neo4j 中的向量。
  6. 查询和分析数据:用于检索和分析存储数据的 Cypher 查询示例,说明 Neo4j 如何发现隐藏在 PDF 内容中的见解和关系。

◆解析文档的图形模型

无论使用哪种 PDF 解析工具,将结果作为知识图谱保存到 Neo4j 中,图形模式实际上都非常简单和一致。

◆解析 PDF 文档

使用全新的 LlamaParse PDF 阅读器进行 PDF 解析包括两个简单的步骤:

  • 使用原始 Markdown 文本作为节点构建索引,并应用简单的查询引擎生成结果;
  • 使用 MarkdownElementNodeParser 解析 LlamaParse 输出 Markdown 结果,并生成用于生成的递归检索器查询引擎。在 Neo4j 中存储提取的内容
代码语言:javascript复制
from llama_parse import LlamaParse
from llama_index.core.node_parser import MarkdownElementNodeParser


pdf_file_name = './insurance.pdf'


documents = LlamaParse(result_type="markdown").load_data(pdf_file_name)


# Parse the documents using MarkdownElementNodeParser
node_parser = MarkdownElementNodeParser(llm=llm, num_workers=8)


# Retrieve nodes (text) and objects (table)
nodes = node_parser.get_nodes_from_documents(documents)
base_nodes, objects = node_parser.get_nodes_and_objects(nodes)

◆查询文档图形

以下是文档摄取到 Neo4j 后的样子。

现在,我们可以将使用 GenAI Stack 构建的 RAG 解决方案指向此图,并开始在文档知识图谱上聊天!

◆结论

LlamaParse 是一款功能强大的 PDF 文档解析工具,擅长以非凡的效率驾驭结构化和非结构化数据的复杂性。其先进的算法和直观的 API 有助于从 PDF 中无缝提取文本、表格、图像和元数据,将通常具有挑战性的任务转变为简化的过程。

将提取的数据以图表的形式存储在 Neo4j 中,进一步放大了优势。通过在图形数据库中表示数据实体及其关系,用户可以发现使用传统关系数据库难以检测的模式和连接。Neo4j 的图形模型提供了一种自然而直观的方式来可视化复杂的关系,增强了进行复杂分析和获得可操作见解的能力。

一致的文档知识图模式可以更轻松地与其他工具集成以执行下游任务,例如使用 GenAI Stack(LangChain 和 Streamlit)构建检索增强生成。

LlamaParse 的提取功能与 Neo4j 基于图形的存储和分析相结合,为数据驱动的决策开辟了新的可能性。它允许对数据关系进行更细致入微的理解、高效的数据查询,并能够随着数据集规模和复杂性的增长而扩展。这种协同作用不仅加快了提取和分析过程,还有助于采用更明智和更具战略性的数据管理方法。

来源:https://www.toutiao.com/article/7358740270571061823/?log_from=5169fb3ec27bd_1718169510762

0 人点赞