Crie um pipeline de processamento de documentos com o Workflows
Se você está usando a Document AI para criar fluxos de trabalho que envolvem várias etapas para processar documentos, recomendamos usar a orquestração sem servidor para gerenciar seu fluxo de trabalho.
O Workflows vincula uma série de tarefas em uma ordem definida por você. Ele não exige gerenciamento de infraestrutura e é escalonado sem interrupções, sob demanda, incluindo a redução da escala a zero. Com o modelo de preços de pagamento por uso, você paga apenas pelo tempo de execução.
O Workflows oferece um conector integrado para a API Document AI. Os conectores não exigem código adicional além da definição das etapas usando um arquivo de configuração. Os conectores lidam com a formatação das solicitações, ocultando os detalhes da API. Os conectores também oferecem comportamento integrado para autenticação, processamento de tentativas e operações de longa duração.
Para mais informações, consulte Noções básicas sobre conectores.
Este guia processa um conjunto de faturas de amostra usando o processador do analisador de faturas com processamento em lote
Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:
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.
-
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.
Criar um analisador de faturas
Use o console do Google Cloud para criar um novo analisador de faturas. Consulte a página sobre como criar e gerenciar processadores para mais informações.
No menu de navegação do console do Google Cloud, clique em Document AI e selecione Processor Gallery.
Na Galeria de processadores,
procure analisador de faturas e selecione Criar.Digite um Nome de processador, como
workflows-invoice-processor
.Selecione a região (
location
na API Document AI) para hospedar o processador.Clique em Criar. A guia Detalhes do processador é exibida.
Copie o ID do processador. Você precisará usá-la em seu código mais tarde.
Configurar o bucket de saída no Cloud Storage
Ao usar o processamento em lote (assíncrono), os arquivos de entrada e saída precisam ser armazenados no Cloud Storage. O bucket abaixo contém amostras de arquivos a serem usados como entrada para este guia:
gs://cloud-samples-data/documentai/workflows
Configure um bucket para armazenar os arquivos de saída no projeto.
Siga o guia Criar buckets na documentação do Cloud Storage para criar um bucket ou use um que já exista.
Crie uma pasta no bucket (por exemplo,
docai-workflows-output
).
Criar fluxo de trabalho
Abra o painel Fluxos de trabalho no console do Google Cloud.
Clique em
Criar para criar seu primeiro fluxo de trabalho. A página Criar fluxo de trabalho é exibida.Renomeie o fluxo de trabalho comodocai-workflows-quickstart
.Adicione uma descrição e selecione uma conta de serviço, se você tiver uma para este projeto.
- Se você não tiver uma conta de serviço, selecione Criar nova conta de serviço.
- Nomeie sua conta de serviço e selecione Criar e continuar.
- Atribua os seguintes papéis a ele:
Document AI API User
Workflows Invoker
Logs Writer
Service Usage Consumer
- Se você não tiver uma conta de serviço, selecione Criar nova conta de serviço.
Na página Criar fluxo de trabalho, clique em
Próxima .
Definir fluxo de trabalho
No
editor de fluxos de trabalho , limpe o YAML padrão 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
Implantar .
Fluxo de trabalho de teste
Agora que o fluxo de trabalho foi implantado, você deverá estar na página Detalhes do fluxo de trabalho.
Clique em
Executar na parte superior da página para acessar a página Executar fluxo de trabalho. Nesta página, você pode testar seu fluxo de trabalho no console.Substitua as variáveis de marcador no seguinte JSON de entrada:
- OUTPUT_BUCKET_PATH: o caminho completo para o bucket de saída e a pasta criados anteriormente.
- PROCESSOR_ID: o ID do processador criado anteriormente.
- LOCATION: a região do processador criado anteriormente.
{ "inputBucket": "gs://cloud-samples-data/documentai/workflows", "outputBucket": "OUTPUT_BUCKET_PATH", "processorId": "PROCESSOR_ID", "location": "LOCATION" }
Copie e cole o JSON na
caixa de texto de entrada .Clique em
Executar na parte inferior do fluxo de trabalho para testar a entrada e aguarde um momento para que o processo seja concluído.Quando o fluxo de trabalho termina, o JSON de saída é parecido com este:
{ "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 bucket de armazenamento de saída para verificar a saída de cada fatura processada em uma pasta com o nome do ID da operação.
Nela, haverá subpastas, uma para cada documento processado no lote de entrada que contém arquivos JSON
Document
.Você pode inspecionar cada arquivo JSON ou código de gravação para usar os campos relevantes para seu caso de uso. Consulte o guia sobre como processar respostas para mais informações.
Agora é possível vincular outras etapas ao fluxo de trabalho para processar ainda mais a saída, como inserir as entidades extraídas em um banco de dados para análise.
Consulte a documentação de fluxos de trabalho para mais informações sobre como acionar fluxos de trabalho.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
Para evitar cobranças desnecessárias do Google Cloud , use o console do Google Cloud para excluir o processador, o bucket, o fluxo de trabalho e o projeto se você não precisar deles.
A seguir
- Saiba mais sobre fluxos de trabalho
- Saiba mais sobre o Document AI Workflows Connector
- Confira uma lista e descrições dos processadores disponíveis.
- Saiba como processar a resposta.