Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Cómo usar los procesadores especializados con Document AI (Python)

Lab 10 minutos universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

GSP1140

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

Document AI es una solución de comprensión de documentos que toma datos no estructurados, como documentos, correos electrónicos, facturas y formularios, entre otros, y facilita la comprensión, el análisis y el consumo de los datos. La API proporciona una estructura mediante la clasificación de contenido, la extracción de entidades, la búsqueda avanzada y mucho más.

En este lab, aprenderás a usar procesadores especializados de Document AI para clasificar y analizar documentos especializados con Python. Para el análisis y la extracción de entidades, usarás una factura como ejemplo. Este procedimiento y el código de ejemplo funcionarán con cualquier documento especializado compatible con Document AI.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Extraer entidades esquematizadas con procesadores especializados

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón para abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

  2. Haz clic para avanzar por las siguientes ventanas:

    • Continúa en la ventana de información de Cloud Shell.
    • Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.

Tarea 1: Habilita la API de Document AI

Antes de comenzar a usar Document AI, debes habilitar la API.

  1. Para abrir Cloud Shell, haz clic en el botón Activar Cloud Shell en la parte superior de la consola.

  2. En Cloud Shell, ejecuta el siguiente comando para habilitar la API de Document AI.

gcloud services enable documentai.googleapis.com

Deberías ver algo como esto:

Operation "operations/..." finished successfully.

También deberás instalar Pandas, una biblioteca de análisis de datos de código abierto para Python.

  1. Ejecuta el siguiente comando para instalar Pandas:
pip3 install --upgrade pandas
  1. Ejecuta el siguiente comando para instalar las bibliotecas cliente de Python para Document AI.
pip3 install --upgrade google-cloud-documentai

Deberías ver algo como esto:

... Installing collected packages: google-cloud-documentai Successfully installed google-cloud-documentai-2.15.0

Ya está todo listo para usar la API de Document AI.

Haz clic en Revisar mi progreso para verificar el objetivo.

Habilitar la API de Document AI

Tarea 2: Crea un procesador de analizador de formularios

Primero debes crear una instancia de procesador del analizador de formularios para usarla en la plataforma de Document AI para este instructivo.

  1. En el menú de navegación, haz clic en VER TODOS LOS PRODUCTOS. En Inteligencia Artificial, selecciona Document AI.

Consola de resumen de Document AI

  1. Haz clic en Explorar procesadores, desplázate hasta Especializado y, en Analizador de facturas, haz clic en Crear procesador.

Divisor de documentos de adquisición

  1. Asígnale el nombre lab-invoice-parser y selecciona la región más cercana de la lista.

  2. Haz clic en Crear para crear tu procesador.

  3. Copia el ID del procesador. Debes usarlo en el código más adelante.

Analizador de facturas del lab

Crear un procesador

Descarga documentos de muestra

Tenemos algunos documentos de muestra que puedes usar para este lab.

  1. Ejecuta el siguiente comando para descargar los formularios de muestra en Cloud Shell.
gcloud storage cp gs://cloud-samples-data/documentai/codelabs/specialized-processors/procurement_multi_document.pdf. gcloud storage cp gs://cloud-samples-data/documentai/codelabs/specialized-processors/google_invoice.pdf.
  1. Confirma que los archivos se hayan descargado en Cloud Shell con el siguiente comando:
ls

Deberías ver algo como esto:

google_invoice.pdf procurement_multi_document.pdf

Tarea 3: Extrae las entidades

Ahora puedes extraer las entidades esquematizadas de los archivos, incluidos las puntuaciones de confianza, las propiedades y los valores normalizados.

El código para hacer la solicitud a la API es idéntico al del paso anterior y se puede hacer con solicitudes por lotes o en línea.

Accederás a la siguiente información de las entidades:

  • Tipo de entidad
    • (p. ej., invoice_date, receiver_name, total_amount)
  • Valores sin procesar
    • Valores de datos tal como aparecen en el archivo del documento original
  • Valores normalizados
    • Valores de datos en un formato normalizado y estándar, si corresponde
    • También puede incluir enriquecimiento de Enterprise Knowledge Graph
  • Valores de confianza
    • Nivel de seguridad del modelo de que los valores sean exactos

