Crie um pipeline de processamento de documentos com fluxos de trabalho
Se estiver a usar a Document AI para criar fluxos de trabalho que envolvem vários passos para processar documentos, pode usar a orquestração sem servidor para gerir o seu fluxo de trabalho.
Os fluxos de trabalho associam uma série de tarefas numa ordem que define. Não requer gestão de infraestrutura e é dimensionado de forma integrada a pedido, incluindo a redução para zero. Com o modelo de preços de pagamento por utilização, só paga pelo tempo de execução.
O Workflows oferece um conector incorporado para a API Document AI. Os conetores não requerem código adicional, exceto a definição dos passos através de um ficheiro de configuração. Os conetores processam a formatação dos pedidos, ocultando os detalhes da API. Os conetores também oferecem um comportamento incorporado para a autenticação, o processamento de novas tentativas e as operações de longa duração.
Para mais informações, consulte o artigo Compreenda os conetores.
Este guia processa um conjunto de faturas de amostra através do processador Invoice Parser com o processamento em lote
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
Antes de começar
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage, Workflows APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage, Workflows APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. No Google Cloud menu de navegação da consola, clique em Document AI e selecione Galeria de processadores.
Na galeria de processadores,
pesquise analisador de faturas e selecione Criar.Introduza um nome do processador, como
workflows-invoice-processor
.Selecione a região (
location
na API Document AI) para alojar o processador.Clique em Criar. É apresentado o separador Detalhes do processador.
Copie o seu ID do processador. Tem de usar este valor no código mais tarde.
Siga o guia Crie contentores na documentação do Cloud Storage para criar um contentor ou use um contentor já existente.
Crie uma pasta no contentor (por exemplo,
docai-workflows-output
).Abra o painel de controlo Fluxos de trabalho na Google Cloud consola.
Clique em
Criar para criar o seu primeiro fluxo de trabalho. É apresentada a página Criar fluxo de trabalho.Mude o nome do fluxo de trabalho paradocai-workflows-quickstart
.Adicione uma descrição e selecione uma conta de serviço, se tiver uma para este projeto.
- Se não tiver uma conta de serviço, selecione Criar nova conta de serviço.
- Atribua um nome à conta de serviço e selecione Criar e continuar.
- Atribua-lhe as seguintes funções:
Document AI API User
Workflows Invoker
Logs Writer
Service Usage Consumer
- Atribua um nome à conta de serviço e selecione Criar e continuar.
- Se não tiver uma conta de serviço, selecione Criar nova conta de serviço.
Na página Criar fluxo de trabalho, clique em
Seguinte .No
editor de fluxos de trabalho , limpe o YAML predefinido e cole o código abaixo: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}
- Selecione
Implementar . Clique em
Executar na parte superior da página para aceder à página Executar fluxo de trabalho. Esta página permite-lhe testar o seu fluxo de trabalho na consola.Substitua as variáveis dos marcadores de posição no seguinte JSON de entrada:
- OUTPUT_BUCKET_PATH: o caminho completo para o contentor e a pasta de saída criados anteriormente.
- PROCESSOR_ID: o ID do processador criado anteriormente.
- LOCATION: a região do processador criada anteriormente.
{ "inputBucket": "gs://cloud-samples-data/documentai/workflows", "outputBucket": "OUTPUT_BUCKET_PATH", "processorId": "PROCESSOR_ID", "location": "LOCATION" }
Copie/cole o JSON na
caixa de texto de entrada .Clique em
Executar na parte inferior do fluxo de trabalho para testar a sua entrada e aguarde um momento para que o processo seja concluído.Quando o fluxo de trabalho terminar, o JSON de saída deve ter um aspeto semelhante ao seguinte.
{ "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" } }
Abra o contentor de armazenamento de saída. Vai ver a saída de cada fatura processada numa pasta com o nome do ID da operação.
Dentro desta pasta, existem subpastas, uma para cada documento processado a partir do lote de entrada que contém ficheiros JSON
Document
.Pode inspecionar cada ficheiro JSON ou escrever código para usar os campos relevantes para o seu exemplo de utilização. Consulte o guia de processamento de respostas para mais informações.
Agora, pode associar passos adicionais no fluxo de trabalho para processar ainda mais o resultado, como inserir as entidades extraídas numa base de dados para análise.
Consulte a documentação sobre fluxos de trabalho para mais informações sobre como acionar fluxos de trabalho.
- Saiba mais sobre os Fluxos de trabalho
- Saiba mais sobre o conetor de fluxos de trabalho da IA Documental
- Veja uma lista e descrições dos processadores disponíveis atualmente.
- Saiba como processar a resposta.
Crie um analisador de faturas
Use a Google Cloud consola para criar um novo analisador de faturas. Consulte a página de criação e gestão de processadores para mais informações.
Configure o contentor de saída no Cloud Storage
Quando usa o processamento em lote (assíncrono), os ficheiros de entrada e saída têm de ser armazenados no Cloud Storage. O seguinte contentor contém ficheiros de exemplo para usar como entrada para este guia:
gs://cloud-samples-data/documentai/workflows
Configure um contentor para armazenar os ficheiros de saída no seu projeto.
Criar fluxo de trabalho
Defina o fluxo de trabalho

Fluxo de trabalho de teste
Agora que o fluxo de trabalho foi implementado, deve estar na página Detalhes do fluxo de trabalho.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Para evitar Google Cloud cobrançasGoogle Cloud console desnecessárias, use o Google Cloud console para eliminar o processador, o contentor, o fluxo de trabalho e o projeto se não precisar deles.