Introdução geral
O NV Ingest (NVIDIA Ingest) é um conjunto de microsserviços de acesso antecipado projetado para analisar centenas de milhares de PDFs não estruturados complexos e confusos e outros documentos corporativos. O NVIDIA Ingest é compatível com a análise de documentos PDF, Word e PowerPoint, usando os microsserviços NVIDIA NIM para localizar, contextualizar e extrair texto, tabelas, gráficos e imagens para uso por aplicativos geradores downstream. O serviço paraleliza o processamento, divide os documentos em páginas, categoriza o conteúdo (por exemplo, tabelas, gráficos, imagens, texto) e o extrai em esquemas JSON bem definidos usando o reconhecimento óptico de caracteres (OCR). O NVIDIA Ingest também gerencia opcionalmente o cálculo do conteúdo incorporado e o armazena no banco de dados vetorial, Milvus.
Lista de funções
- Suporte para análise de documentos PDF, Word e PowerPoint
- Localize, contextualize e extraia textos, tabelas, gráficos e imagens com os microsserviços NVIDIA NIM
- Paralelizar documentos, dividi-los em páginas e categorizar o conteúdo
- Extração de conteúdo via OCR e conversão para o esquema JSON
- Oferece suporte a métodos de extração para vários tipos de documentos para equilibrar a produtividade e a precisão
- Oferece suporte a uma variedade de operações de pré e pós-processamento, incluindo divisão e fragmentação de texto, conversão e filtragem, geração de incorporação e descarregamento de imagens para armazenamento
- Opcionalmente, gerencia o cálculo e o armazenamento do conteúdo incorporado no banco de dados de vetores Milvus
Usando a Ajuda
Processo de instalação
- Clone o repositório NVIDIA Ingest:
git clone https://github.com/NVIDIA/nv-ingest.git
- Vá para o catálogo de projetos:
cd nv-ingest
- Instalar dependências:
pip install -r requirements.txt
- Configurar variáveis de ambiente:
fonte setup_env.sh
- Inicie o serviço:
docker-compose up
Processo de uso
- Enviar uma tarefa de análise de documentos::
- Envie descrições de trabalho JSON contendo cargas de documentos e tarefas de análise por meio da API.
- Exemplo de descrição de cargo JSON:
{ "document_payload": "base64_encoded_document", "document_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] "ingestion_tasks": ["parse_text", "extract_metadata"] }
- Recuperar resultados da análise::
- Recupere os resultados do trabalho por meio da API, resultando em um dicionário JSON que contém metadados de objetos extraídos, anotações de processamento e dados de tempo/rastreamento.
- Exemplos de chamadas de API:
curl -X GET "http://localhost:5000/api/results/{job_id}"
- Tipos de documentos e métodos de extração compatíveis::
- Documentos PDF: suporte para extração via pdfium, Unstructured.io e Adobe Content Extraction Services.
- Documentos do Word: suporte à extração por meio da API do Microsoft Office.
- Documentos do PowerPoint: há suporte para extração por meio da API do Microsoft Office.
- Imagens: há suporte para extração via OCR.
- Operações de pré e pós-processamento::
- Divisão e fragmentação de texto: divisão de textos longos em partes menores para melhor processamento e análise.
- Conversão e filtragem: converta e filtre o texto extraído para melhorar a qualidade dos dados.
- Geração de incorporação: calcula a incorporação do conteúdo extraído para armazenamento e recuperação em um banco de dados vetorial.
- Descarregamento de imagens para armazenamento: descarrega imagens extraídas para armazenamento externo para processamento e análise adicionais.
Procedimento de operação detalhado
- Enviar uma tarefa de análise de documentos::
- Envie descrições de trabalho JSON contendo cargas de documentos e tarefas de análise por meio da API.
- Exemplo de descrição de cargo JSON:
{ "document_payload": "base64_encoded_document", "document_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] "ingestion_tasks": ["parse_text", "extract_metadata"] }
- Recuperar resultados da análise::
- Recupere os resultados do trabalho por meio da API, resultando em um dicionário JSON que contém metadados de objetos extraídos, anotações de processamento e dados de tempo/rastreamento.
- Exemplos de chamadas de API:
curl -X GET "http://localhost:5000/api/results/{job_id}"
- Tipos de documentos e métodos de extração compatíveis::
- Documentos PDF: suporte para extração via pdfium, Unstructured.io e Adobe Content Extraction Services.
- Documentos do Word: suporte à extração por meio da API do Microsoft Office.
- Documentos do PowerPoint: há suporte para extração por meio da API do Microsoft Office.
- Imagens: há suporte para extração via OCR.
- Operações de pré e pós-processamento::
- Divisão e fragmentação de texto: divisão de textos longos em partes menores para melhor processamento e análise.
- Conversão e filtragem: converta e filtre o texto extraído para melhorar a qualidade dos dados.
- Geração de incorporação: calcula a incorporação do conteúdo extraído para armazenamento e recuperação em um banco de dados vetorial.
- Descarregamento de imagens para armazenamento: descarrega imagens extraídas para armazenamento externo para processamento e análise adicionais.