Crea una pipeline di elaborazione di documenti con Workflows
Se utilizzi Document AI per creare flussi di lavoro che prevedono diversi passaggi per elaborare i documenti, potresti voler utilizzare l'orchestrazione serverless per gestire il flusso di lavoro.
Workflows collega una serie di attività in un ordine definito da te. Non richiede alcuna gestione dell'infrastruttura e offre scalabilità senza interruzioni on demand, incluso lo scale down fino a zero. Grazie al modello di prezzi a consumo, paghi solo in base al tempo di esecuzione.
Workflows fornisce un connettore integrato per l'API Document AI. I connettori non richiedono codice aggiuntivo oltre a definire i passaggi utilizzando un file di configurazione. I connettori gestiscono la formattazione delle richieste e nascondono i dettagli dell'API. I connettori offrono inoltre un comportamento integrato per l'autenticazione, gestendo i nuovi tentativi e le operazioni a lunga esecuzione.
Per saperne di più, vedi Informazioni sui connettori.
Questa guida elabora un insieme di fatture di esempio utilizzando il processore di analisi delle fatture con l'elaborazione batch.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Prima di iniziare
- 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.
Crea un analizzatore sintattico delle fatture
Utilizza la console Google Cloud per creare un nuovo analizzatore sintattico delle fatture. Per maggiori informazioni, consulta la pagina Creazione e gestione dei processori.
Nel menu di navigazione della console Google Cloud, fai clic su Document AI e seleziona Galleria processori.
Nella Galleria processori,
cerca Analizzatore sintattico delle fatture e seleziona Crea.Inserisci il Nome processore, ad esempio
workflows-invoice-processor
.Seleziona la regione (
location
nell'API Document AI) in cui ospitare il processore.Fai clic su Crea. Viene visualizzata la scheda Dettagli del processore.
Copia il tuo ID processore. Lo dovrai utilizzare nel tuo codice in un secondo momento.
Configura il bucket di output in Cloud Storage
Quando utilizzi l'elaborazione batch (asincrona), i file di input e di output devono essere archiviati in Cloud Storage. Il bucket seguente contiene file di esempio da utilizzare come input per questa guida:
gs://cloud-samples-data/documentai/workflows
Configura un bucket per archiviare i file di output nel progetto.
Segui la guida Crea bucket nella documentazione di Cloud Storage per creare un bucket o utilizza un bucket già esistente.
Crea una cartella nel bucket (ad esempio
docai-workflows-output
).
Crea flusso di lavoro
Apri la dashboard di Workflows nella console Google Cloud.
Fai clic su
Crea per creare il primo flusso di lavoro. Viene visualizzata la pagina Crea flusso di lavoro.Rinomina il flusso di lavoro indocai-workflows-quickstart
.Aggiungi una descrizione e seleziona un account di servizio se ne hai uno per questo progetto.
- Se non hai un account di servizio, seleziona Crea nuovo account di servizio.
- Assegna un nome all'account di servizio e seleziona Crea e continua.
- Assegna i seguenti ruoli:
Document AI API User
Workflows Invoker
Logs Writer
Service Usage Consumer
- Se non hai un account di servizio, seleziona Crea nuovo account di servizio.
Nella pagina Crea flusso di lavoro, fai clic su
Avanti .
Definisci flusso di lavoro
Nell'
editor di Workflows , cancella il file YAML predefinito e incolla il codice seguente: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}
- Seleziona
Esegui il deployment .
Testa il flusso di lavoro
Ora che hai eseguito il deployment del flusso di lavoro, dovresti essere nella pagina Dettagli flusso di lavoro.
Fai clic su
Esegui nella parte superiore della pagina per andare alla pagina Esegui flusso di lavoro. Questa pagina ti consente di testare il flusso di lavoro nella console.Sostituisci le variabili segnaposto nel seguente file JSON di input:
- OUTPUT_BUCKET_PATH: il percorso completo del bucket di output e della cartella creati in precedenza.
- PROCESSOR_ID: l'ID processore creato in precedenza.
- LOCATION: la località del processore creata in precedenza.
{ "inputBucket": "gs://cloud-samples-data/documentai/workflows", "outputBucket": "OUTPUT_BUCKET_PATH", "processorId": "PROCESSOR_ID", "location": "LOCATION" }
Copia e incolla il file JSON nella
casella di testo di input .Fai clic su
Esegui nella parte inferiore del flusso di lavoro per testare l'input e attendi il completamento del processo.Al termine del flusso di lavoro, il file JSON di output dovrebbe avere il seguente aspetto.
{ "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" } }
Apri il bucket di archiviazione di output e vedrai l'output di ogni fattura elaborata in una cartella con il nome dell'ID operazione.
All'interno di questa cartella saranno presenti sottocartelle, una per ogni documento elaborato dal batch di input contenente i file JSON
Document
.Puoi esaminare ogni file JSON o scrivere codice per utilizzare i campi pertinenti per il tuo caso d'uso. Per maggiori informazioni, consulta la guida alla gestione della risposta di elaborazione.
Ora puoi collegare passaggi aggiuntivi nel flusso di lavoro per elaborare ulteriormente l'output, ad esempio inserendo le entità estratte in un database per l'analisi.
Per maggiori informazioni su come attivare i flussi di lavoro, consulta la documentazione di Workflows.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Per evitare addebiti non necessari per Google Cloud , utilizza la console Google Cloud per eliminare il processore, il bucket, il flusso di lavoro e il progetto se non ti servono.
Passaggi successivi
- Scopri di più su Workflows
- Scopri di più sul connettore Workflows per Document AI
- Consulta un elenco e le descrizioni dei processori disponibili.
- Scopri come gestire la risposta di elaborazione.