Compartir a través de


Automatizar el procesamiento de formularios PDF

Inteligencia de documentos de Azure AI
Servicios de Azure AI
Azure Logic Apps
Funciones de Azure

En este artículo se describe una arquitectura de Azure que puede usar para reemplazar métodos de procesamiento de formularios costosos e inflexibles con procesamiento automatizado de PDF flexible y rentable.

Arquitectura

Diagrama de la arquitectura de procesamiento de formularios PDF

Descargue un archivo de PowerPoint de esta arquitectura.

Flujo de trabajo

  1. Una cuenta de correo electrónico designada de Outlook recibe archivos PDF como datos adjuntos. La llegada de un correo electrónico desencadena una aplicación lógica para procesar el correo electrónico. La aplicación lógica se compila mediante las funcionalidades de Azure Logic Apps.
  2. La aplicación lógica carga los archivos PDF en un contenedor en Azure Data Lake Storage.
  3. También puede cargar manualmente o mediante programación archivos PDF en el mismo contenedor PDF.
  4. La llegada de un archivo PDF en el contenedor PDF desencadena otra aplicación lógica para procesar los formularios PDF que se encuentran en el archivo mencionado.
  5. La aplicación lógica envía la ubicación del archivo PDF a una aplicación de funciones para su procesamiento. La aplicación de funciones se compila mediante las funcionalidades de Azure Functions.
  6. La aplicación de funciones recibe la ubicación del archivo y lleva a cabo estas acciones:
    1. Divide el archivo en páginas únicas en caso de que el archivo tenga varias. Cada página contiene un formulario independiente. Los archivos divididos se guardan en un segundo contenedor en Data Lake Storage.
    2. Usa HTTPS POST, una API de REST de Azure, para enviar la ubicación del archivo PDF de página única a Documento de inteligencia de AI para su procesamiento. Cuando Documento de inteligencia de Azure AI completa su procesamiento, devuelve una respuesta a la aplicación de funciones, que coloca la información en una estructura de datos.
    3. Crea un archivo de datos JSON que contiene los datos de respuesta y almacena el archivo en un tercer contenedor en Data Lake Storage.
  7. La aplicación lógica de procesamiento de formularios recibe los datos de respuesta procesados.
  8. La aplicación lógica de procesamiento de formularios envía los datos procesados a Azure Cosmos DB, que los guarda en una base de datos y en colecciones.
  9. Power BI obtiene los datos de Azure Cosmos DB y proporciona información y paneles.
  10. Puede implementar un procesamiento adicional según sea necesario en los datos de Azure Cosmos DB.

Componentes

  • Azure AI Document Intelligence, un servicio basado en la nube que le permite crear soluciones inteligentes de procesamiento de documentos. Aplica aprendizaje automático avanzado para extraer texto, pares clave-valor, tablas y estructuras de documentos de forma automática y precisa. En esta arquitectura, es el servicio inteligente de procesamiento de documentos utilizado para extraer información de documentos PDF.
  • Azure Logic Apps es un servicio en la nube sin servidor que permite crear y ejecutar flujos de trabajo automatizados que integren aplicaciones, datos, servicios y sistemas. En esta arquitectura, se usa como orquestador para coordinar la entrada del usuario, el almacenamiento de documentos, el procesamiento de documentos, el almacenamiento de los resultados y el análisis de los documentos procesados.
  • Azure Functions es una solución sin servidor que le permite escribir menos código, mantener menos infraestructura y ahorrar costos. En esta arquitectura, es el servicio back-end para configurar la entrada para usar Inteligencia de documentos de Azure AIy almacenar la salida.
  • Azure Data Lake Storage es una base para crear lagos de datos empresariales en Azure. En esta arquitectura, se usa para almacenar los documentos PDF sin procesar, los resultados del aprendizaje automático y la salida procesada.
  • Azure Cosmos DB es una base de datos NoSQL y relacional totalmente administrada para el desarrollo de aplicaciones modernas. En esta arquitectura, se usa para almacenar la información extraída de cada documento PDF. La información se usa en power BI para generar información.
  • Power BI es una colección de servicios de software, aplicaciones y conectores que funcionan conjuntamente para que pueda convertir los orígenes de datos no relacionados en información coherente, interactiva y visualmente atractiva. En esta arquitectura, se usa para analizar los resultados del procesamiento de documentos.

