Allgemeine Einführung
NV Ingest (NVIDIA Ingest) ist eine Reihe von Microservices für den frühen Zugriff, die für das Parsing von Hunderttausenden von komplexen, unübersichtlichen, unstrukturierten PDF- und anderen Unternehmensdokumenten entwickelt wurden. NVIDIA Ingest unterstützt das Parsen von PDF-, Word- und PowerPoint-Dokumenten und verwendet NVIDIA NIM-Microservices, um Text, Tabellen, Diagramme und Bilder zu finden, zu kontextualisieren und zu extrahieren, damit sie von nachgeschalteten generativen Anwendungen verwendet werden können. Der Dienst parallelisiert die Verarbeitung, teilt die Dokumente in Seiten auf, kategorisiert den Inhalt (z. B. Tabellen, Diagramme, Bilder, Text) und extrahiert ihn mit optischer Zeichenerkennung (OCR) in genau definierte JSON-Schemata.
Funktionsliste
- Unterstützung für das Parsen von PDF-, Word- und PowerPoint-Dokumenten
- Suchen, kontextualisieren und extrahieren Sie Text, Tabellen, Diagramme und Bilder mit NVIDIA NIM Microservices
- Parallelisierung von Dokumenten, Aufteilung in Seiten und Kategorisierung des Inhalts
- Extrahieren von Inhalten über OCR und Konvertieren in ein JSON-Schema
- Unterstützt Extraktionsmethoden für mehrere Dokumenttypen, um Durchsatz und Genauigkeit auszugleichen
- Unterstützt eine Vielzahl von Vorverarbeitungs- und Nachverarbeitungsvorgängen, einschließlich Textaufteilung und Chunking, Konvertierung und Filterung, Erzeugung von Einbettungen und Auslagerung von Bildern in den Speicher
- Verwaltet optional die Berechnung und Speicherung von eingebetteten Inhalten in der Vektordatenbank Milvus
Hilfe verwenden
Ablauf der Installation
- Klonen Sie das NVIDIA Ingest Repository:
git clone https://github.com/NVIDIA/nv-ingest.git
- Rufen Sie den Projektkatalog auf:
cd nv-ingest
- Abhängigkeiten installieren:
pip install -r anforderungen.txt
- Konfigurieren Sie die Umgebungsvariablen:
Quelle setup_env.sh
- Starten Sie den Dienst:
docker-compose aufwärts
Verwendung Prozess
- Eine Aufgabe zum Parsen von Dokumenten übermitteln::
- Übermitteln Sie JSON-Auftragsbeschreibungen mit Dokumentenlade- und Parsing-Aufgaben über die API.
- Beispiel für eine JSON-Stellenbeschreibung:
{ "document_payload": "base64_encoded_document", "document_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] "ingestion_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] }
- Parse-Ergebnisse abrufen::
- Rufen Sie die Ergebnisse des Auftrags über die API ab. Das Ergebnis ist ein JSON-Wörterbuch mit extrahierten Objekt-Metadaten, Verarbeitungsanmerkungen und Zeit-/Verfolgungsdaten.
- Beispiele für API-Aufrufe:
curl -X GET "http://localhost:5000/api/results/{job_id}"
- Unterstützte Dokumenttypen und Extraktionsmethoden::
- PDF-Dokumente: Unterstützung für die Extraktion über pdfium, Unstructured.io und Adobe Content Extraction Services.
- Word-Dokumente: Unterstützung der Extraktion über die Microsoft Office API.
- PowerPoint-Dokumente: Die Extraktion über die Microsoft Office API wird unterstützt.
- Bilder: Die Extraktion über OCR wird unterstützt.
- Vor- und Nachbearbeitungsvorgänge::
- Text-Splitting und Chunking: Aufteilung langer Texte in kleinere Abschnitte zur besseren Verarbeitung und Analyse.
- Konvertierung und Filterung: Konvertieren und Filtern des extrahierten Textes zur Verbesserung der Datenqualität.
- Einbettungsgenerierung: Berechnet Einbettungen von extrahierten Inhalten für die Speicherung und den Abruf in einer Vektordatenbank.
- Bildauslagerung in den Speicher: Auslagerung der extrahierten Bilder in einen externen Speicher zur weiteren Verarbeitung und Analyse.
Detaillierte Vorgehensweise
- Eine Aufgabe zum Parsen von Dokumenten übermitteln::
- Übermitteln Sie JSON-Auftragsbeschreibungen mit Dokumentenlade- und Parsing-Aufgaben über die API.
- Beispiel für eine JSON-Stellenbeschreibung:
{ "document_payload": "base64_encoded_document", "document_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] "ingestion_tasks": ["parse_text", "extract_metadata"], ["parse_text", "extract_metadata"] }
- Parse-Ergebnisse abrufen::
- Rufen Sie die Ergebnisse des Auftrags über die API ab. Das Ergebnis ist ein JSON-Wörterbuch mit extrahierten Objekt-Metadaten, Verarbeitungsanmerkungen und Zeit-/Verfolgungsdaten.
- Beispiele für API-Aufrufe:
curl -X GET "http://localhost:5000/api/results/{job_id}"
- Unterstützte Dokumenttypen und Extraktionsmethoden::
- PDF-Dokumente: Unterstützung für die Extraktion über pdfium, Unstructured.io und Adobe Content Extraction Services.
- Word-Dokumente: Unterstützung der Extraktion über die Microsoft Office API.
- PowerPoint-Dokumente: Die Extraktion über die Microsoft Office API wird unterstützt.
- Bilder: Die Extraktion über OCR wird unterstützt.
- Vor- und Nachbearbeitungsvorgänge::
- Text-Splitting und Chunking: Aufteilung langer Texte in kleinere Abschnitte zur besseren Verarbeitung und Analyse.
- Konvertierung und Filterung: Konvertieren und Filtern des extrahierten Textes zur Verbesserung der Datenqualität.
- Einbettungsgenerierung: Berechnet Einbettungen von extrahierten Inhalten für die Speicherung und den Abruf in einer Vektordatenbank.
- Bildauslagerung in den Speicher: Auslagerung der extrahierten Bilder in einen externen Speicher zur weiteren Verarbeitung und Analyse.