Pipeline für die Dokumentverarbeitung mit Workflows erstellen
Wenn Sie mit Document AI Workflows erstellen, die mehrere Schritte zur Verarbeitung von Dokumenten umfassen, können Sie Ihren Workflow mit einer serverlosen Orchestrierung verwalten.
Mit Workflows werden eine Reihe von Aufgaben in einer von Ihnen definierten Reihenfolge verknüpft. Es ist keine Infrastrukturverwaltung erforderlich und bei Bedarf ist eine nahtlose Skalierung möglich, einschließlich der Skalierung auf null. Mit dem nutzungsbasierten Preismodell zahlen Sie nur für die Ausführungszeit.
Workflows bietet einen integrierten Connector für die Document AI API. Connectors benötigen keinen zusätzlichen Code, sondern nur die Definition der Schritte mithilfe einer Konfigurationsdatei. Connectors verarbeiten die Formatierung von Anfragen, sodass die Details der API ausgeblendet werden. Connectors bieten auch ein integriertes Verhalten für die Authentifizierung, die Wiederholungen und Vorgänge mit langer Laufzeit verarbeiten.
Weitere Informationen zu Connectors.
In diesem Leitfaden werden einige Beispielrechnungen mit dem Rechnungsparser-Prozessor durch Batchvorgänge verarbeitet.
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage, Workflows APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage, Workflows APIs.
Rechnungsparser erstellen
Verwenden Sie die Google Cloud Console, um einen neuen Rechnungsparser zu erstellen. Weitere Informationen zu Prozessoren erstellen und verwalten.
Klicken Sie im Navigationsmenü der Google Cloud Console auf Document AI und wählen Sie Prozessorgalerie aus.
Suchen Sie in der Prozessorgalerie
nach Rechnungsparser und wählen Sie Erstellen aus.Geben Sie einen Prozessornamen ein, z. B.
workflows-invoice-processor
.Wählen Sie die Region (
location
in der Document AI API) aus, auf der der Prozessor gehostet werden soll.Klicken Sie auf Erstellen. Der Tab Details zum Prozessor wird angezeigt.
Kopieren Sie Ihre Prozessor-ID. Sie müssen sie später in Ihrem Code verwenden.
Ausgabe-Bucket in Cloud Storage konfigurieren
Bei der asynchronen Batchverarbeitung müssen die Ein- und Ausgabedateien in Cloud Storage gespeichert werden. Der folgende Bucket enthält Beispieldateien, die in diesem Leitfaden als Eingabe verwendet werden:
gs://cloud-samples-data/documentai/workflows
Konfigurieren Sie einen Bucket, um die Ausgabedateien in Ihrem Projekt zu speichern.
Erstellen Sie einen Bucket in der Cloud Storage-Dokumentation unter Buckets erstellen oder verwenden Sie einen bereits vorhandenen Bucket.
Erstellen Sie einen Ordner im Bucket (z. B.
docai-workflows-output
).
Workflow erstellen
Öffnen Sie in der Google Cloud Console das Workflows-Dashboard.
Klicken Sie auf
Erstellen , um Ihren ersten Workflow zu erstellen. Die Seite Workflow erstellen wird angezeigt.Benennen Sie den Workflow indocai-workflows-quickstart
um.Fügen Sie eine Beschreibung hinzu und wählen Sie ein Dienstkonto für dieses Projekt aus.
- Wenn Sie noch kein Dienstkonto haben, wählen Sie Neues Dienstkonto erstellen aus.
- Geben Sie dem Dienstkonto einen Namen und wählen Sie Erstellen und fortfahren aus.
- Weisen Sie ihm die folgenden Rollen zu:
Document AI API User
Workflows Invoker
Logs Writer
Service Usage Consumer
- Wenn Sie noch kein Dienstkonto haben, wählen Sie Neues Dienstkonto erstellen aus.
Klicken Sie auf der Seite Workflow erstellen auf
Weiter .
Workflow definieren
Löschen Sie im
Workflows-Editor die Standard-YAML und fügen Sie den folgenden Code ein:main: params: [input] steps: - start: call: sys.log args: text: ${input} - vars: assign: - input_gcs_bucket: ${input.inputBucket} - output_gcs_bucket: ${input.outputBucket} - processor_id: ${input.processorId} - location: ${input.location} - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} - batch_process: call: googleapis.documentai.v1.projects.locations.processors.batchProcess args: name: ${"projects/" + project_id + "/locations/" + location + "/processors/" + processor_id} location: ${location} body: inputDocuments: gcsPrefix: gcsUriPrefix: ${input_gcs_bucket} documentOutputConfig: gcsOutputConfig: gcsUri: ${output_gcs_bucket} skipHumanReview: true result: batch_process_resp - return: return: ${batch_process_resp}
- Wählen Sie
Bereitstellen .
Workflow testen
Nachdem der Workflow bereitgestellt wurde, sollten Sie sich auf der Seite Workflow-Details befinden.
Klicken Sie oben auf der Seite auf
Ausführen , um die Seite Workflow ausführen aufzurufen. Auf dieser Seite können Sie Ihren Workflow in der Console testen.Ersetzen Sie die Platzhaltervariablen in der folgenden JSON-Eingabe:
- OUTPUT_BUCKET_PATH: Vollständiger Pfad zum zuvor erstellten Ausgabe-Bucket und -Ordner
- PROCESSOR_ID: Prozessor-ID für den zuvor erstellten Prozessor
- LOCATION: Speicherort des zuvor erstellten Prozessors
{ "inputBucket": "gs://cloud-samples-data/documentai/workflows", "outputBucket": "OUTPUT_BUCKET_PATH", "processorId": "PROCESSOR_ID", "location": "LOCATION" }
Kopieren Sie die JSON-Datei und fügen Sie sie in das
Eingabetextfeld ein.Klicken Sie unten im Workflow auf
Ausführen , um Ihre Eingabe zu testen. Warten Sie dann einen Moment, bis der Vorgang abgeschlossen ist.Nach Abschluss des Workflows sollte die JSON-Ausgabe in etwa so aussehen:
{ "done": true, "metadata": { "@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessMetadata", "createTime": "2023-02-24T18:31:18.521764Z", "individualProcessStatuses": [ { "humanReviewStatus": { "state": "SKIPPED" }, "inputGcsSource": "gs://cloud-samples-data/documentai/workflows/baking_technologies_invoice.pdf", "outputGcsDestination": "OUTPUT_BUCKET_PATH/11119195367705871803/0", "status": {} }, { "humanReviewStatus": { "state": "SKIPPED" }, "inputGcsSource": "gs://cloud-samples-data/documentai/workflows/generic_invoice.pdf", "outputGcsDestination": "OUTPUT_BUCKET_PATH/11119195367705871803/1", "status": {} }, { "humanReviewStatus": { "state": "SKIPPED" }, "inputGcsSource": "gs://cloud-samples-data/documentai/workflows/google_invoice.pdf", "outputGcsDestination": "OUTPUT_BUCKET_PATH/11119195367705871803/2", "status": {} } ], "state": "SUCCEEDED", "updateTime": "2023-02-24T18:31:52.543163Z" }, "name": "projects/PROJECT_ID/locations/LOCATION/operations/11119195367705871803", "response": { "@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessResponse" } }
Öffnen Sie den Ausgabespeicher-Bucket. Die Ausgabe für jede Rechnung wird in einem Ordner angezeigt, der nach der Vorgangs-ID benannt wird.
Innerhalb dieses Ordners gibt es Unterordner, einen für jedes aus dem Eingabebatch verarbeitete Dokument mit
Document
JSON-Datei(en).Sie können jede JSON-Datei prüfen oder Code schreiben, um die relevanten Felder für Ihren Anwendungsfall zu verwenden. Weitere Informationen im Leitfaden zur Verarbeitung von Antworten.
Sie können jetzt weitere Schritte im Workflow verknüpfen, um die Ausgabe weiterzuverarbeiten, z. B. das Einfügen der extrahierten Entitäten in eine Datenbank zu Analysezwecken.
Weitere Informationen zum Auslösen von Workflows finden Sie in der Dokumentation zu Workflows.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
Um unnötige Google Cloud -Gebühren zu vermeiden, verwenden Sie die Google Cloud Console, um den Prozessor, den Bucket, den Workflow und das Projekt zu löschen, wenn Sie diese nicht mehr benötigen.
Nächste Schritte
- Weitere Informationen zu Workflows
- Weitere Informationen zum Document AI Workflows-Connector
- Eine Liste und Beschreibungen der derzeit verfügbaren Prozessoren
- Weitere Informationen zum Umgang mit der Verarbeitungsantwort