Prüfpunkte
Enable the Document AI API.
/ 20
Configure your Vertex AI Workbench instance
/ 20
Make a synchronous process document request.
/ 20
Prepare your environment for asynchronous API calls
/ 20
Make an asynchronous process document request
/ 20
Dokumente mit Python und der Document AI API verarbeiten
- GSP925
- Übersicht
- Einrichtung und Anforderungen
- Aufgabe 1: Allgemeinen Formularprozessor erstellen und testen
- Aufgabe 2: Vertex AI Workbench-Instanz für das Ausführen von Document AI API-Aufrufen konfigurieren
- Aufgabe 3: Anfrage zur synchronen Dokumentverarbeitung stellen
- Aufgabe 4: Synchronen Document AI-Python-Code ausführen
- Aufgabe 5: Document AI-Dokument-OCR-Prozessor erstellen
- Aufgabe 6: Umgebung für asynchrone Document AI API-Aufrufe vorbereiten
- Aufgabe 7: Anfrage zur asynchronen Dokumentverarbeitung stellen
- Glückwunsch
GSP925
Übersicht
Die Document AI API ist eine Dokumenterkennungslösung. Sie ermöglicht es, unstrukturierte Daten wie Dokumente und E‑Mails leichter zu verstehen, zu analysieren und zu nutzen.
In diesem Lab verwenden Sie die Document AI API mit Python, um verschiedene Prozessoren zu erstellen, darunter einen allgemeinen Formularprozessor und einen Dokument-OCR-Prozessor. Anschließend senden Sie mit Python synchrone und asynchrone Aufrufe an die API. Es wird eine Vertex AI Workbench-Instanz für Sie erstellt, die Sie zusammen mit JupyterLab-Notebooks nutzen, um mit den Document AI-Python-Clientmodulen zu arbeiten.
Lernziele
Aufgaben in diesem Lab:
- Document AI API aktivieren und Prozessoren erstellen
- Clientbibliothek für Python in einer Vertex AI Workbench-Instanz installieren
- Mit Python Daten aus einem gescannten Formular parsen, um einen synchronen API-Aufruf zu senden
- Mit Python Daten aus gescannten Formularen parsen, um einen asynchronen API-Aufruf zu senden
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
- Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren .
Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID,
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
- Klicken Sie auf Autorisieren.
Ausgabe:
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
Ausgabe:
gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Aufgabe 1: Allgemeinen Formularprozessor erstellen und testen
In dieser Aufgabe aktivieren Sie die Document AI API und erstellen und testen einen allgemeinen Formularprozessor. Der allgemeine Formularprozessor verarbeitet beliebige Arten von Dokumenten und extrahiert den gesamten Textinhalt, den er in einem Dokument finden kann. Er ist nicht auf gedruckten Text beschränkt, sondern kann auch handschriftlichen Text und Text in beliebiger Ausrichtung verarbeiten. Er unterstützt mehrere Sprachen und weiß, wie Datenelemente in Formularen miteinander in Beziehung stehen. Sie können damit also Schlüssel/Wert-Paare für Formularfelder mit Textlabels extrahieren.
Cloud Document AI API aktivieren
Bevor Sie mit Document AI arbeiten können, müssen Sie die API aktivieren.
-
Klicken Sie in der Cloud Console im Navigationsmenü () auf APIs und Dienste > Bibliothek.
-
Suchen Sie nach der Cloud Document AI API und klicken Sie auf Aktivieren, um die API in Ihrem Google Cloud-Projekt zu verwenden.
Falls die Cloud Document AI API bereits aktiviert ist, sehen Sie die Schaltfläche Verwalten. Sie können mit dem Rest des Labs fortfahren.
Allgemeinen Formularprozessor erstellen
Sie erstellen mit dem Document AI-Formularparser einen Document AI-Prozessor.
-
Klicken Sie in der Console im Navigationsmenü () auf Document AI > Übersicht.
-
Klicken Sie auf Prozessor kennenlernen und wählen Sie Formularparser aus. Dies ist ein allgemeiner Prozessor.
-
Geben Sie dem Prozessor den Namen form-parser und wählen Sie die Region US (United States) aus der Liste aus.
-
Klicken Sie auf Erstellen, um den allgemeinen Prozessor „form-parser“ zu erstellen.
Dadurch wird der Prozessor erstellt und Sie kehren zur Prozessordetailseite zurück, auf der die Prozessor-ID, der Status und der Vorhersageendpunkt angezeigt werden.
- Notieren Sie sich die Prozessor-ID, da Sie diese in kommenden Aufgaben für Variablen in JupyterLab-Notebooks einsetzen müssen.
Aufgabe 2: Vertex AI Workbench-Instanz für das Ausführen von Document AI API-Aufrufen konfigurieren
Jetzt stellen Sie eine Verbindung zu JupyterLab her, das auf der Vertex AI Workbench-Instanz ausgeführt wird. Diese wurde für Sie zu Beginn des Labs erstellt. Dann konfigurieren Sie diese Umgebung für die restlichen Lab-Aufgaben.
-
Klicken Sie in der Google Cloud Console im Navigationsmenü auf Vertex AI > Workbench.
-
Suchen Sie die Instanz
und klicken Sie auf JupyterLab öffnen.
Die JupyterLab-Oberfläche für Ihre Workbench-Instanz wird in einem neuen Browsertab geöffnet.
-
Klicken Sie auf Terminal, um eine Terminal-Shell in der Vertex AI Workbench-Instanz zu öffnen.
-
Geben Sie in der Terminal-Shell den folgenden Befehl ein, um die Lab-Dateien in die Vertex AI Workbench-Instanz zu importieren:
- Geben Sie in der Terminal-Shell den folgenden Befehl ein, um die Python-Clientbibliotheken für Document AI und andere erforderliche Bibliotheken zu installieren:
Der Ausgabe sollte sich entnehmen lassen, dass die Bibliotheken installiert wurden.
- Geben Sie in der Terminal-Shell den folgenden Befehl ein, um das Beispiel eines medizinischen Aufnahmeformulars zu importieren:
-
Öffnen Sie in der Notebook-Oberfläche das JupyterLab-Notebook
. -
Wählen Sie im Dialogfeld Select Kernel (Kernel auswählen) in der Liste der verfügbaren Kernel die Option Python 3 aus.
Aufgabe 3: Anfrage zur synchronen Dokumentverarbeitung stellen
Sie senden über einen synchronen Document AI API-Aufruf einen Aufruf zur Dokumentverarbeitung. Zur gleichzeitigen Verarbeitung großer Mengen an Dokumenten können Sie auch die asynchrone API verwenden, mit der wir uns in einer späteren Aufgabe befassen.
Python-Code auf synchrone Document AI API-Aufrufe überprüfen
Nehmen Sie sich kurz Zeit, um sich den Python-Code im Notebook
Durch den ersten Codeblock werden die benötigten Bibliotheken importiert und einige Variablen initialisiert.
Durch die Codezelle Set your Processor ID wird die Prozessor-ID festgelegt, die manuell eingerichtet werden muss, bevor Sie Dokumente mit dem Notebook verarbeiten können.
Sie brauchen für diesen Schritt die Document AI-Prozessor-ID des Prozessors, den Sie in Aufgabe 1 erstellt haben.
Tipp: Falls Sie die Prozessor-ID nicht notiert haben, öffnen Sie im Cloud Console-Tab das Navigationsmenü () und klicken Sie auf Document AI > Meine Prozessoren und dann auf den Namen des Prozessors, um die Detailseite aufzurufen. Dort können Sie die Prozessor-ID kopieren.
In der Codezelle Process Document Function wird die Funktion process_document
definiert, die dazu dient, einen synchronen Aufruf an einen Document AI-Prozessor zu senden. Durch die Funktion wird ein Document AI API-Clientobjekt erstellt.
Der für den API-Aufruf erforderliche Prozessorname wird mithilfe der Parameter project_id
, locations
und processor_id
erstellt und das PDF-Beispieldokument wird in einer mime_type
-Struktur gelesen und gespeichert.
Durch die Funktion wird ein Anfrageobjekt erstellt, das den vollständigen Prozessornamen des Dokuments enthält. Dieses Objekt wird als Parameter für einen synchronen Aufruf an den Document AI API-Client verwendet. Wenn die Anfrage erfolgreich ist, enthält das zurückgegebene Dokumentobjekt Attribute, die die im Formular erkannten Entitäten beinhalten.
Mit der Codezelle Process Document wird die Funktion process_document
aufgerufen, die Antwort in der Variablen document
gespeichert und der gefundene Rohtext ausgegeben. Alle Prozessoren melden Daten für das Attribut document.text
.
Mit der Codezelle Get Text Function wird die Funktion get_text()
definiert, die dazu dient, mit den Attributen text_anchor
, start_index
und end_index
der text_segments
eines benannten Elements den Text für dieses Element abzurufen. Mit dieser Funktion werden der Formularname und ‑wert für Formulardaten abgerufen, wenn diese Daten vom Prozessor zurückgegeben werden.
Die Zelle Display Form Data wird für alle Seiten iteriert, die gefunden wurden, und für jedes erkannte form_field
werden mit der Funktion get_text()
der Feldname und ‑wert abgerufen. Diese Werte werden dann gemeinsam mit ihren Konfidenzwerten ausgegeben. Formulardaten werden von Prozessoren zurückgegeben, die den allgemeinen Formularparser oder spezialisierte Parser verwenden, aber nicht von Prozessoren, die mit dem Dokument-OCR-Parser erstellt wurden.
Mit der Zelle Display Entity Data werden Entitätsdaten aus dem Dokumentobjekt extrahiert und es werden für jede gefundene Entität der Entitätstyp und ‑wert sowie die Konfidenzwerte angezeigt. Entitätsdaten werden nur von Prozessoren zurückgegeben, die spezialisierte Document AI-Parser wie den Beschaffungskostenparser verwenden. Der allgemeine Formularparser und der Dokument-OCR-Parser geben keine Entitätsdaten zurück.
Aufgabe 4: Synchronen Document AI-Python-Code ausführen
Sie führen den Code aus, um im JupyterLab-Notebook synchrone Aufrufe an die Document AI API zu senden.
-
Ersetzen Sie in der zweiten Set your Processor ID-Codezelle den Platzhaltertext
PROCESSOR_ID
durch die Prozessor-ID des Prozessors form-parser, den Sie in einem früheren Schritt erstellt haben. -
Wählen Sie die erste Zelle aus und klicken Sie auf das Menü Run (Ausführen) und dann auf Run Selected Cell and All Below (Ausgewählte Zelle und alle darunter ausführen), um sämtlichen Code im Notebook auszuführen.
Wenn Sie das Beispiel eines medizinischen Aufnahmeformulars verwenden, werden Ihnen für die Ausgabezelle der Formulardaten Daten ähnlich den folgenden angezeigt:
Wenn es Ihnen gelingt, einen spezialisierten Prozessor zu erstellen, enthält die letzte Zelle Entitätsdaten. Ansonsten sehen Sie eine leere Tabelle.
- Klicken Sie im JupyterLab-Menü auf Datei und dann auf Notebook speichern, um Ihren Fortschritt zu speichern.
Aufgabe 5: Document AI-Dokument-OCR-Prozessor erstellen
In dieser Aufgabe erstellen Sie mit dem allgemeinen Dokument-OCR-Parser einen Document AI-Prozessor.
-
Klicken Sie im Navigationsmenü auf Document AI > Übersicht.
-
Klicken Sie auf Prozessor kennenlernen und dann neben Dokument-OCR auf Prozessor erstellen. Dies ist ein allgemeiner Prozessor.
-
Geben Sie dem Prozessor den Namen ocr-processor und wählen Sie die Region US (United States) aus der Liste aus.
-
Klicken Sie auf Erstellen, um den Prozessor zu erstellen.
-
Notieren Sie sich die Prozessor-ID. Sie müssen sie in einer späteren Aufgabe angeben.
Aufgabe 6: Umgebung für asynchrone Document AI API-Aufrufe vorbereiten
In dieser Aufgabe laden Sie das JupyterLab-Beispielnotebook hoch, um asynchrone Document AI API-Aufrufe zu testen, und kopieren einige Beispielformulare für das Lab zur asynchronen Verarbeitung in Cloud Storage.
-
Klicken Sie auf den Tab Terminal, um die Terminal-Shell in der Vertex AI Workbench-Instanz wieder zu öffnen.
-
Erstellen Sie einen Cloud Storage-Bucket für die Eingabedokumente und kopieren Sie die W2-Beispielformulare in den Bucket:
-
Öffnen Sie in der Notebook-Oberfläche das JupyterLab-Notebook
. -
Wählen Sie im Dialogfeld Select Kernel (Kernel auswählen) in der Liste der verfügbaren Kernel die Option Python 3 aus.
Aufgabe 7: Anfrage zur asynchronen Dokumentverarbeitung stellen
Python-Code auf asynchrone Document AI API-Aufrufe überprüfen
Nehmen Sie sich kurz Zeit, um sich den Python-Code im Notebook
Durch die erste Codezelle werden die erforderlichen Bibliotheken importiert.
Durch die Codezelle Set your Processor ID wird die Prozessor-ID festgelegt, die manuell eingerichtet werden muss, bevor Sie Dokumente mit dem Notebook verarbeiten können.
Mit der Codezelle Set your variables werden die Parameter für den asynchronen Aufruf definiert, darunter der Speicherort der Cloud Storage-Buckets für Ein- und Ausgabe, die für die Quelldaten und Ausgabedateien verwendet werden. Sie aktualisieren die Platzhalterwerte in dieser Zelle für PROJECT_ID
und PROCESSOR_ID
im nächsten Abschnitt des Labs, bevor Sie den Code ausführen. Die anderen Variablen enthalten Standardwerte für den Prozessorstandort und die Cloud Storage-Buckets für Ein- und Ausgabe, die unverändert bleiben können.
Mit der Codezelle Define Google Cloud client objects werden der Document AI- und Cloud Storage-Client initialisiert.
Mit der Codezelle Create input configuration wird der Arrayparameter der Eingabekonfiguration für die Quelldaten erstellt, der als Eingabekonfiguration an die asynchrone Document AI-Anfrage übergeben wird. In diesem Array sind der Cloud Storage-Quellort und der MIME-Typ für alle Dateien am Cloud Storage-Eingabespeicherort gespeichert.
Durch die Codezelle Create output configuration wird der Ausgabeparameter für die asynchrone Anfrage erstellt, der den Speicherort des Cloud Storage-Buckets für die Ausgabe enthält. Dieser wird als Ausgabekonfiguration für den Document AI-Batch gespeichert.
Durch die Codezelle Create the Document AI API request wird mithilfe der Eingabe- und Ausgabekonfigurationsobjekte das Anfrageobjekt für die asynchrone Document AI-Batchverarbeitung erstellt.
Durch die Codezelle Start the batch (asynchronous) API operation wird eine Anfrage zur asynchronen Dokumentverarbeitung gestellt, indem das Anfrageobjekt an die Methode batch_process_documents()
übergeben wird. Da dies ein asynchroner Aufruf ist, verwenden Sie die Methode result()
, um das Notebook dazu zu zwingen zu warten, bis der asynchrone Hintergrundjob beendet ist.
Mit der Zelle Fetch list of output files werden die Objekte am Bucket-Ausgabespeicherort aufgezählt, wie in der Variablen destination_uri
definiert.
Mit der Codezelle Display detected text from asynchronous output JSON files werden alle gefundenen JSON-Ausgabedateien als Document AI-Dokumentobjekt geladen und die vom Dokument-OCR-Prozessor erkannten Textdaten werden ausgegeben.
Durch die Codezelle Display entity data werden alle gefundenen Entitätsdaten angezeigt. Allerdings sind diese nur für Prozessoren verfügbar, die mithilfe eines spezialisierten Parsers erstellt wurden. Mit dem in dieser Aufgabe verwendeten allgemeinen Document AI-Dokument-OCR-Parser werden keine Entitätsdaten angezeigt.
Asynchronen Document AI-Python-Code ausführen
Sie verwenden den Beispielcode im JupyterLab-Notebook, um Dokumente mit einer Document AI-Batchverarbeitungsanfrage asynchron zu verarbeiten.
-
Ersetzen Sie in der zweiten Codezelle den Platzhaltertext
PROCESSOR_ID
durch die Prozessor-ID des Prozessors form-parser, den Sie in einem vorherigen Schritt erstellt haben. -
Wählen Sie die erste Zelle aus und klicken Sie auf das Menü Run (Ausführen) und dann auf Run Selected Cell and All Below (Ausgewählte Zelle und alle darunter ausführen), um sämtlichen Code im Notebook auszuführen.
-
Während die Codezellen ausgeführt werden, können Sie das Notebook durchgehen und sich den Code sowie die Kommentare ansehen, in denen erklärt wird, wie das asynchrone Anfrageobjekt erstellt und verwendet wird.
Der Vorgang dauert ein bis zwei Minuten, da das Notebook warten muss, bis die asynchrone Batchverarbeitung in der Codezelle Start the batch (asynchronous) API operation beendet ist. Der API-Aufruf für die Batchverarbeitung selbst ist asynchron und im Notebook wird die Methode result
verwendet, damit es wartet, bis der asynchrone Aufruf beendet ist, bevor die Ausgabedaten aufgezählt und angezeigt werden.
Falls der asynchrone Job länger als erwartet dauert und das Zeitlimit überschreitet, müssen Sie die restlichen Zellen möglicherweise noch einmal ausführen, um die Ausgabe anzeigen zu lassen. Dies sind die Zellen nach der Codezelle Start the batch (asynchronous) API operation.
Die Ausgabe enthält Text, in dem die in jeder Datei gefundenen Document AI-Daten aufgeführt sind. Der Dokument-OCR-Parser erkennt keine Formular- oder Entitätsdaten, daher werden diese nicht ausgegeben. Wenn Sie einen spezialisierten Prozessor erstellen können, werden von der letzten Zelle auch Entitätsdaten ausgegeben.
- Klicken Sie im JupyterLab-Menü auf Datei und dann auf Notebook speichern, um Ihren Fortschritt zu speichern.
Glückwunsch
Sie haben synchrone und asynchrone Aufrufe an die Document AI API gesendet. In diesem Lab haben Sie die Document AI API aktiviert und Prozessoren erstellt. Sie haben die Clientbibliothek für Python in einer Vertex AI Workbench-Instanz installiert, Daten mit Python aus einem gescannten Formular geparst, um einen synchronen API-Aufruf zu senden, und mit Python Daten aus gescannten Formularen geparst, um einen asynchronen API-Aufruf zu senden.
Aufgabenreihe beenden
Dieses Lab zum selbstbestimmten Lernen ist Teil der Skill-Logo-Aufgabenreihe „Detect Manufacturing Defects using Visual Inspection AI“. Eine Aufgabenreihe besteht aus mehreren zusammengehörigen Labs, die gemeinsam einen Lernpfad bilden. Wenn Sie diese Aufgabenreihe abschließen, erhalten Sie ein entsprechendes Abzeichen, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge. Das Abzeichen können Sie öffentlich präsentieren und in Ihrem Online-Lebenslauf oder Social-Media-Konto verlinken. Wenn Sie sich für eine Aufgabenreihe registrieren, erhalten Sie nach Absolvierung dieses Labs umgehend den entsprechenden Nachweis. Weitere Aufgabenreihen
Weitere Informationen
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Handbuch zuletzt am 8. Oktober 2024 aktualisiert
Lab zuletzt am 8. Oktober 2024 getestet
© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.