Algunos tipos de entidades, como line_item, también pueden incluir propiedades, que son entidades anidadas, como line_item/unit_price y line_item/description. En este ejemplo, se aplana la estructura anidada para facilitar la visualización.

Analizador de facturas

  1. En Cloud Shell, crea un archivo llamado extraction.py y pega el siguiente código en él:
import pandas as pd from google.cloud import documentai_v1 as documentai def online_process( project_id: str, location: str, processor_id: str, file_path: str, mime_type: str, ) -> documentai.Document: """ Procesa un documento con la API de Document AI Online Processing. """ opts = {"api_endpoint": f"{location}-documentai.googleapis.com"} # Crea una instancia de un cliente documentai_client = documentai.DocumentProcessorServiceClient(client_options=opts) # El nombre completo del recurso del procesador, p. ej.: # projects/project-id/locations/location/processor/processor-id # Primero, debes crear procesadores nuevos en la consola de Cloud resource_name = documentai_client.processor_path(project_id, location, processor_id) # Lee el archivo y guárdalo en la memoria with open(file_path, "rb") as file: file_content = file.read() # Carga los datos binarios en el objeto RawDocument de Document AI raw_document = documentai.RawDocument(content=file_content, mime_type=mime_type) # Configura la solicitud de procesamiento request = documentai.ProcessRequest(name=resource_name, raw_document=raw_document) # Usa el cliente de Document AI para procesar el formulario de muestra result = documentai_client.process_document(request=request) return result.document PROJECT_ID = "YOUR_PROJECT_ID" LOCATION = "YOUR_PROJECT_LOCATION" # El formato debe ser 'us' o 'eu' PROCESSOR_ID = "INVOICE_PARSER_ID" # Crea el procesador en la consola de Cloud # El archivo local en tu directorio de trabajo actual FILE_PATH = "google_invoice.pdf" # Consulta https://cloud.google.com/document-ai/docs/processors-list # para ver los tipos de archivos admitidos MIME_TYPE = "application/pdf" document = online_process( project_id=PROJECT_ID, location=LOCATION, processor_id=PROCESSOR_ID, file_path=FILE_PATH, mime_type=MIME_TYPE, ) types = [] raw_values = [] normalized_values = [] confidence = [] # Obtén cada par clave-valor y sus puntuaciones de confianza correspondientes. for entity in document.entities: types.append(entity.type_) raw_values.append(entity.mention_text) normalized_values.append(entity.normalized_value.text) confidence.append(f"{entity.confidence:.0%}") # Obtén las propiedades (entidades secundarias) con sus puntuaciones de confianza for prop in entity.properties: types.append(prop.type_) raw_values.append(prop.mention_text) normalized_values.append(prop.normalized_value.text) confidence.append(f"{prop.confidence:.0%}") # Crea un DataFrame de Pandas para imprimir los valorse en formato tabular. df = pd.DataFrame( { "Type": types, "Raw Value": raw_values, "Normalized Value": normalized_values, "Confidence": confidence, } ) print(df)
  1. Reemplaza INVOICE_PARSER_ID por el ID del procesador del analizador de facturas que creaste y usa el archivo google_invoice.pdf.

  2. Reemplaza YOUR_PROJECT_ID y YOUR_PROJECT_LOCATION por el ID del proyecto de Google Cloud y la ubicación del procesador, respectivamente.

  3. Ejecuta la secuencia de comandos:

python3 extraction.py

El resultado debería ser similar a este:

