Extractor personalizado con IA generativa

El entrenamiento y la extracción de IA generativa te permiten hacer lo siguiente:

  • Usa la tecnología de aprendizaje con pocos ejemplos y sin ejemplos para obtener un modelo de alto rendimiento con pocos datos de entrenamiento o sin ellos usando el modelo de base.
  • Usa el ajuste fino para aumentar aún más la precisión a medida que proporcionas más y más datos de entrenamiento.

Métodos de entrenamiento de IA generativa

El método de entrenamiento que elijas dependerá de la cantidad de documentos que tengas disponibles y del esfuerzo que puedas dedicar a entrenar tu modelo. Existen tres formas de entrenar un modelo de IA generativa:

Método de entrenamiento Sin ejemplos Ejemplos limitados Ajuste
Exactitud Medio Media-alta Alta
Esfuerzo Baja Baja Medio
Cantidad recomendada de documentos de entrenamiento 0 De 5 a 10 De 10 a más de 50

Versiones de modelos de extractores personalizados

Los siguientes modelos están disponibles para el extractor personalizado. Para cambiar las versiones del modelo, consulta Administra versiones de procesadores.

Las versiones 1.3, 1.4 y 1.5 admiten puntuaciones de confianza, mientras que la versión 1.2 no lo hace.

Versión del modelo Descripción Estable Procesamiento de AA en EE.UU. y la UE Ajuste en EE.UU. y la UE Fecha de lanzamiento
pretrained-foundation-model-v1.4-2025-02-05 Versión candidata impulsada por el LLM de Gemini 2.0 Flash. Admite una cuota de hasta 120 páginas por minuto para las solicitudes de procesamiento en línea. También incluye funciones avanzadas de OCR, como la detección de casillas de verificación. EE.UU., UE (vista previa) 5 de febrero de 2025
pretrained-foundation-model-v1.5-2025-05-05 Modelo de DG potenciado por el LLM de Gemini 2.5 Flash. Admite una cuota de hasta 15 páginas por minuto para las solicitudes de procesamiento en línea. Se recomienda para quienes desean experimentar con modelos más nuevos. EE.UU. y la UE 5 de mayo de 2025

Para cambiar la versión del procesador en tu proyecto, consulta Administra versiones de procesadores.

Configuración inicial

Si aún no lo hiciste, habilita la facturación y las APIs de Document AI.

Compila y evalúa un modelo de IA generativa

  1. Crea un procesador y define los campos que deseas extraer siguiendo las prácticas recomendadas, lo cual es importante porque afecta la calidad de la extracción.

    • Ve a Workbench > Extractor personalizado > Crear procesador > Asignar un nombre.

    processor-version-genai-1

    • Ve a Comenzar > Crear nuevo campo.

    processor-version-genai-2

  2. Importar documentos

    • Importa documentos con el etiquetado automático y asígnalos a los conjuntos de entrenamiento y prueba.
    • Para el aprendizaje sin ejemplos, solo se requiere el esquema. Para evaluar la precisión del modelo, solo se necesita un conjunto de pruebas.
    • Para el aprendizaje con pocos ejemplos, recomendamos cinco documentos de entrenamiento.
    • La cantidad de documentos de prueba necesarios depende del caso de uso. En general, es mejor tener más documentos de prueba.
    • Confirma o edita las etiquetas del documento.
  3. Entrena el modelo:

    • Selecciona Compilación y, luego, Crear versión nueva.
    • Ingresa un nombre y selecciona Crear.

    processor-version-genai-12

  1. Evaluación:

    • Ve a Evalúa y prueba, selecciona la versión que acabas de entrenar y, luego, selecciona Ver evaluación completa.

    processor-version-genai-13

    • Ahora verás métricas como f1, precisión y recuperación para todo el documento y cada campo.
    • Decide si el rendimiento cumple con tus objetivos de producción. Si no es así, vuelve a evaluar los conjuntos de entrenamiento y prueba.
  2. Sigue estos pasos para establecer una versión nueva como predeterminada:

    • Navega a Administrar versiones.
    • Selecciona para expandir las opciones y, luego, elige Establecer como predeterminado.

    processor-version-genai-14

    Tu modelo ya está implementado. Los documentos que se envían a este procesador usan tu versión personalizada. Puedes evaluar el rendimiento del modelo para verificar si requiere más entrenamiento.

