Nvidia Ingest 旨在简化从文档中提取结构化信息的过程

Nvidia Ingest 微服务总结

概述

Nvidia Ingest 是一个新的微服务,旨在处理文档内容并提取元数据,将其转换为定义良好的 JSON 模式。该服务能够处理 PDF、Word 和 PowerPoint 文档,并从表格、图表、图像和文本中提取结构化信息,使用光学字符识别(OCR)技术。

使用方法

用户需提供一个 JSON 任务描述,指定要处理的文档内容。处理结果将以 JSON 字典形式返回,包含所有提取对象的元数据、处理注释以及时间/追踪信息。

性能与处理方式

Nvidia 未提供具体的性能数据,但表示该服务具有可扩展性,并可以使用多种处理方法来提高准确性或增加吞吐量。对于 PDF 文档,Ingest 可以使用 pdfium、Unstructured.io 或 Adobe Content Extraction Services。

命令行工具示例

使用 nv-ingest-cli 命令行工具时,可以通过 --task 参数指定文档处理方式,例如:

nv-ingest-cli \
... \
  --task='extract:{"document_type": "pdf", "extract_method": "pdfium", "extract_text": true, "extract_images": true, "extract_tables": true, "extract_tables_method": "yolox"}' \
...

处理限制与扩展

Ingest 不支持创建管道以在文档负载中执行一系列操作。然而,用户可以进行各种预处理或后处理转换,包括文本分割和分块、过滤、嵌入生成和图像卸载。可以通过在同一 nv-ingest-cli 执行中添加多个 --task 参数来实现,例如:

nv-ingest-cli \
... \
  --task='extract:{...} \
  --task='dedup:{"content_type": "image", "filter": true}' \
...

批量处理与输出

该工具可以处理单个文档或同时处理一组文档。所有提取的数据存储在输出目录中,每个文档类型(如图像、文本、结构化等)都有一个子目录。每个处理的文档都会生成一个 JSON 元数据文件,包含提取的内容、源元数据和内容元数据。

支持服务与硬件要求

Nvidia Ingest 需要多个支持服务,包括 redis、yolox、otel-collector、prometheus、grafana 等,并通过 Docker Compose 应用程序打包以简化部署。此外,还需要 CUDA 和 Nvidia Container Toolkit 的支持,至少需要两个 H100 或 A100 GPU,且每个 GPU 至少需要 80GB 内存。

阅读 10
0 条评论