Type Raw Value Normalized Value Confidence 0 due_date Sep 30, 2019 2019-09-30 99% 1 net_amount 22,379.39 22379.39 99% 2 total_amount 19,647.68 19647.68 99% 3 invoice_date Sep 24, 2019 2019-09-24 98% 4 total_tax_amount 1,767.97 1767.97 94% 5 receiver_name Jane Smith, 88% 6 receiver_address 1600 Amphitheatre Pkway Mountain View, CA 94043 77% 7 invoice_id 23413561D 60% 8 freight_amount 199.99 199.99 60% 9 invoice_type invoice_statement 59% 10 currency $ USD 58% 11 supplier_name Google Google 37% 12 line_item 9.99 12 12 ft HDMI cable 119.88 100% 13 line_item/unit_price 9.99 9.99 95% 14 line_item/quantity 12 12 75% 15 line_item/description 12 ft HDMI cable 64% 16 line_item/amount 119.88 119.88 90% 17 line_item 12 399.99 27" Computer Monitor 4,799.88 100% 18 line_item/quantity 12 12 76% 19 line_item/unit_price 399.99 399.99 95% 20 line_item/description 27" Computer Monitor 42% 21 line_item/amount 4,799.88 4799.88 93% 22 line_item Ergonomic Keyboard 12 59.99 719.88 100% 23 line_item/description Ergonomic Keyboard 42% 24 line_item/quantity 12 12 75% 25 line_item/unit_price 59.99 59.99 94% 26 line_item/amount 719.88 719.88 85% 27 line_item Optical mouse 12 19.99 239.88 100% 28 line_item/description Optical mouse 55% 29 line_item/quantity 12 12 72% 30 line_item/unit_price 19.99 19.99 94% 31 line_item/amount 239.88 239.88 81% 32 line_item Laptop 12 1,299.99 15,599.88 100% 33 line_item/description Laptop 65% 34 line_item/quantity 12 12 71% 35 line_item/unit_price 1,299.99 1299.99 94% 36 line_item/amount 15,599.88 15599.88 91% 37 line_item Misc processing fees 899.99 899.99 1 100% 38 line_item/description Misc processing fees 54% 39 line_item/unit_price 899.99 899.99 92% 40 line_item/amount 899.99 899.99 82% 41 line_item/quantity 1 1 68%
  1. Crea un bucket de Cloud Storage y sube el resultado generado del comando docai_outputs.txt al bucket.
# Crea un bucket export PROJECT_ID=$(gcloud config get-value project) gsutil mb gs://$PROJECT_ID-docai # Crea y sube el archivo python3 extraction.py > docai_outputs.txt gsutil cp docai_outputs.txt gs://$PROJECT_ID-docai Crea un bucket de Cloud Storage y sube el archivo de salida

Opcional: Prueba otros procesadores especializados

Usaste correctamente Document AI para adquisiciones para clasificar documentos y analizar una factura. Document AI también admite las otras soluciones especializadas que se indican aquí:

Sigue el mismo procedimiento y usa el mismo código para controlar cualquier procesador especializado.

Si quieres probar las otras soluciones especializadas, puedes volver a ejecutar el lab con otros tipos de procesadores y documentos de muestra especializados.

Nota: Algunos procesadores de Identidad, Préstamos y Contratos tienen acceso limitado en este momento. Si tienes un caso de uso empresarial para estos procesadores, completa y envía el formulario de solicitud correspondiente antes de continuar.

Documentos de muestra

Estos son algunos documentos de muestra que puedes usar para probar los otros procesadores especializados.

Solución Tipo de procesador Documento
Identidad Analizador de licencias de conducir de EE.UU.
Préstamos Divisor y clasificador de préstamos
Préstamos Analizador W9
Contratos Analizador de contratos

Puedes encontrar otros documentos de muestra y resultados del procesador en la documentación.

¡Felicitaciones!

¡Felicitaciones! Usaste Document AI correctamente para analizar una factura. También aprendiste cómo usar la biblioteca cliente de Python para llamar a la API de Document AI.

Próximos pasos y más información

Consulta los siguientes recursos para obtener más información sobre Document AI y la biblioteca cliente de Python:

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 7 de noviembre de 2024

Prueba más reciente del lab: 7 de noviembre de 2024

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.