Agentic Document Extraction - 智能文档解析Python库

项目概述

LandingAI开发的Agentic Document Extraction是一个智能文档解析Python库,能够从包含表格、图片和图表的复杂文档中提取结构化数据,并以层次化的JSON格式返回结果,同时保留元素的精确位置信息。

该库提供以下核心能力:

  • 支持超长文档处理(100+页PDF)
  • 自动重试和分页机制
  • 丰富的辅助工具(边界框截图、可视化调试等)

功能特性

  • 📦 一键安装pip install agentic-doc 即可使用
  • 🗂️ 全格式支持:PDF(任意长度)、单张图片或URL
  • 📚 大文件处理:自动分割并并行处理1000+页PDF
  • :puzzle_piece: 结构化输出:层次化JSON和可渲染的Markdown
  • 👁️ 可视化标注:可选的边界框截图和全页可视化
  • :person_running: 批量处理:支持文件列表自动管理线程和速率限制
  • :counterclockwise_arrows_button: 自动恢复:处理网络中断和API限流

安装指南

使用pip安装:

pip install agentic-doc

系统要求:

  • Python 3.8+
  • 主要依赖:httpx, pydantic, pymupdf

使用示例

基本使用

from agentic_doc import parse

# 解析单个PDF文件
result = parse("document.pdf")

# 解析图片
result = parse("image.png")

批量处理

# 解析多个文件
results = parse(["doc1.pdf", "doc2.pdf"])

# 保存可视化结果
parse("document.pdf", grounding_save_dir="output/")

提取结构化数据

from pydantic import BaseModel

class Invoice(BaseModel):
    invoice_number: str
    total_amount: float

# 使用自定义模型提取数据
results = parse("invoice.pdf", extraction_model=Invoice)

核心代码解析

文档块类型定义

class ChunkType(str, Enum):
    """定义文档中不同类型的块"""
    table = "table"  # 表格
    figure = "figure"  # 图片
    text = "text"  # 文本
    marginalia = "marginalia"  # 边注

边界框模型

class ChunkGroundingBox(BaseModel):
    """定义文档元素的边界框坐标"""
    l: float  # 左边界
    t: float  # 上边界
    r: float  # 右边界
    b: float  # 下边界

主解析函数

def parse(
    documents: Union[bytes, str, Path, List[Union[str, Path]]],
    *,
    include_marginalia: bool = True,
    result_save_dir: Optional[Path] = None,
    grounding_save_dir: Optional[Path] = None,
    extraction_model: Optional[type[BaseModel]] = None
) -> List[ParsedDocument]:
    """
    通用解析函数,支持:
    - 单个文档/多个文档
    - 本地文件/URL
    - 原始字节数据
    - 自定义数据提取模型
    """
    # 实现细节...

可视化工具

def save_groundings_as_images(
    document: ParsedDocument,
    output_dir: Path,
    config: VisualizationConfig
) -> None:
    """
    将文档解析结果保存为可视化图片
    包含不同类型元素的彩色标注
    """
    # 实现细节...

更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

posted @ 2025-07-17 14:01  qife  阅读(28)  评论(0)    收藏  举报