Envía una solicitud de procesamiento

Después de configurar tu cuenta deGoogle Cloud y crear un procesador, puedes enviar una solicitud a tu procesador de Document AI.

El código que se usa para enviar la solicitud es el mismo para todos los procesadores. Observas diferencias en el funcionamiento del procesador en la información que genera cada procesador.

Si usas la versión de la API de v1 de Document AI o la Google Cloud consola, puedes enviar solicitudes de procesamiento a esa versión específica del procesador. Si no especificas una versión del procesador, se usa la versión predeterminada. Para obtener más información, consulta Administra versiones de procesadores.

Procesamiento en línea

Las solicitudes en línea (síncronas) te permiten enviar un solo documento para su procesamiento. Document AI procesa la solicitud de inmediato y devuelve un document.

Envía una solicitud a un procesador

En los siguientes ejemplos de código, se muestra cómo enviar una solicitud a un procesador.

REST

En este ejemplo, se muestra cómo proporcionar contenido del documento (contenido sin procesar en bytes a través de una cadena codificada en base64) en el objeto rawDocument.

Como alternativa, también puedes especificar inlineDocument, que es el mismo formato JSON Document que devuelve Document AI. Esto te permite encadenar solicitudes pasando el mismo formato de un lado a otro (por ejemplo, si clasificas un documento y, luego, extraes su contenido).

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.
  • skipHumanReview: Es un valor booleano para inhabilitar la revisión humana (solo es compatible con los procesadores con interacción humana).
    • true - Se omite la revisión humana
    • false: Habilita la revisión manual (configuración predeterminada).
  • MIME_TYPE: Una de las opciones de tipo de MIME válidas.
  • IMAGE_CONTENT: Uno de los contenidos de documentos intercalados válidos, representado como un flujo de bytes. Para las representaciones JSON, es la codificación en base64 (cadena ASCII) de los datos de la imagen binaria. Esta cadena debería ser similar a la siguiente:
    • /9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
    Visita el tema Codificación en Base64 para obtener más información.
  • FIELD_MASK: Especifica qué campos se deben incluir en el resultado de Document. Esta es una lista separada por comas de los nombres de campos completamente calificados en formato FieldMask.
    • Ejemplo: text,entities,pages.pageNumber
  • INDIVIDUAL_PAGES: Es una lista de páginas individuales para procesar.
    • Como alternativa, proporciona el campo fromStart o fromEnd para procesar una cantidad específica de páginas desde el principio o el final del documento.

† Este contenido también se puede especificar con contenido codificado en base64 en el objeto inlineDocument.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "skipHumanReview": skipHumanReview,
  "rawDocument": {
    "mimeType": "MIME_TYPE",
    "content": "IMAGE_CONTENT"
  },
  "fieldMask": "FIELD_MASK",
  "processOptions": {
    "individualPageSelector" {
      "pages": [INDIVIDUAL_PAGES]
    }
  }
}

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/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID: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/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand Content

Si la solicitud se completa de forma correcta, el servidor muestra un código de estado HTTP 200 OK y la respuesta en formato JSON. El cuerpo de la respuesta contiene una instancia de Document.

Envía una solicitud a una versión del procesador

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.
  • 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
  • skipHumanReview: Es un valor booleano para inhabilitar la revisión humana (solo es compatible con los procesadores con interacción humana).
    • true - Se omite la revisión humana
    • false: Habilita la revisión manual (configuración predeterminada).
  • MIME_TYPE: Una de las opciones de tipo de MIME válidas.
  • IMAGE_CONTENT: Uno de los contenidos de documentos intercalados válidos, representado como un flujo de bytes. Para las representaciones JSON, es la codificación en base64 (cadena ASCII) de los datos de la imagen binaria. Esta cadena debería ser similar a la siguiente:
    • /9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
    Visita el tema Codificación en Base64 para obtener más información.
  • FIELD_MASK: Especifica qué campos se deben incluir en el resultado de Document. Esta es una lista separada por comas de los nombres de campos completamente calificados en formato FieldMask.
    • Ejemplo: text,entities,pages.pageNumber

† Este contenido también se puede especificar con contenido codificado en base64 en el objeto inlineDocument.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "skipHumanReview": skipHumanReview,
  "rawDocument": {
    "mimeType": "MIME_TYPE",
    "content": "IMAGE_CONTENT"
  },
  "fieldMask": "FIELD_MASK"
}

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/v1/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/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content

Si la solicitud se completa de forma correcta, el servidor muestra un código de estado HTTP 200 OK y la respuesta en formato JSON. El cuerpo de la respuesta contiene una instancia de Document.

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.Cloud.DocumentAI.V1;
using Google.Protobuf;
using System;
using System.IO;

public class QuickstartSample
{
    public Document Quickstart(
        string projectId = "your-project-id",
        string locationId = "your-processor-location",
        string processorId = "your-processor-id",
        string localPath = "my-local-path/my-file-name",
        string mimeType = "application/pdf"
    )
    {
        // Create client
        var client =