In diesem Leitfaden zeige ich Ihnen, wie Sie mithilfe von Vision-Language-Modellen (VLMs) wie Gemini Flash oder GPT-4o strukturierte Daten aus PDFs extrahieren.
Gemini, Googles neueste Serie von Vision-Language-Modellen, hat modernste Leistung beim Text- und Bildverständnis gezeigt. Diese verbesserte multimodale Fähigkeit und das lange Kontextfenster machen es besonders nützlich für die Verarbeitung visuell komplexer PDF-Daten, mit denen herkömmliche Extraktionsmodelle Schwierigkeiten haben, wie z. B. Abbildungen, Diagramme, Tabellen und Diagramme.
Auf diese Weise können Sie ganz einfach Ihr eigenes Datenextraktionstool für die visuelle Datei- und Webextraktion erstellen. So geht's:
Das lange Kontextfenster und die multimodale Fähigkeit von Gemini machen es besonders nützlich für die Verarbeitung visuell komplexer PDF-Daten, bei denen herkömmliche Extraktionsmodelle Schwierigkeiten haben.
Bevor wir uns mit der Extraktion befassen, richten wir unsere Entwicklungsumgebung ein. In dieser Anleitung wird davon ausgegangen, dass Sie Python auf Ihrem System installiert haben. Wenn nicht, laden Sie es von https://www.python.org/downloads/
herunter und installieren Sie es.⚠️ Beachten Sie, dass Sie, wenn Sie Python nicht verwenden möchten, die Cloud-Plattform unter thepi.pe verwenden können, um Ihre Dateien hochzuladen und Ihr Ergebnis als CSV herunterzuladen, ohne Code schreiben zu müssen.
Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie die folgenden Befehle aus:
pip install git https://github.com/emcf/thepipe pip install pandas
Für Python-Neulinge: pip ist das Paketinstallationsprogramm für Python, und diese Befehle laden die erforderlichen Bibliotheken herunter und installieren sie.
Um die Pipe zu verwenden, benötigen Sie einen API-Schlüssel.
Haftungsausschluss: Während thepi.pe ein kostenloses Open-Source-Tool ist, kostet die API etwa 0,00002 US-Dollar pro Token. Wenn Sie solche Kosten vermeiden möchten, schauen Sie sich die Anleitung zur lokalen Einrichtung auf GitHub an. Beachten Sie, dass Sie weiterhin den LLM-Anbieter Ihrer Wahl bezahlen müssen.
So erhalten und richten Sie es ein:
Jetzt müssen Sie dies als Umgebungsvariable festlegen. Der Vorgang variiert je nach Betriebssystem:
Für Windows:
Für macOS und Linux:
Öffnen Sie Ihr Terminal und fügen Sie diese Zeile zu Ihrer Shell-Konfigurationsdatei hinzu (z. B. ~/.bashrc oder ~/.zshrc):
export THEPIPE_API_KEY=your_api_key_here
Dann laden Sie Ihre Konfiguration neu:
source ~/.bashrc # or ~/.zshrc
Der Schlüssel zu einer erfolgreichen Extraktion liegt in der Definition eines klaren Schemas für die Daten, die Sie extrahieren möchten. Nehmen wir an, wir extrahieren Daten aus einem Stücklistendokument:
Ein Beispiel für eine Seite aus dem Stücklistendokument. Die Daten auf jeder Seite sind unabhängig von den anderen Seiten, daher führen wir unsere Extraktion „pro Seite“ durch. Pro Seite müssen mehrere Daten extrahiert werden, daher setzen wir mehrere Extraktionen auf True
Wenn wir uns die Spaltennamen ansehen, möchten wir vielleicht ein Schema wie dieses extrahieren:
schema = { "item": "string", "unit": "string", "quantity": "int", }
Sie können das Schema auf der pi.pe-Plattform nach Ihren Wünschen ändern. Wenn Sie auf „Schema anzeigen“ klicken, erhalten Sie ein Schema, das Sie zur Verwendung mit der Python-API kopieren und einfügen können
Jetzt verwenden wir extract_from_file, um Daten aus einer PDF-Datei abzurufen:
from thepipe.extract import extract_from_file results = extract_from_file( file_path = "bill_of_quantity.pdf", schema = schema, ai_model = "google/gemini-flash-1.5b", chunking_method = "chunk_by_page" )
Hier haben wir chunking_method="chunk_by_page", weil wir jede Seite einzeln an das KI-Modell senden möchten (die PDF-Datei ist zu groß, um alle auf einmal einzuspeisen). Wir setzen auch multiple_extractions=True, da die PDF-Seiten jeweils mehrere Datenzeilen enthalten. So sieht eine Seite aus dem PDF aus:
Die Ergebnisse der Extraktion für die Stücklisten-PDF, wie auf der thepi.pe-Plattform angezeigt
Die Extraktionsergebnisse werden als Liste von Wörterbüchern zurückgegeben. Wir können diese Ergebnisse verarbeiten, um einen Pandas-DataFrame zu erstellen:
import pandas as pd df = pd.DataFrame(results) # Display the first few rows of the DataFrame print(df.head())
Dadurch wird ein DataFrame mit allen extrahierten Informationen erstellt, einschließlich Textinhalten und Beschreibungen visueller Elemente wie Abbildungen und Tabellen.
Da wir nun unsere Daten in einem DataFrame haben, können wir sie problemlos in verschiedene Formate exportieren. Hier sind einige Optionen:
df.to_excel("extracted_research_data.xlsx", index=False, sheet_name="Research Data")
Dadurch wird eine Excel-Datei namens „extracted_research_data.xlsx“ mit einem Blatt namens „Research Data“ erstellt. Der Parameter index=False verhindert, dass der DataFrame-Index als separate Spalte eingefügt wird.
Wenn Sie ein einfacheres Format bevorzugen, können Sie in CSV exportieren:
df.to_csv("extracted_research_data.csv", index=False)
Dadurch wird eine CSV-Datei erstellt, die in Excel oder einem beliebigen Texteditor geöffnet werden kann.
Der Schlüssel zu einer erfolgreichen Extraktion liegt in der Definition eines klaren Schemas und der Nutzung der multimodalen Fähigkeiten des KI-Modells. Wenn Sie mit diesen Techniken vertrauter werden, können Sie erweiterte Funktionen wie benutzerdefinierte Chunking-Methoden, benutzerdefinierte Extraktionsaufforderungen und die Integration des Extraktionsprozesses in größere Datenpipelines erkunden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3