Referencia de evaluación

El motor de evaluación puede realizar coincidencias exactas o coincidencias aproximadas. Para una coincidencia exacta, el valor extraído debe coincidir exactamente con la verdad fundamental o se cuenta como un error.

Las extracciones de coincidencias aproximadas que tenían pequeñas diferencias, como diferencias en el uso de mayúsculas, aún se consideran coincidencias. Esto se puede cambiar en la pantalla Evaluación.

processor-version-genai-15

Ajuste

Con el ajuste, usas cientos o miles de documentos para tu entrenamiento.

  1. Crea un procesador y define los campos que deseas extraer siguiendo las prácticas recomendadas, lo que es importante porque afecta la calidad de la extracción.

  2. Importa documentos con etiquetado automático y asígnalos al conjunto de entrenamiento y prueba.

  3. Confirma o edita las etiquetas del documento.

  4. Entrenamiento de modelos

    • Selecciona la pestaña Compilación y, luego, Crear versión nueva en el cuadro Ajuste fino.

    processor-version-genai-24

    • Prueba los parámetros o valores de entrenamiento predeterminados que se proporcionan. Si los resultados no son satisfactorios, experimenta con estas opciones avanzadas:

    • Pasos de entrenamiento (entre 100 y 400): Controla la frecuencia con la que se optimizan los pesos en un lote de datos durante el ajuste.

      • Si es demasiado bajo, indica el riesgo de que el entrenamiento finalice antes de la convergencia (ajuste insuficiente).
      • Si es demasiado alto, significa que el modelo podría ver el mismo lote de datos varias veces durante el entrenamiento, lo que puede generar un sobreajuste.
      • Menos pasos significan un tiempo de entrenamiento más rápido. Los recuentos más altos pueden ser útiles para los documentos con poca variación de plantilla (y los más bajos para aquellos con más variación).
    • Multiplicador de la tasa de aprendizaje (entre 0.1 y 10): Controla la rapidez con la que se optimizan los parámetros del modelo en los datos de entrenamiento. Corresponde aproximadamente al tamaño de cada paso de entrenamiento.

      • Las tasas bajas significan pequeños cambios en los pesos del modelo en cada paso de entrenamiento. Si es demasiado bajo, es posible que el modelo no converja en una solución estable.
      • Las tasas altas indican cambios grandes, y las tasas demasiado altas pueden significar que el modelo pasa por alto la solución óptima y, en cambio, converge en una solución subóptima.
      • El tiempo de entrenamiento no se ve afectado por la elección de la tasa de aprendizaje.
    • Asigna un nombre, selecciona la versión del procesador base requerida y selecciona Crear.

    processor-version-genai-21

  5. Evaluación: Ve a Evaluar y probar, luego selecciona la versión que acabas de entrenar y, luego, Ver evaluación completa.

    processor-version-genai-13

    • Ahora verás métricas como f1, precisión y recuperación para todo el documento y cada campo.
    • Decide si el rendimiento cumple con tus objetivos de producción. Si no es así, es posible que se requieran más documentos de entrenamiento.
  6. Sigue estos pasos para establecer una versión nueva como predeterminada:

    • Navega a Administrar versiones.
    • Selecciona para expandir las opciones y, luego, selecciona Establecer como predeterminado.

    processor-version-genai-14

    Tu modelo ya está implementado, y los documentos que se envíen a este procesador ahora usarán tu versión personalizada. Quieres evaluar el rendimiento del modelo para verificar si requiere más entrenamiento.

Etiquetado automático con el modelo fundamental

El modelo de base puede extraer campos con precisión para una variedad de tipos de documentos, pero también puedes proporcionar datos de entrenamiento adicionales para mejorar la precisión del modelo para estructuras de documentos específicas.

Document AI usa los nombres de etiquetas que tú defines y las anotaciones anteriores para que sea más fácil y rápido etiquetar documentos a gran escala con el etiquetado automático.

  1. Cuando hayas creado un procesador personalizado, ve a la pestaña Comenzar.
  2. Selecciona Crear campo nuevo.
  3. Asigna a la etiqueta un nombre descriptivo y distinto. Esto mejorará la exactitud y el rendimiento del modelo de base.

    processor-version-genai-17

  4. Para mejorar la precisión y el rendimiento de la extracción, agrega una descripción (como contexto, estadísticas y conocimientos previos adicionales para cada entidad) de los tipos de entidades que debería detectar.

    processor-version-genai-23

  5. Navega a la pestaña Compilación y, luego, selecciona Importar documentos.

    processor-version-genai-18

  6. Selecciona la ruta de los documentos y el conjunto al que se deben importar. Marca la opción de etiquetado automático y selecciona el modelo de base.

  7. En la pestaña Compilar, selecciona Administrar conjunto de datos.

  8. Cuando veas los documentos que importaste, selecciona uno de ellos.

    processor-version-genai-19

Las predicciones del modelo ahora se muestran destacadas en color púrpura.

  1. Revisa cada etiqueta que predijo el modelo y verifica que sea correcta.
  2. Si faltan campos, agrégalos también.

    processor-version-genai-20

  3. Cuando se haya revisado el documento, selecciona Marcar como etiquetado. El documento ya está listo para que lo use el modelo.

  4. Asegúrate de que el documento esté en el conjunto de prueba o entrenamiento.

Anidación de tres niveles

El extractor personalizado ahora proporciona tres niveles de anidación. Esta función proporciona una mejor extracción para las tablas complejas.

Puedes determinar el tipo de modelo con las siguientes llamadas a la API:

La respuesta de estos es un ProcessorVersion, que contiene el campo modelType en la versión preliminar de v1beta3.

Procedimiento y ejemplo

Usaremos este ejemplo:

processor-version-genai-3

  1. Selecciona Comenzar y, luego, crea un campo:

    • Crea el nivel superior.
    • En este ejemplo, se usa officer_appointments.
    • Selecciona Esta es una etiqueta superior.
    • Selecciona Ocurrencia: Optional multiple.

    processor-version-genai-4 processor-version-genai-5 processor-version-genai-6

  2. Selecciona Agregar campo secundario. Ahora se puede crear la etiqueta de segundo nivel:

    • Para esta etiqueta de nivel, crea officer.
    • Selecciona Esta es una etiqueta superior.
    • Selecciona Ocurrencia: Optional multiple.

    processor-version-genai-7 processor-version-genai-8

  3. Selecciona Agregar campo secundario en el segundo nivel de officer. Crea etiquetas secundarias para el tercer nivel de anidación. processor-version-genai-9

  4. Cuando se establece tu esquema, puedes obtener predicciones de documentos con tres niveles de anidación usando el etiquetado automático.

    processor-version-genai-10 processor-version-genai-11

Etiqueta entidades anidadas en varias páginas

El procesador pretrained-foundation-model-v1.5-2025-05-05 admite anidamiento de tres niveles en las páginas.

  1. Etiqueta una entidad de forma normal en una página. Nota: La entidad etiquetada solo será visible en la página en la que se etiquetó, y la barra de navegación cambiará de página a página. Si fijas la entidad principal, esta barra de navegación permanecerá.

    processor-version-genai-25

  2. Fija la entidad principal con elementos secundarios que quieras etiquetar en todas las páginas.

    processor-version-genai-26

  3. Navega a la página con la entidad o las entidades secundarias que deseas etiquetar.

processor-version-genai-27

Configuración del conjunto de datos

Se requiere un conjunto de datos de documentos para entrenar, enriquecer o evaluar una versión del procesador. Los procesadores de Document AI aprenden de ejemplos, al igual que los humanos. El conjunto de datos alimenta la estabilidad del procesador en términos de rendimiento.

Conjunto de datos de entrenamiento

