Administrar las versiones de los procesadores

Las nuevas versiones se lanzan por varios motivos, por ejemplo, para mejorar la precisión, aumentar la disponibilidad y admitir nuevos elementos de documentos, como las marcas de selección.

Dado que Document AI funciona con IA generativa, las versiones futuras usarán nuevos modelos de base para que puedas aprovechar las mejoras de la IA generativa.

A medida que mejoramos los modelos de base, los modelos de base anteriores dejan de estar disponibles. Del mismo modo, las versiones del procesador dejan de estar disponibles seis meses después del lanzamiento de las versiones nuevas.

Un procesador puede tener una de las siguientes versiones:

En esta página, se describe cómo se controlan las versiones de los procesadores y cómo ver y seleccionar una versión en particular.

managing-processor-versions-1

Descripción general de las versiones del procesador

Existen dos categorías de versiones de procesadores:

  • Las versiones de Google son estables (para casos de uso de producción) o candidatas para lanzamiento (experimentales con la funcionalidad más reciente).
  • Las versiones del usuario las creas tú para personalizar las predicciones de tus documentos y tienen IDs de versión alfanuméricos.

Versiones de Google

Cada versión de Google se identifica con un ID de versión, por ejemplo, pretrained-TYPE-vX.X-YYYY-MM-DD. Cada versión del procesador que ofrece Google se denomina Google Stable o Google Release Candidate (RC).

Versiones estables de Google

Las versiones estables son de calidad de producción y están listas para usarse.

  • Google prioriza la estabilidad del comportamiento del procesador, pero sigue incluyendo correcciones esenciales.
  • Las versiones estables anteriores de Google dejan de estar disponibles seis meses después del lanzamiento de la versión estable más reciente, como se muestra en la siguiente figura.

managing-processor-versions-2

Versiones candidatas para lanzamiento (RC) de Google

Las versiones candidatas son experimentales y se actualizan frecuentemente con las funciones más recientes. Estas no son versiones de calidad de producción, y su estabilidad puede variar.

Versiones personalizadas

Las versiones personalizadas son las versiones del procesador que puedes crear en función de tus documentos para personalizar las predicciones. Las versiones personalizadas tienen un Type, que muestra el tipo de modelo que se usa para las predicciones. Si creas una versión con un modelo de base (ya sea creando una versión o ajustándola), el tipo es IA generativa. Si creas una versión del procesador entrenando un modelo personalizado más pequeño (ya sea basado en un modelo o en una plantilla), el tipo será Personalizado. Si creas versiones del procesador, tú decides el nombre y el ID.

Versiones de base

Si creas una versión del procesador, la "versión base" muestra qué versión de Google impulsa tu versión personalizada del usuario. La versión base determina el ciclo de vida de tu versión del usuario. Debes tomar decisiones sobre cómo administrar el ciclo de vida de tu versión de usuario personalizada.

Versiones de procesador estables disponibles

En las siguientes tablas, puedes revisar las versiones estables disponibles de los diferentes tipos de procesadores.

