NVIDIA-Ingest:英伟达开源智能文档提取及结构化工具,支持 GPU 加速和并行处理

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: NVIDIA-Ingest 是英伟达开源的智能文档提取工具,支持 PDF、Word、PPT 等多种格式,提供并行处理和 GPU 加速,适用于企业内容管理和生成式应用。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:支持 PDF、Word、PPT 等多种文档格式的智能提取,提供文本、表格、图表和图像的分类提取。
  2. 技术:基于微服务架构,利用 GPU 加速和 OCR 技术,显著提升文档处理效率。
  3. 应用:适用于企业内容管理、智能客服、法律合规、金融和医疗保健等领域。

正文(附运行示例)

NVIDIA-Ingest 是什么

nvidia-ingest

NVIDIA-Ingest 是英伟达开源的一款智能文档提取工具,专门用于解析复杂的非结构化文档,如 PDF、Word、PowerPoint 和图像等。它能够将这些文档转换为结构化的元数据和文本,便于嵌入到检索系统中,支持大规模文档处理和生成式应用。

NVIDIA-Ingest 基于微服务架构,每个微服务负责特定的处理任务,如文本提取、图像提取和表格提取等。通过 GPU 加速,特别是 H100 和 A100 GPU,显著提升了文档解析和内容提取的效率。此外,它还集成了多种 OCR 引擎,如 PaddleOCR,进一步提高了文本识别的准确性和效率。

NVIDIA-Ingest 的主要功能

  • 多格式支持:支持解析 PDF、Word (Docx)、PowerPoint (Pptx) 和图像等多种复杂的企业文档格式。
  • 多方法提取:提供多种提取方法,便于在吞吐量和准确性之间进行权衡。例如,PDF 文档支持 pdfium、Unstructured.io 和 Adobe Content Extraction Services 进行提取。
  • 内容分类与提取:将文档内容分类为文本、表格、图表和图像,分别提取这些内容,并通过 OCR 技术将提取的内容转换为定义良好的 JSON 模式。
  • 并行处理:支持将文档拆分为页面,并行处理每个页面的内容提取,显著提高处理效率。
  • 预处理和后处理:支持多种预处理和后处理操作,包括文本分割和分块、内容转换、过滤、嵌入生成和图像存储。

NVIDIA-Ingest 的技术原理

  • 微服务架构:基于微服务架构,每个微服务负责特定的处理任务,如文本提取、图像提取、表格提取等,提高系统的可扩展性和灵活性。
  • GPU 加速:基于 NVIDIA 的 GPU 技术,特别是 H100 和 A100 GPU,加速文档解析和内容提取过程。GPU 的并行计算能力显著提高了处理效率,尤其是在处理大量文档时。
  • 光学字符识别(OCR):使用 OCR 技术将文档中的图像和表格内容转换为可读的文本。NVIDIA-Ingest 集成多种 OCR 引擎,如 PaddleOCR,提高文本识别的准确性和效率。

如何运行 NVIDIA-Ingest

1. 启动容器

首先,克隆 NVIDIA-Ingest 的 GitHub 仓库并启动所有服务:

git clone https://github.com/nvidia/nv-ingest
cd nv-ingest
docker compose up

2. 安装 Python 依赖

在主机上创建一个 Python 环境并安装客户端依赖:

conda create --name nv-ingest-dev --file ./conda/environments/nv_ingest_environment.yml
conda activate nv-ingest-dev
cd client
pip install .

3. 提交文档提取任务

使用 Python 提交文档提取任务:

import logging, time
from nv_ingest_client.client import NvIngestClient
from nv_ingest_client.primitives import JobSpec
from nv_ingest_client.primitives.tasks import ExtractTask
from nv_ingest_client.util.file_processing.extract import extract_file_content

logger = logging.getLogger("nv_ingest_client")

file_name = "data/multimodal_test.pdf"
file_content, file_type = extract_file_content(file_name)

job_spec = JobSpec(
  document_type=file_type,
  payload=file_content,
  source_id=file_name,
  source_name=file_name,
  extended_options=
    {
   
      "tracing_options":
      {
   
        "trace": True,
        "ts_send": time.time_ns()
      }
    }
)

extract_task = ExtractTask(
  document_type=file_type,
  extract_text=True,
  extract_images=True,
  extract_tables=True
)

job_spec.add_task(extract_task)

client = NvIngestClient(
  message_client_hostname="localhost",
  message_client_port=7670
)
job_id = client.add_job(job_spec)
client.submit_job(job_id, "morpheus_task_queue")
result = client.fetch_job_result(job_id, timeout=60)
print(f"Got {len(result)} results")

4. 查看提取结果

提取完成后,可以在 processed_docs 文件夹中查看提取的文本和图像内容:

ls -R processed_docs/

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
1月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
1月前
|
人工智能 并行计算 PyTorch
以Lama Cleaner的AI去水印工具理解人工智能中经常会用到GPU来计算的CUDA是什么? 优雅草-卓伊凡
以Lama Cleaner的AI去水印工具理解人工智能中经常会用到GPU来计算的CUDA是什么? 优雅草-卓伊凡
208 4
|
7月前
|
人工智能 Linux API
119K star!无需GPU轻松本地部署多款大模型,DeepSeek支持!这个开源神器绝了
"只需一行命令就能在本地运行Llama 3、DeepSeek-R1等前沿大模型,支持Windows/Mac/Linux全平台,这个开源项目让AI开发从未如此简单!"
423 0
|
7月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
3795 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
9月前
|
人工智能 Linux iOS开发
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
2137 101
|
8月前
|
人工智能 自然语言处理 API
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
595 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
|
8月前
|
机器学习/深度学习 人工智能 物联网
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
MiniMind 是一个开源的超小型语言模型项目,帮助开发者以极低成本从零开始训练自己的语言模型,最小版本仅需25.8M参数,适合在普通个人GPU上快速训练。
1607 10
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
|
7月前
|
程序员 开发者
开源项目:一行代码,批量 PDF 转 Word 轻松搞定!
程序员晚枫分享了 `popdf` 的新功能:支持批量 PDF 转 Word!只需简单代码,即可轻松实现单文件或批量转换。`input_path` 和 `output_path` 参数让操作更便捷,适合处理大量 PDF 文件。作为开发者,晚枫致力于解决技术小痛点,欢迎体验并反馈。项目地址:[https://github.com/CoderWanFeng/popdf](https://github.com/CoderWanFeng/popdf)
624 6
|
9月前
|
机器学习/深度学习 人工智能 并行计算
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
Unsloth 是一款开源的大语言模型微调工具,支持 Llama-3、Mistral、Phi-4 等主流 LLM,通过优化计算步骤和手写 GPU 内核,显著提升训练速度并减少内存使用。
1325 3
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
|
8月前
|
人工智能 负载均衡 调度
COMET:字节跳动开源MoE训练加速神器,单层1.96倍性能提升,节省百万GPU小时
COMET是字节跳动推出的针对Mixture-of-Experts(MoE)模型的优化系统,通过细粒度的计算-通信重叠技术,显著提升分布式训练效率,支持多种并行策略和大规模集群部署。
433 9

热门文章

最新文章