Alternativas

  • En lugar de usar Power BI, puede usar Microsoft Fabric para ingerir la salida procesada en una instancia de Lakehouse y, a continuación, realizar análisis y procesamiento adicionales de los datos de salida.

Detalles del escenario

El procesamiento de formularios suele ser una función empresarial crítica. Muchas empresas siguen confiando en procesos manuales que son costosos, lentos y propensos a errores. Reemplazar los procesos manuales reduce el costo y el riesgo, además de que agiliza la empresa.

En este artículo se describe una arquitectura que puede usar para reemplazar el procesamiento manual de formularios PDF o sistemas heredados costosos que automatizan el procesamiento de formularios PDF. Documento de inteligencia de Azure AI procesa los formularios PDF, Logic Apps proporciona el flujo de trabajo y Functions provee las funcionalidades de procesamiento de datos.

Para información sobre la implementación, consulte Implementación de este escenario en este artículo.

Posibles casos de uso

La solución que se describe en este artículo puede procesar muchos tipos de formularios, entre los que se incluyen:

  • Facturas y registros de pago
  • Pedidos de compra
  • Registros de seguridad, incidentes y cumplimiento
  • Formularios de comprobación de estado
  • Formularios de comentarios de clientes
  • Registros de empleados
  • Documentos académicos y de investigación
  • Documentos con notas manuscritas
  • Documentos personalizados del dominio

Consideraciones

Estas consideraciones constituyen los pilares del Marco de buena arquitectura de Azure, un conjunto de principios rectores que puede usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.

Una carga de trabajo de confianza es aquella que es resistente y a la vez está disponible. La resistencia es la capacidad de un sistema de recuperarse de los errores y seguir funcionando. El objetivo de la resistencia es devolver la aplicación a un estado plenamente operativo después de un error. La disponibilidad mide si los usuarios pueden acceder a la carga de trabajo cuando lo necesiten.

Esta arquitectura está pensada como una arquitectura de inicio que puede implementar rápidamente y crear prototipos para ofrecer una solución empresarial. Si el prototipo es un éxito, puede ampliar y mejorar la arquitectura para cumplir los requisitos adicionales (si es necesario).

Esta arquitectura usa tecnologías e infraestructuras de Azure escalables y resistentes. Por ejemplo, Azure Cosmos DB tiene redundancia integrada y cobertura global que puede configurar para satisfacer sus necesidades.

Para conocer las garantías de disponibilidad de los servicios de Azure que usa esta solución, consulte Acuerdos de nivel de servicio (SAL) para Online Services.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.

La cuenta de correo electrónico de Outlook que se usa en esta arquitectura es una cuenta dedicada que recibe formularios PDF como archivos adjuntos. Se recomienda limitar los remitentes únicamente a las partes de confianza y evitar que actores malintencionados envíen correo no deseado a la cuenta de correo electrónico.

La implementación de esta arquitectura que se describe en Implementación de este escenario toma las siguientes medidas para aumentar la seguridad:

  • Los scripts de implementación de PowerShell y Bicep usan Azure Key Vault para almacenar información confidencial y que no se muestre en las pantallas de terminal ni se almacene en los registros de implementación.
  • Las identidades administradas proporcionan una identidad administrada automáticamente en Microsoft Entra ID para que las aplicaciones la utilicen al conectarse a los recursos que admiten la autenticación de Microsoft Entra. La aplicación de funciones usa identidades administradas para que el código no dependa de entidades de seguridad individuales y no contenga información de identidad confidencial.

Optimización de costos

La optimización de costos consiste en examinar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.

