Crea una canalización de procesamiento de documentos con Workflows
Si usas Document AI para compilar flujos de trabajo que impliquen varios pasos para procesar documentos, te recomendamos usar la organización sin servidores para administrar el flujo de trabajo.
Workflows vincula una serie de tareas en el orden que definas. No requiere administración de infraestructura y escala a pedido sin interrupciones, incluida la reducción vertical a cero. Con su modelo de precios de pago por uso, solo pagas por el tiempo de ejecución.
Los flujos de trabajo proporcionan un conector integrado para la API de Document AI. Los conectores no requieren código adicional, además de definir los pasos mediante un archivo de configuración. Los conectores manejan el formato de las solicitudes y ocultan los detalles de la API. Los conectores también proporcionan un comportamiento integrado para la autenticación, el control de reintentos y las operaciones de larga duración.
Para obtener más información, consulta Descripción de los conectores.
En esta guía, se procesa un conjunto de facturas de muestra mediante el procesador del Analizador de facturas con procesamiento por lotes.
Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guiarme:
Antes de comenzar
- 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.
Crear un Analizador de facturas
Usa la consola de Google Cloud para crear un nuevo Analizador de facturas. Consulta la página Crea y administra procesadores para obtener más información.
En el menú de navegación de la consola de Google Cloud, haz clic en Document AI y selecciona Galería del procesador.
En la Galería de procesadores,
busca Analizador de facturas y selecciona Crear.Ingresa un Nombre del procesador, como
workflows-invoice-processor
.Selecciona la región (
location
en la API de Document AI) para alojar el procesador.Haz clic en Crear. Aparecerá la pestaña Processor Details.
Copia el ID del procesador. Debes usar esto en el código más adelante.
Configura el bucket de salida en Cloud Storage
Cuando se usa el procesamiento por lotes (asíncrono), los archivos de entrada y salida deben almacenarse en Cloud Storage. El siguiente bucket contiene archivos de muestra para usar como entrada en esta guía:
gs://cloud-samples-data/documentai/workflows
Configura un bucket para almacenar los archivos de salida en tu proyecto.
Sigue la guía Crea depósitos en la documentación de Cloud Storage para crear un depósito o usa un depósito que ya exista.
Crea una carpeta en el bucket (por ejemplo,
docai-workflows-output
).
Crear flujo de trabajo
Abre el panel de Workflows en la consola Google Cloud.
Haz clic en
Crear para crear tu primer flujo de trabajo. Aparecerá la página Crear flujo de trabajo.Cambia el nombre del flujo de trabajo adocai-workflows-quickstart
.Agrega una descripción y selecciona una cuenta de servicio si tienes una para este proyecto.
- Si no tienes una cuenta de servicio, selecciona Crear cuenta de servicio nueva.
- Asigna un nombre a tu cuenta de servicio y selecciona Crear y continuar.
- Otórgale los siguientes roles:
Document AI API User
Workflows Invoker
Logs Writer
Service Usage Consumer
- Si no tienes una cuenta de servicio, selecciona Crear cuenta de servicio nueva.
En la página Crear flujo de trabajo, haz clic en
Siguiente .
Define el flujo de trabajo
En el
editor de Workflows , borra el archivo YAML predeterminado y pega el siguiente código: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}
- Selecciona
Implementar .
Flujo de trabajo de prueba
Ahora que se implementó el flujo de trabajo, debería estar en la página Detalles del flujo de trabajo.
Haz clic en
Ejecutar en la parte superior de la página para ir a la página Ejecutar flujo de trabajo. Esta página te permite probar tu flujo de trabajo en la consola.Reemplaza las variables de marcador de posición en el siguiente JSON de entrada:
- OUTPUT_BUCKET_PATH: Es la ruta de acceso completa al bucket de salida y a la carpeta que se creó antes.
- PROCESSOR_ID: Es el ID del procesador que se creó antes.
- LOCATION: Es la ubicación para el procesador que se creó antes.
{ "inputBucket": "gs://cloud-samples-data/documentai/workflows", "outputBucket": "OUTPUT_BUCKET_PATH", "processorId": "PROCESSOR_ID", "location": "LOCATION" }
Copia y pega el archivo JSON en el
cuadro de texto de entrada .Haz clic en
Ejecutar en la parte inferior del flujo de trabajo para probar la entrada y espera un momento mientras se completa el proceso.Una vez que finalice el flujo de trabajo, el JSON de salida debería verse de la siguiente manera.
{ "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" } }
Abre tu bucket de almacenamiento de salida. Verás el resultado de cada factura procesada en una carpeta con el nombre del ID de operación.
En esta carpeta, encontrarás subcarpetas, una para cada documento procesado por el lote de entrada que contenga
Document
archivo(s) JSON.Puedes inspeccionar cada archivo JSON o escribir el código a fin de usar los campos relevantes para tu caso de uso. Consulta la guía de administración de respuestas de procesamiento para obtener más información.
Ahora puedes vincular pasos adicionales en el flujo de trabajo a fin de procesar aún más el resultado, como insertar las entidades extraídas en una base de datos para obtener estadísticas.
Consulta la documentación de Workflows para obtener más información sobre cómo activar flujos de trabajo.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Para evitar cargos innecesarios de Google Cloud , usa la consola de Google Cloud para borrar el procesador, el bucket, el flujo de trabajo y el proyecto si no los necesitas.
¿Qué sigue?
- Obtén más información sobre Workflows.
- Obtén más información sobre el Conector de Workflows de Document AI
- Consulta una lista y descripciones de los procesadores disponibles en la actualidad.
- Obtén información para controlar la respuesta de procesamiento.