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 detalhadas desta tarefa diretamente no console do Google Cloud , clique em Orientação:
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Funções exigidas
Para receber as permissões necessárias para criar um classificador personalizado, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Administrador da Document AI (
roles/documentai.admin) - Administrador de projetos do IAM (
roles/resourcemanager.projectIamAdmin) - Usuário da conta de serviço (
roles/iam.serviceAccountUser) - Administrador do Storage (
roles/storage.admin) - Editor do Workflows (
roles/workflows.editor) -
Crie uma conta de serviço:
Criar contas de serviço (
roles/iam.serviceAccountCreator)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Criar um analisador de faturas
Use o console 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 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 (
locationna API Document AI) para hospedar o processador.Clique em Criar. A guia Detalhes do processador é exibida.
Copie o ID do processador. Você vai usá-lo no 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 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 UserWorkflows InvokerLogs WriterService Usage Consumer
- Nomeie sua conta de serviço e selecione Criar e continuar.
- 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