Integración con BigQuery

BigQuery se integra con Document AI para ayudar a crear analíticas de documentos y casos prácticos de IA generativa. A medida que se acelera la transformación digital, las organizaciones generan grandes cantidades de texto y otros datos de documentos, que tienen un enorme potencial para obtener información valiosa y desarrollar nuevos casos prácticos de IA generativa. Para aprovechar estos datos, nos complace anunciar una integración entre BigQuery y Document AI, que te permite extraer información valiosa de los datos de los documentos y crear nuevas aplicaciones de modelos de lenguaje extenso (LLMs).

Información general

Los clientes de BigQuery ahora pueden crear extractores personalizados de Document AI, basados en los modelos fundacionales de vanguardia de Google, que pueden personalizar en función de sus propios documentos y metadatos. Estos modelos personalizados se pueden invocar desde BigQuery para extraer datos estructurados de documentos de forma segura y controlada, usando la sencillez y la potencia de SQL. Antes de esta integración, algunos clientes intentaban crear pipelines de Document AI independientes, lo que implicaba seleccionar manualmente la lógica de extracción y el esquema. La falta de funciones de integración integradas les obligó a desarrollar una infraestructura personalizada para sincronizar y mantener la coherencia de los datos. Esto convirtió cada proyecto de analíticas de documentos en una tarea considerable que requería una inversión importante. Ahora, con esta integración, los clientes pueden crear modelos remotos en BigQuery para sus extractores personalizados en Document AI y usarlos para realizar analíticas de documentos e IA generativa a gran escala, lo que abre una nueva era de estadísticas e innovación basadas en datos.

Una experiencia de datos a IA unificada y gobernada

Puedes crear un extractor personalizado en Document AI siguiendo estos tres pasos:

  1. Define los datos que necesitas extraer de tus documentos. Se llama document schema y se almacena con cada versión del extractor personalizado. Se puede acceder a él desde BigQuery.
  2. También puedes proporcionar documentos adicionales con anotaciones como ejemplos de la extracción.
  3. Entrena el modelo del extractor personalizado a partir de los modelos fundacionales proporcionados en Document AI.

Además de los extractores personalizados que requieren entrenamiento manual, Document AI también proporciona extractores listos para usar en la galería de procesadores para gastos, recibos, facturas, formularios fiscales, documentos de identificación oficiales y muchos otros casos prácticos.

Una vez que tengas listo el extractor personalizado, puedes ir a BigQuery Studio para analizar los documentos con SQL siguiendo estos cuatro pasos:

  1. Registra un modelo remoto de BigQuery para el extractor mediante SQL. El modelo puede entender el esquema del documento (creado anteriormente), invocar el extractor personalizado y analizar los resultados.
  2. Crea tablas de objetos mediante SQL para los documentos almacenados en Cloud Storage. Puedes controlar los datos no estructurados de las tablas definiendo políticas de acceso a nivel de fila, lo que limita el acceso de los usuarios a determinados documentos y, por lo tanto, restringe el uso de la IA para proteger la privacidad y la seguridad.
  3. Usa la función ML.PROCESS_DOCUMENT en la tabla de objetos para extraer los campos relevantes haciendo llamadas de inferencia al endpoint de la API. También puedes filtrar los documentos de las extracciones con una cláusula WHERE fuera de la función. La función devuelve una tabla estructurada en la que cada columna es un campo extraído.
  4. Combina los datos extraídos con otras tablas de BigQuery para unir datos estructurados y no estructurados, lo que te permitirá obtener valor empresarial.

En el siguiente ejemplo se muestra la experiencia de 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

Analíticas de texto, resúmenes y otros casos prácticos de análisis de documentos

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

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

Por ejemplo, puedes generar incrustaciones 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`
);

Implementar casos prácticos de búsqueda e IA generativa

Una vez que hayas extraído texto estructurado de tus documentos, podrás crear índices optimizados para consultas de búsqueda de aguja en un pajar, lo que es posible gracias a las funciones de búsqueda e indexación de BigQuery, que te permiten disfrutar de una potente función de búsqueda. Esta integración también ayuda a desbloquear nuevas aplicaciones de LLM generativas, como la ejecución del procesamiento de archivos de texto para el filtrado de privacidad, las comprobaciones de seguridad del contenido y la fragmentación de tokens mediante SQL y modelos de Document AI personalizados. El texto extraído, combinado con otros metadatos, simplifica la selección del corpus de entrenamiento necesario para ajustar modelos de lenguaje grandes. Además, puedes crear casos prácticos de LLMs con datos empresariales gobernados que se han fundamentado mediante las funciones de generación de incrustaciones y gestión de índices vectoriales de BigQuery. Al sincronizar este índice con Vertex AI, puedes implementar casos prácticos de generación aumentada por recuperación para disfrutar de una experiencia de IA más controlada y optimizada.

Aplicación de ejemplo

Para ver un ejemplo de una aplicación integral que usa el conector de Document AI, sigue estos pasos: