Agentic-doc 终极指南:5个典型使用场景代码示例

【免费下载链接】agentic-doc SDK for agentic document extraction and analysis 【免费下载链接】agentic-doc 项目地址: https://gitcode.com/GitHub_Trending/ag/agentic-doc

Agentic-doc 是一个强大的 Python 库,专门用于智能文档提取和分析。这个库封装了 VisionAgent 文档提取 REST API,让开发者能够轻松地从复杂的视觉文档(如表格、图片和图表)中提取结构化数据,并以分层 JSON 格式返回精确的元素位置信息。无论你是处理财务报表、合同文档还是技术手册,Agentic-doc 都能帮你快速提取关键信息,大大提升文档处理效率。😊

📋 为什么选择 Agentic-doc?

Agentic-doc 提供了多项强大功能,使其成为文档处理领域的理想选择:

  • 📦 开箱即用:只需 pip install agentic-doc 即可安装,无需额外配置
  • 📚 长文档支持:能够处理 1000+ 页的大型 PDF 文件
  • ⚡ 并行处理:自动分割大文件并使用线程池并行处理
  • 🔄 自动重试:内置指数退避重试机制,处理 API 错误和速率限制
  • 🧩 结构化输出:返回分层 JSON 和可渲染的 Markdown
  • 👁️ 可视化支持:可保存边界框截图和完整页面可视化

🚀 安装与配置

首先,你需要安装 Agentic-doc 并配置 API 密钥:

pip install agentic-doc

设置环境变量:

export VISION_AGENT_API_KEY=<your-api-key>

🔥 典型使用场景代码示例

1. 从单个文档提取数据(基础使用)

这是最基本的用法,适合处理单个 PDF 或图像文件:

# agentic_doc/parse.py 中的核心函数
from agentic_doc.parse import parse

# 解析本地文件
result = parse("path/to/invoice.pdf")
print(result[0].markdown)  # 获取提取的数据为 Markdown 格式
print(result[0].chunks)    # 获取结构化内容块

# 解析 URL 文档
result = parse("https://example.com/document.pdf")
print(result[0].markdown)

2. 批量处理多个文档(高效批处理)

当需要处理多个文档时,Agentic-doc 提供了高效的批处理功能:

from agentic_doc.parse import parse

# 解析多个本地文件
file_paths = ["invoice1.pdf", "contract2.pdf", "report3.pdf"]
results = parse(file_paths)

for i, result in enumerate(results):
    print(f"文档 {i+1} 提取结果:")
    print(result.markdown)
    print("-" * 50)

# 解析并保存结果到目录
results = parse(file_paths, result_save_dir="./extracted_results")
for result in results:
    print(f"结果保存到: {result.result_path}")

3. 结构化字段提取(智能数据提取)

使用 Pydantic 模型定义要提取的字段,实现精确的结构化数据提取:

# tests/integ/test_parse_integ.py 中的示例模式
from pydantic import BaseModel, Field
from agentic_doc.parse import parse

class InvoiceFields(BaseModel):
    invoice_number: str = Field(description="发票号码")
    invoice_date: str = Field(description="发票日期")
    total_amount: float = Field(description="总金额")
    vendor_name: str = Field(description="供应商名称")
    vendor_address: str = Field(description="供应商地址")

# 使用自定义模型提取结构化数据
results = parse("invoice.pdf", extraction_model=InvoiceFields)
fields = results[0].extraction
metadata = results[0].extraction_metadata

print(f"发票号码: {fields.invoice_number}")
print(f"置信度: {metadata.invoice_number.confidence}")
print(f"总金额: {fields.total_amount}")

4. 连接器集成(多数据源支持)

Agentic-doc 支持多种数据源连接器,让你可以从不同位置访问文档:

# agentic_doc/connectors.py 中的连接器示例
from agentic_doc.parse import parse
from agentic_doc.connectors import (
    GoogleDriveConnectorConfig,
    S3ConnectorConfig,
    LocalConnectorConfig,
    URLConnectorConfig
)

# Google Drive 连接器示例
gdrive_config = GoogleDriveConnectorConfig(
    client_secret_file="credentials.json",
    folder_id="your-folder-id"
)
gdrive_results = parse(gdrive_config, connector_pattern="*.pdf")

# Amazon S3 连接器示例
s3_config = S3ConnectorConfig(
    bucket_name="your-bucket",
    region_name="us-east-1"
)
s3_results = parse(s3_config, connector_path="documents/")

# 本地目录连接器示例
local_config = LocalConnectorConfig(recursive=True)
local_results = parse(local_config, connector_path="/path/to/documents")

# URL 连接器示例
url_config = URLConnectorConfig(timeout=60)
url_results = parse(url_config, connector_path="https://example.com/doc.pdf")

5. 高级功能:可视化与调试

Agentic-doc 提供了强大的可视化工具,帮助你验证提取结果的准确性:

# agentic_doc/utils.py 中的可视化功能
from agentic_doc.parse import parse
from agentic_doc.utils import viz_parsed_document
from agentic_doc.config import VisualizationConfig

# 解析文档
results = parse("complex_document.pdf")
parsed_doc = results[0]

# 创建可视化
images = viz_parsed_document(
    "complex_document.pdf",
    parsed_doc,
    output_dir="./visualizations"
)

# 自定义可视化配置
viz_config = VisualizationConfig(
    thickness=2,
    text_bg_opacity=0.8,
    font_scale=0.7
)

images = viz_parsed_document(
    "complex_document.pdf",
    parsed_doc,
    output_dir="./custom_viz",
    viz_config=viz_config
)

print(f"已生成 {len(images)} 个可视化页面")

⚙️ 配置选项与最佳实践

Agentic-doc 提供了灵活的配置选项,可以根据你的需求进行调整:

# 通过环境变量配置
# .env 文件示例
BATCH_SIZE=4           # 并行处理文件数
MAX_WORKERS=2          # 每个文件的并行工作线程数
MAX_RETRIES=80         # 最大重试次数
MAX_RETRY_WAIT_TIME=30 # 最大重试等待时间
RETRY_LOGGING_STYLE=log_msg  # 重试日志样式

# 通过代码配置
from agentic_doc.config import get_settings

settings = get_settings()
settings.batch_size = 8
settings.max_workers = 4

🎯 性能优化技巧

  1. 📊 调整并行度:根据你的 API 速率限制调整 BATCH_SIZEMAX_WORKERS
  2. 🔧 错误处理:利用内置的重试机制处理 API 错误
  3. 💾 结果缓存:将提取结果保存到本地,避免重复处理
  4. 👁️ 可视化验证:使用可视化工具验证提取准确性
  5. 📈 监控性能:关注 API 延迟,优化并行设置

🔍 故障排除与常见问题

常见问题解决方案:

  1. API 密钥错误:确保 VISION_AGENT_API_KEY 环境变量正确设置
  2. 速率限制:调整 BATCH_SIZEMAX_WORKERS 参数
  3. 解析失败:检查文档格式是否支持(PDF、图像)
  4. 内存问题:对于超大文档,考虑分批次处理

📚 项目结构与核心模块

Agentic-doc 项目采用模块化设计,主要包含以下核心模块:

🚀 开始使用 Agentic-doc

要开始使用 Agentic-doc,只需按照以下步骤:

  1. 安装库pip install agentic-doc
  2. 获取 API 密钥:从 LandingAI 平台获取 VisionAgent API 密钥
  3. 设置环境变量export VISION_AGENT_API_KEY=<your-key>
  4. 编写第一个脚本:参考上面的示例代码
  5. 测试与验证:使用可视化工具验证提取结果

Agentic-doc 的强大功能和易用性使其成为处理复杂文档提取任务的理想选择。无论你是需要处理财务报表、法律合同还是技术文档,这个库都能帮助你快速、准确地提取所需信息。🌟

通过本文的 5 个典型使用场景示例,你应该已经掌握了 Agentic-doc 的核心功能。现在就开始使用这个强大的工具,提升你的文档处理效率吧!

【免费下载链接】agentic-doc SDK for agentic document extraction and analysis 【免费下载链接】agentic-doc 项目地址: https://gitcode.com/GitHub_Trending/ag/agentic-doc

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