Project Icon

open-parse

高效复杂文档解析和语义分析库

Open Parse是一个开源的文档解析库,专注于处理复杂文档结构。它采用视觉分析方法识别文档布局,实现精确分块。该工具支持Markdown语法,具备高精度表格解析能力,并允许用户自定义后处理步骤。Open Parse集成了语义处理功能,能够模拟人类的文档分割方式,为RAG系统和AI应用提供了强大的文档处理基础。


轻松地像人类一样对复杂文档进行分块。

文档分块是任何RAG系统的基础性挑战任务。高质量的结果对于成功的AI应用至关重要,然而大多数开源库在处理复杂文档方面的能力有限。

Open Parse旨在填补这一空白,提供一个灵活、易用的库,能够视觉识别文档布局并有效地进行分块。

这与其他布局解析器有何不同?

✂️ 文本分割

文本分割将文件转换为原始文本并进行切片

  • 你失去了在原始PDF上轻松叠加块的能力
  • 你忽略了文件的基本语义结构 - 标题、章节、要点代表了宝贵的信息。
  • 不支持表格、图像或markdown。

🤖 机器学习布局解析器

有一些出色的库,如layout-parser

  • 虽然它们可以识别各种元素,如文本块、图像和表格,但它们并不是为有效地分组相关内容而构建的。
  • 它们严格专注于布局解析 - 你需要添加另一个模型来从图像中提取markdown、解析表格、分组节点等。
  • 我们发现在许多文档上性能不佳,同时计算成本也很高。

💼 商业解决方案

  • 通常定价约为10美元/1000页。参见这里这里这里
  • 需要与供应商共享你的数据

亮点

  • 🔍 视觉驱动: Open-Parse通过视觉分析文档,为LLM提供更优质的输入,超越了简单的文本分割。

  • ✍️ Markdown支持: 支持解析标题、粗体和斜体的基本markdown。

  • 📊 高精度表格支持: 将表格提取为干净的Markdown格式,准确度超过传统工具。

    示例 以下示例使用unitable进行解析。



  • 🛠️ 可扩展: 轻松实现自己的后处理步骤。

  • 💡直观: 出色的编辑器支持。处处都有自动完成。减少调试时间。

  • 🎯 简单: 设计易于使用和学习。减少阅读文档的时间。


示例

基本示例

import openparse

basic_doc_path = "./sample-docs/mobile-home-manual.pdf"
parser = openparse.DocumentParser()
parsed_basic_doc = parser.parse(basic_doc_path)

for node in parsed_basic_doc.nodes:
    print(node)

📓 试用示例笔记本 点击这里

语义处理示例

文档分块本质上是将相似的语义节点分组在一起。通过嵌入每个节点的文本,我们可以根据它们的相似性将它们聚类在一起。

from openparse import processing, DocumentParser

semantic_pipeline = processing.SemanticIngestionPipeline(
    openai_api_key=OPEN_AI_KEY,
    model="text-embedding-3-large",
    min_tokens=64,
    max_tokens=1024,
)
parser = DocumentParser(
    processing_pipeline=semantic_pipeline,
)
parsed_content = parser.parse(basic_doc_path)

📓 示例笔记本 点击这里

序列化结果

底层使用pydantic,因此你可以使用以下方式序列化结果

parsed_content.dict()

# 或转换为有效的json字典
parsed_content.json()

要求

Python 3.8+

处理PDF:

提取表格:

安装

1. 核心库

pip install openparse

启用OCR支持

PyMuPDF已经包含了支持OCR功能的所有逻辑。但它还需要Tesseract的语言支持数据,所以仍然需要安装Tesseract-OCR。

语言支持文件夹的位置必须通过将其存储在环境变量"TESSDATA_PREFIX"中,或作为适用函数中的参数来传达。

因此,要使OCR功能正常工作,请确保完成以下清单:

  1. 安装Tesseract。

  2. 定位Tesseract的语言支持文件夹。通常你会在以下位置找到它:

    • Windows:C:/Program Files/Tesseract-OCR/tessdata

    • Unix系统:/usr/share/tesseract-ocr/5/tessdata

    • macOS(通过Homebrew安装):

      • 标准安装:/opt/homebrew/share/tessdata
      • 特定版本安装:/opt/homebrew/Cellar/tesseract/<version>/share/tessdata/
  3. 设置环境变量TESSDATA_PREFIX

    • Windows:setx TESSDATA_PREFIX "C:/Program Files/Tesseract-OCR/tessdata"

    • Unix系统:declare -x TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata

    • macOS(通过Homebrew安装):export TESSDATA_PREFIX=$(brew --prefix tesseract)/share/tessdata

注意: 在Windows系统上,这必须在Python外部进行 – 在启动脚本之前。仅仅操作os.environ是不够的!

2. 机器学习表格检测(可选)

本仓库提供了一个可选功能,可以使用各种深度学习模型从表格中解析内容。

pip install "openparse[ml]"

然后使用以下命令下载模型权重

openparse-download

你可以使用以下方式运行解析。

parser = openparse.DocumentParser(
        table_args={
            "parsing_algorithm": "unitable",
            "min_table_confidence": 0.8,
        },
)
parsed_nodes = parser.parse(pdf_path)

请注意,我们目前使用table-transformers进行所有表格检测,我们发现其性能不佳。这会对unitable的下游结果产生负面影响。如果你知道更好的模型,请开一个Issue - unitable团队提到他们可能很快也会添加这个功能。

指南

https://github.com/Filimoa/open-parse/tree/main/src/cookbooks

文档

https://filimoa.github.io/open-parse/

赞助商

你的用例需要特殊功能吗?请联系我们

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号