Para mejorar el modelo y su precisión, entrena un conjunto de datos con tus documentos. El modelo se compone de documentos con verdad fundamental.
  • Para el ajuste, necesitas un mínimo de 1 documento para entrenar un modelo nuevo con la versión pretrained-foundation-model-v1.2-2024-05-10 y pretrained-foundation-model-v1.3-2024-08-31.
  • Para un aprendizaje con pocos ejemplos, se recomiendan cinco documentos.
  • Para el aprendizaje sin ejemplos, solo se requiere un esquema.

Conjunto de datos de prueba

El conjunto de datos de prueba es el que usa el modelo para generar una puntuación F1 (precisión). Se compone de documentos con verdad fundamental. Para ver con qué frecuencia el modelo acierta, se usa la verdad fundamental para comparar las predicciones del modelo (campos extraídos del modelo) con las respuestas correctas. El conjunto de datos de prueba debe tener al menos un documento para pretrained-foundation-model-v1.2-2024-05-10 y pretrained-foundation-model-v1.3-2024-08-31.

Extractor personalizado con descripciones de propiedades

Con las descripciones de propiedades, puedes entrenar un modelo describiendo cómo son los campos etiquetados. Puedes proporcionar contexto y estadísticas adicionales para cada entidad. Esto permite que el modelo se entrene haciendo coincidir los campos que se ajustan a la descripción que proporcionas y mejora la precisión de la extracción. Las descripciones de las propiedades se pueden especificar para las entidades principales y secundarias.

Entre los buenos ejemplos de descripciones de propiedades, se incluyen la información de ubicación y los patrones de texto de los valores de las propiedades, que ayudan a eliminar la ambigüedad de las posibles fuentes de confusión en el documento. Las descripciones de propiedades claras y precisas guían al modelo con reglas que promueven extracciones más confiables y coherentes, independientemente de la estructura específica del documento o las variaciones de contenido.

Actualiza el esquema del documento para un procesador

Para saber cómo configurar las descripciones de las propiedades, consulta Actualiza el esquema del documento.

Envía una solicitud de procesamiento con descripciones de propiedades

Si el esquema del documento ya tiene descripciones establecidas, puedes enviar una solicitud de procesamiento con las instrucciones que se indican en Envía una solicitud de procesamiento.

Ajusta un procesador con descripciones de propiedades

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: La ubicación de tu procesador, por ejemplo:
    • us: Estados Unidos
    • eu: Unión Europea
  • PROJECT_ID: El ID de tu proyecto de Google Cloud .
  • PROCESSOR_ID: Es el ID de tu procesador personalizado.
  • DISPLAY_NAME: Es el nombre visible del procesador.
  • PRETRAINED_PROCESSOR_VERSION: Es el identificador de la versión del procesador. Consulta Selecciona una versión del procesador para obtener más información. Por ejemplo:
    • pretrained-TYPE-vX.X-YYYY-MM-DD
    • stable
    • rc
  • TRAIN_STEPS: Son los pasos de entrenamiento para el ajuste del modelo.
  • LEARN_RATE_MULTIPLIER: Es el multiplicador de la tasa de aprendizaje para el ajuste del modelo.
  • DOCUMENT_SCHEMA: Esquema del procesador. Consulta la representación de DocumentSchema.

Método HTTP y URL:

POST https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process

Cuerpo JSON de la solicitud:

{
  "rawDocument": {
      "parent": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
         "processor_version": {
             "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/DISPLAY_NAME",
             "display_name": "DISPLAY_NAME",
             "model_type": "MODEL_TYPE_GENERATIVE",
         },
         "base_processor_version": "projects/PROJECT_ID/locations/us/processors/PROCESSOR_ID/processorVersions/PRETRAINED_PROCESSOR_VERSION",
         "foundation_model_tuning_options": {
             "train_steps": TRAIN_STEPS,
             "learning_rate_multiplier": LEARN_RATE_MULTIPLIER,
         }
         "document_schema": DOCUMENT_SCHEMA
      }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content

¿Qué sigue?

Cómo enriquecer un procesador especializado