Integración con BigQuery

BigQuery se integra en Document AI para ayudar a crear análisis de documentos y casos de uso de IA generativa. A medida que se acelera la transformación digital, las organizaciones generan grandes cantidades de texto y otros datos de documentos, lo que tiene un inmenso potencial para generar estadísticas y potenciar casos de uso novedosos de IA generativa. Para ayudarte a aprovechar estos datos, nos complace anunciar una integración entre BigQuery y Document AI, que te permitirá extraer estadísticas de los datos de documentos y compilar nuevas aplicaciones de modelos de lenguaje grande (LLM).

Descripción general

Los clientes de BigQuery ahora pueden crear extractores personalizados de Document AI, potenciados por los modelos de base de vanguardia de Google, que pueden personalizar en función de sus propios documentos y metadatos. Luego, estos modelos personalizados se pueden invocar desde BigQuery para extraer datos estructurados de documentos de forma segura y regulada con la simplicidad y el poder de SQL. Antes de esta integración, algunos clientes intentaron crear canalización independientes de Document AI, lo que implicaba seleccionar manualmente la lógica de extracción y el esquema. La falta de capacidades de integración integradas los llevó a desarrollar una infraestructura personalizada para sincronizar y mantener la coherencia de los datos. Esto convirtió cada proyecto de análisis de documentos en una tarea sustancial que requirió una inversión significativa. Ahora, con esta integración, los clientes pueden crear modelos remotos en BigQuery para sus extractores personalizados en Document AI y usarlos para realizar análisis de documentos y IA generativa a gran escala, lo que abre una nueva era de innovación y estadísticas basadas en datos.

Una experiencia unificada y regulada de datos a IA

Puedes crear un extractor personalizado en Document AI con tres pasos:

  1. Define los datos que necesitas extraer de tus documentos. Esto se denomina document schema, se almacena con cada versión del extractor personalizado y se puede acceder a él desde BigQuery.
  2. De manera opcional, proporciona documentos adicionales con anotaciones como muestras de la extracción.
  3. Entrena el modelo del extractor personalizado según los modelos de base proporcionados en Document AI.

Además de los extractores personalizados que requieren entrenamiento manual, Document AI también proporciona extractores listos para usar para gastos, recibos, facturas, formularios fiscales, IDs gubernamentales y muchas otras situaciones en la galería de procesadores.

Luego, una vez que tengas listo el extractor personalizado, puedes pasar a BigQuery Studio para analizar los documentos con SQL en los siguientes cuatro pasos:

  1. Registra un modelo remoto de BigQuery para el extractor con SQL. El modelo puede interpretar el esquema del documento (creado anteriormente), invocar el extractor personalizado y analizar los resultados.
  2. Crea tablas de objetos con SQL para los documentos almacenados en Cloud Storage. Puedes controlar los datos no estructurados en las tablas configurando políticas de acceso a nivel de fila, lo que limita el acceso de los usuarios a ciertos documentos y, por lo tanto, restringe el poder de la IA para la privacidad y la seguridad.
  3. Usa la función ML.PROCESS_DOCUMENT en la tabla de objetos para extraer los campos relevantes realizando llamadas de inferencia al extremo de API. También puedes filtrar los documentos de las extracciones con una cláusula WHERE fuera de la función. La función muestra una tabla estructurada, en la que cada columna es un campo extraído.
  4. Une los datos extraídos con otras tablas de BigQuery para combinar datos estructurados y no estructurados, lo que genera valores comerciales.

En el siguiente ejemplo, se ilustra la experiencia del usuario:

bigquery-integration-with-document-ai-1

  # Create an object table in BigQuery that maps to the document files stored in Cloud Storage.
  CREATE OR REPLACE EXTERNAL TABLE `my_dataset.document`
  WITH CONNECTION `my_project.us.example_connection`
  OPTIONS (
    object_metadata = 'SIMPLE',
    uris = ['gs://my_bucket/path/*'],
    metadata_cache_mode= 'AUTOMATIC',
    max_staleness= INTERVAL 1 HOUR
  );

  # Create a remote model to register your Doc AI processor in BigQuery.
  CREATE OR REPLACE MODEL `my_dataset.layout_parser`
  REMOTE WITH CONNECTION `my_project.us.example_connection`
  OPTIONS (
    remote_service_type = 'CLOUD_AI_DOCUMENT_V1',   
    document_processor='PROCESSOR_ID'
  );

  # Invoke the registered model over the object table to parse PDF document
  SELECT uri, total_amount, invoice_date
  FROM ML.PROCESS_DOCUMENT(
    MODEL `my_dataset.layout_parser`,
    TABLE `my_dataset.document`,
    PROCESS_OPTIONS => (
      JSON '{"layout_config": {"chunking_config": {"chunk_size": 250}}}')
    )
  WHERE content_type = 'application/pdf';

Tabla de resultados

bigquery-integration-with-document-ai-2

Casos de uso de análisis de texto, resumen y otros análisis de documentos

Una vez que hayas extraído texto de tus documentos, puedes realizar análisis de documentos de varias maneras:

  • Usa BigQuery ML para realizar análisis de texto: BigQuery ML admite el entrenamiento y la implementación de modelos de incorporación de varias maneras. Por ejemplo, puedes usar BigQuery ML para identificar el sentimiento de los clientes en las llamadas de asistencia o para clasificar los comentarios sobre productos en diferentes categorías. Si eres usuario de Python, también puedes usar BigQuery DataFrames para Pandas y APIs similares a scikit-learn para el análisis de texto en tus datos.
  • Usa el LLM text-embedding-004 para generar incorporaciones a partir de los documentos divididos: BigQuery tiene una función ML.GENERATE_EMBEDDING que llama al modelo text-embedding-004 para generar incorporaciones. Por ejemplo, puedes usar Document AI para extraer los comentarios de los clientes y resumirlos con PaLM 2, todo con BigQuery SQL.
  • Une los metadatos de los documentos con otros datos estructurados almacenados en tablas de BigQuery:

Por ejemplo, puedes generar incorporaciones con los documentos divididos en fragmentos y usarlas para la búsqueda de vectores.

# Example 1: Parse the chunked data

CREATE OR REPLACE TABLE docai_demo.demo_result_parsed AS (SELECT
  uri,
  JSON_EXTRACT_SCALAR(json , '$.chunkId') AS id,
  JSON_EXTRACT_SCALAR(json , '$.content') AS content,
  JSON_EXTRACT_SCALAR(json , '$.pageFooters[0].text') AS page_footers_text,
  JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageStart') AS page_span_start,
  JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageEnd') AS page_span_end
FROM docai_demo.demo_result, UNNEST(JSON_EXTRACT_ARRAY(ml_process_document_result.chunkedDocument.chunks, '$')) json)

# Example 2: Generate embedding

CREATE OR REPLACE TABLE `docai_demo.embeddings` AS
SELECT * FROM ML.GENERATE_EMBEDDING(
  MODEL `docai_demo.embedding_model`,
  TABLE `docai_demo.demo_result_parsed`
);

Implementa casos de uso de búsqueda y IA generativa

Una vez que extraigas texto estructurado de tus documentos, podrás crear índices optimizados para las búsquedas de aguja en el pajar, lo que es posible gracias a las capacidades de búsqueda y indexación de BigQuery, que desbloquean una potente función de búsqueda. Esta integración también ayuda a desbloquear nuevas aplicaciones generativas de LLM, como la ejecución de procesamiento de archivos de texto para el filtrado de privacidad, las verificaciones de seguridad del contenido y el corte de tokens con SQL y modelos personalizados de Document AI. El texto extraído, combinado con otros metadatos, simplifica la selección del corpus de entrenamiento necesario para ajustar grandes modelos de lenguaje. Además, estás compilando casos de uso de LLM en datos empresariales regulados que se basan en las capacidades de generación de incorporaciones y administración de índices vectoriales de BigQuery. Si sincronizas este índice con Vertex AI, puedes implementar casos de uso de generación mejorada por recuperación para obtener una experiencia de IA más administrada y optimizada.

Aplicación de ejemplo

Para obtener un ejemplo de una aplicación de extremo a extremo con el conector de Document AI:

  • Consulta esta demostración del informe de gastos en GitHub.
  • Lee la entrada de blog complementaria.
  • Mira un video detallado de Google Cloud Next 2021.