Extractor personalizado Fecha de lanzamiento Fecha de baja
pretrained-foundation-model-v1.5-2025-05-05 5 de mayo de 2025 No aplicable
pretrained-foundation-model-v1.5-pro-2025-06-20 20 de junio de 2025 No aplicable
Form Parser Fecha de lanzamiento Fecha de baja
pretrained-form-parser-v1.0-2020-09-23 23 de septiembre de 2020 No aplicable
pretrained-form-parser-v2.0-2022-11-10 10 de noviembre de 2022 No aplicable
Analizador de diseño Fecha de lanzamiento Fecha de baja
pretrained-layout-parser-v1.0-2024-06-03 3 de junio de 2024 No aplicable
Analizador de estados de cuenta Fecha de lanzamiento Fecha de baja
pretrained-bankstatement-v1.0-2021-08-08 8 de agosto de 2021 No aplicable
pretrained-bankstatement-v1.1-2021-08-13 13 agosto de 2021 No aplicable
pretrained-bankstatement-v2.0-2021-12-10 10 de diciembre de 2021 No aplicable
pretrained-bankstatement-v3.0-2022-05-16 16 de mayo de 2022 No aplicable
pretrained-bankstatement-v5.0-2023-12-06 6 de diciembre de 2023 No aplicable
Analizador de W2 Fecha de lanzamiento Fecha de baja
pretrained-w2-v1.0-2020-10-01 1 de octubre de 2020 31 de marzo de 2024
pretrained-w2-v1.1-2022-01-27 27 de enero de 2022 31 de marzo de 2024
pretrained-w2-v1.2-2022-01-28 28 de enero de 2022 No aplicable
pretrained-w2-v2.1-2022-06-08 8 de junio de 2022 No aplicable
Analizador de revisión de documentos de identidad Fecha de lanzamiento Fecha de baja
pretrained-id-proofing-v1.0-2022-10-03 3 de octubre de 2022 No aplicable
Analizador de notas de pago Fecha de lanzamiento Fecha de baja
pretrained-paystub-v1.0-2021-03-19 19 de marzo de 2021 No aplicable
pretrained-paystub-v1.1-2021-08-13 13 agosto de 2021 No aplicable
pretrained-paystub-v1.2-2021-12-10 10 de diciembre de 2021 No aplicable
pretrained-paystub-v2.0-2022-07-22 22 de julio de 2022 No aplicable
pretrained-paystub-v3.0-2023-12-06 6 de diciembre de 2023 No aplicable
Analizador de licencias de conducir de EE.UU. Fecha de lanzamiento Fecha de baja
pretrained-us-driver-license-v1.0-2021-06-14 14 de junio de 2021 No aplicable
Analizador de gastos Fecha de lanzamiento Fecha de baja
pretrained-expense-v1.1-2021-04-09 9 de abril de 2024 No aplicable
pretrained-expense-v1.4-2022-11-18 18 de noviembre de 2022 No aplicable
pretrained-expense-v1.4.2-2024-09-12 12 de septiembre de 2024 No aplicable
Analizador de facturas Fecha de lanzamiento Fecha de baja
pretrained-invoice-v1.1-2021-04-09 9 de abril de 2024 No aplicable
pretrained-invoice-v1.2-2022-02-18 18 de febrero de 2022 No aplicable
pretrained-invoice-v1.3-2022-07-15 15 de julio de 2022 No aplicable
pretrained-invoice-v2.0-2023-12-06 6 de diciembre de 2023 No aplicable
Enterprise Document OCR (reconocimiento óptico de caracteres) Fecha de lanzamiento Fecha de baja
pretrained-ocr-v1.2-2022-11-10 10 de noviembre de 2022 No aplicable
pretrained-ocr-v2.0-2023-06-02 2 de junio de 2023 No aplicable
pretrained-ocr-v2.1-2024-08-07 7 de agosto de 2024 No aplicable

managing-processor-versions-3

Ciclo de vida de la versión del procesador

En cuanto esté disponible una nueva versión de Google, debes crear y evaluar versiones para los usuarios nuevos con la nueva versión base. Luego, implementa la nueva versión y anula la implementación (o borra) de las versiones anteriores del usuario que usen la versión estable anterior como base. Las versiones estables se descontinúan después de que se lanza una nueva. Google te notificará con al menos seis meses de anticipación cuando esto suceda.

¿Qué sucede cuando se deja de usar una versión base?

Las versiones del usuario que dependen de versiones básicas anteriores dejan de devolver predicciones cuando la versión básica deja de estar disponible.

¿Cómo se seleccionan las versiones del procesador para tus solicitudes?

Cuando llamas a un extremo del procesador sin especificar la versión del procesador, se usa la versión predeterminada del procesador. Cuando cambia la versión predeterminada del procesador, es posible que debas actualizar el código.

Endpoint utilizado Experiencia
Si no especificas un ID de versión del procesador Son solicitudes procesadas con una nueva versión predeterminada del procesador.
Si tu versión predeterminada del procesador está obsoleta, la versión predeterminada se actualizará a la versión estable de Google lanzada más recientemente cuando la versión predeterminada anterior quede obsoleta.
Si especificas el ID de versión del procesador La respuesta falla si llamas a un extremo del procesador y especificas un ID de versión que dejó de estar disponible.

Ejemplo de baja de una versión personalizada

Considera la siguiente situación que describe la secuencia de eventos en la baja de una versión personalizada:

  1. Como desarrollador, usas un extractor personalizado para obtener datos de documentos. Dada la complejidad y la cantidad de documentos que procesas, ajustas el modelo de base para crear una versión llamada fine-tune-A. Estableces la versión fine-tune-A como la versión predeterminada de tu procesador y la usas para procesar documentos. La versión base que potencia el modelo fine-tune-A es la versión estable pretrained-foundation-model-v1.0-2023-08-22 (v1.0).

  2. Google publicó una nueva versión estable llamada pretrained-foundation-model-v1.2-2024-05-10 (v1.2) y anunció que la versión estable v1.0 quedará obsoleta el 9 de abril de 2025.

  3. Como conservaste los documentos de entrenamiento y prueba en el conjunto de datos de tu procesador, ajusta otra versión basada en la versión estable más reciente de Google, v1.2, y asígnale el nombre fine-tune-B. Después de evaluar su rendimiento, establece la versión fine-tune-B como la nueva versión predeterminada de tu procesador y retira la versión fine-tune-A. Tu nueva versión ahora usa la versión estable de Google más reciente compatible.

Por otro lado, si no hubieras creado ni evaluado la versión personalizada de fine-tune-B, Google habría actualizado la versión predeterminada de tu procesador a v1.2 el 9 de abril de 2025. Como llamas al extremo del procesador y no especificas una versión del procesador, la nueva versión de v1.2 se usa como la nueva versión predeterminada para procesar tus solicitudes.

Recursos de baja y migración

Para los analizadores y procesadores que dejaron de estar disponibles, puedes consultar Document AI deprecations.

Consulta los siguientes recursos para las migraciones:

Selecciona una versión del procesador

Existen tres formas de especificar qué versión del procesador se usará para el procesamiento en línea y por lotes:

  • Si no especificas una versión, se usará la predeterminada del procesador.

    • Ejemplo: projects/my-proj/locations/us/processors/my-processor:process
  • Si especificas una versión, se usará esa versión específica. Si la versión específica no existe, la solicitud falla con un error.

    • Ejemplo: projects/my-proj/locations/us/processors/my-processor/processorVersions/pretrained-invoice-v1.2-2022-02-18:process
  • Si especificas un canal, se usará la versión más reciente de ese canal. (Opciones: stable, rc)

    • Ejemplo: projects/my-proj/locations/us/processors/my-processor/processorVersions/stable:process

Ver la versión disponible

Console

  1. En la consola de Google Cloud , en la sección Document AI, ve a la página Procesadores.

    Ir a Procesadores

  2. En la lista de procesadores, haz clic en el nombre del procesador cuyos detalles deseas ver.

  3. Selecciona la pestaña Administrar versiones (o Implementar y usar), en la que se mostrarán todas las versiones del procesador disponibles.

REST

En este ejemplo, se muestra cómo enumerar las versiones del procesador disponibles para tu procesador con el método processorVersions.list.

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: Es el ID del proyecto de Google Cloud .
  • PROCESSOR_ID: Es el ID de tu procesador personalizado.

Método HTTP y URL:

GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions"

PowerShell

Ejecuta el siguiente comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions" | Select-Object -Expand Content

La respuesta contiene una lista de ProcessorVersions, que incluye información sobre cada versión del procesador, como su name, state y otros detalles.

{
  "processorVersions": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained-ocr-v1.1-2022-09-12",
      "displayName": "Google Release Candidate",
      "state": "DEPLOYED",
      "createTime": "2022-09-13T23:39:12.156648Z",
      "googleManaged": true
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained-ocr-v1.0-2020-09-23",
      "displayName": "Google Stable",
      "state": "DEPLOYED",
      "createTime": "2022-09-12T23:35:09.829557Z",
      "googleManaged": true,
      "deprecationInfo": {
        "deprecationTime": "1970-01-01T00:00:00Z"
      }
    }
  ]
}

C#

Para obtener más información, consulta la documentación de referencia de la API de Document AI C#.

Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

using Google.Api.Gax;
using Google.Cloud.DocumentAI.V1;
using System;

public sealed partial class GeneratedDocumentProcessorServiceClientSnippets
{
    /// <summary>Snippet for ListProcessorVersions</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void ListProcessorVersionsRequestObject()
    {
        // Create client
        DocumentProcessorServiceClient documentProcessorServiceClient = DocumentProcessorServiceClient.Create();
        // Initialize request argument(s)
        ListProcessorVersionsRequest request = new ListProcessorVersionsRequest
        {
            ParentAsProcessorName = ProcessorName.FromProjectLocationProcessor("[PROJECT]", "[LOCATION]", "[PROCESSOR]"),
        };
        // Make the request
        PagedEnumerable<ListProcessorVersionsResponse, ProcessorVersion> response = documentProcessorServiceClient.ListProcessorVersions(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (ProcessorVersion item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (ListProcessorVersionsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (ProcessorVersion item