Estas son algunas de las directrices para optimizar costos:

  • Use la estrategia de pago por uso para la arquitectura y escale horizontalmente según sea necesario, en lugar de invertir en recursos a gran escala desde el principio.
  • La implementación de la arquitectura que se describe en Implementación de este escenario implementa una solución de inicio adecuada para la prueba de concepto. Los scripts de implementación crean una arquitectura de trabajo con requisitos mínimos de recursos. Por ejemplo, los scripts de implementación crean un host de Linux sin servidor más pequeño para ejecutar la aplicación de funciones.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar de forma eficaz para satisfacer las demandas que los usuarios les han puesto en él. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.

Esta arquitectura utiliza servicios que tienen funcionalidades de escalado integradas que puede usar para mejorar la eficiencia del rendimiento. Estos son algunos ejemplos:

Implementación de este escenario

Puede implementar una versión rudimentaria de esta arquitectura y usarla como punto inicial para implementar su propia solución. El repositorio incluye código, scripts de implementación y una guía de implementación.

El ejemplo recibe los formularios PDF, extrae los campos de datos y guarda los datos en Azure Cosmos DB. Power BI visualiza los datos. El diseño usa una metodología modular controlada por metadatos. No hay campos de formulario codificados de forma rígida. Puede procesar cualquier formulario PDF.

Puede usar el repositorio tal cual, sin modificaciones de código, para procesar y visualizar formularios PDF de página única, como formularios de seguridad, facturas, registros de incidentes y muchos otros. Para usarlo, solo tiene que recopilar formularios PDF de muestra, entrenar un nuevo modelo para aprender el diseño de los formularios y conectarlo a la solución. También debe rediseñar el informe de Power BI para los conjuntos de datos de modo que proporcione la información que desee.

La implementación usa Documento de inteligencia de Azure AI Studio para crear modelos personalizados. El ejemplo usa los nombres de campo que se guardan en el modelo de Machine Learning como referencia para procesar otros formularios. Solo se necesitan cinco formularios de muestra para crear un modelo de Machine Learning personalizado. Puede combinar hasta 100 modelos personalizados para crear un modelo de Machine Learning compuesto que pueda procesar una variedad de formularios.

Repositorio de implementación

El código de este ejemplo se encuentra en el repositorio GitHub de Soluciones de automatización del procesamiento de formularios de Azure PDF. Siga la guía de implementación en el repositorio.

Consideraciones de la implementación

Para procesar un nuevo tipo de formulario PDF, use archivos PDF de muestra para crear un nuevo modelo de Machine Learning. Cuando el modelo esté listo, conecte el identificador a la solución.

Este nombre de contenedor se puede configurar en los scripts de implementación que obtiene del repositorio de GitHub.

La arquitectura no aborda los requisitos de alta disponibilidad (HA) ni de recuperación ante desastres (DR). Si desea ampliar y mejorar la arquitectura actual para la implementación de producción, tenga en cuenta las siguientes recomendaciones y procedimientos recomendados:

  • Diseñe la arquitectura de alta disponibilidad y recuperación ante desastres en función de sus requisitos y use las funcionalidades de redundancia integradas cuando corresponda.
  • Actualice el código de implementación de Bicep para crear un entorno informático que pueda controlar los volúmenes de procesamiento.
  • Actualice el código de implementación de Bicep para crear más instancias de los componentes de arquitectura para satisfacer los requisitos de alta disponibilidad y recuperación ante desastres.
  • Siga las instrucciones de Redundancia de Azure Storage al diseñar y aprovisionar el almacenamiento.
  • Siga las instrucciones de Continuidad empresarial y recuperación ante desastres al diseñar y aprovisionar las aplicaciones lógicas.
  • Siga las instrucciones de Confiabilidad en Azure Functions al diseñar y aprovisionar la aplicación de funciones.
  • Siga las instrucciones de Lograr alta disponibilidad con Azure Cosmos DB al diseñar y aprovisionar una base de datos que se creó con Azure Cosmos DB.
  • Si considera la posibilidad de colocar este sistema en producción para procesar grandes volúmenes de formularios PDF, puede modificar los scripts de implementación para crear un host de Linux con más recursos. Para ello, modifique el código dentro de deploy-functionsapp.bicep

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

  • Gail Zhou | Ingeniero principal de software

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes