Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O BigQuery se integra à Document AI para ajudar a criar análises de documentos e casos de uso de IA generativa. À medida que a transformação digital acelera, as organizações geram grandes quantidades de texto e outros dados de documentos, que têm um potencial imenso para insights e para impulsionar novos casos de uso de IA generativa. Para ajudar a aproveitar esses dados, anunciamos uma integração entre o BigQuery e a Document AI, que permite extrair insights de dados de documentos e criar novos aplicativos de modelo de linguagem grande (LLM).
Visão geral
Os clientes do BigQuery agora podem criar extratores personalizados da Document AI, com tecnologia dos modelos de fundação de ponta do Google, que podem ser personalizados com base nos próprios documentos e metadados. Esses modelos personalizados podem ser invocados do BigQuery para extrair dados estruturados de documentos de maneira segura e controlada, usando a simplicidade e o poder do SQL.
Antes dessa integração, alguns clientes tentavam criar pipelines independentes da Document AI, o que envolvia a seleção manual da lógica e do esquema de extração. A
falta de recursos de integração integrados os obrigou a desenvolver uma infraestrutura personalizada
para sincronizar e manter a consistência dos dados. Isso transformou cada projeto de análise de documentos em uma tarefa substancial que exigia um investimento significativo.
Agora, com essa integração, os clientes podem criar modelos remotos no BigQuery para extratores personalizados na Document AI e usá-los para realizar análises de documentos e IA generativa em grande escala, inaugurando uma nova era de insights e inovação baseados em dados.
Uma experiência unificada e governada de dados para IA
É possível criar um extrator personalizado na Document AI em três etapas:
Defina os dados que você precisa extrair dos documentos. Ele é chamado de document schema e fica armazenado com cada versão do extrator personalizado, acessível no BigQuery.
Se quiser, forneça outros documentos com anotações como exemplos da extração.
Treine o modelo para o extrator personalizado com base nos modelos de fundação fornecidos na Document AI.
Além dos extratores personalizados que exigem treinamento manual, a Document AI também oferece extratores prontos para uso de despesas, recibos, faturas, formulários fiscais, documentos de identificação do governo e uma infinidade de outros cenários na galeria de processadores.
Depois que o extrator personalizado estiver pronto, acesse o BigQuery Studio
para analisar os documentos usando SQL nas quatro etapas a seguir:
Registre um modelo remoto do BigQuery para o extrator usando SQL. O modelo pode entender o esquema do documento (criado acima), invocar o extrator personalizado e analisar os resultados.
Crie tabelas de objetos usando SQL para os documentos armazenados no Cloud Storage. É possível controlar os dados não estruturados nas tabelas definindo políticas de acesso no nível da linha, o que limita o acesso dos usuários a determinados documentos e restringe o poder da IA para privacidade e segurança.
Use a função ML.PROCESS_DOCUMENT na tabela de objetos para extrair campos relevantes fazendo chamadas de inferência para o endpoint de API. Também é possível filtrar os documentos para as extrações com uma cláusula WHERE fora da função.
A função retorna uma tabela estruturada, com cada coluna sendo um campo extraído.
Combine os dados extraídos com outras tabelas do BigQuery para combinar dados estruturados e não estruturados, gerando valores comerciais.
O exemplo a seguir ilustra a experiência do usuário:
# Create an object table in BigQuery that maps to the document files stored in Cloud Storage.CREATEORREPLACEEXTERNALTABLE`my_dataset.document`WITHCONNECTION`my_project.us.example_connection`OPTIONS(object_metadata='SIMPLE',uris=['gs://my_bucket/path/*'],metadata_cache_mode='AUTOMATIC',max_staleness=INTERVAL1HOUR);# Create a remote model to register your Doc AI processor in BigQuery.CREATEORREPLACEMODEL`my_dataset.layout_parser`REMOTEWITHCONNECTION`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 documentSELECTuri,total_amount,invoice_dateFROMML.PROCESS_DOCUMENT(MODEL`my_dataset.layout_parser`,TABLE`my_dataset.document`,PROCESS_OPTIONS=> (JSON'{"layout_config": {"chunking_config": {"chunk_size": 250}}}'))WHEREcontent_type='application/pdf';
Tabela de resultados
Análise de texto, resumo e outros casos de uso de análise de documentos
Depois de extrair o texto dos documentos, você pode realizar análises de várias maneiras:
Use o BigQuery ML para realizar análises de texto: o BigQuery ML oferece suporte ao treinamento e à implantação de modelos de incorporação de várias maneiras. Por exemplo, você pode usar o BigQuery ML
para identificar o sentimento do cliente em ligações de suporte ou classificar o feedback do produto
em diferentes categorias. Se você usa Python, também pode usar o BigQuery DataFrames
para pandas e APIs semelhantes ao scikit-learn para análise de texto nos seus dados.
Use o LLM text-embedding-004 para gerar embeddings dos documentos divididos em partes: o BigQuery tem uma função ML.GENERATE_EMBEDDING que chama o modelo text-embedding-004 para gerar embeddings. Por exemplo, é possível usar a Document AI para extrair o feedback dos clientes e resumir esse feedback usando o PaLM 2, tudo com o SQL do BigQuery.
Combine metadados de documentos com outros dados estruturados armazenados em tabelas do BigQuery:
Por exemplo, você pode gerar embeddings usando os documentos divididos em partes e usá-los para pesquisa vetorial.
# Example 1: Parse the chunked dataCREATEORREPLACETABLEdocai_demo.demo_result_parsedAS(SELECTuri,JSON_EXTRACT_SCALAR(json,'$.chunkId')ASid,JSON_EXTRACT_SCALAR(json,'$.content')AScontent,JSON_EXTRACT_SCALAR(json,'$.pageFooters[0].text')ASpage_footers_text,JSON_EXTRACT_SCALAR(json,'$.pageSpan.pageStart')ASpage_span_start,JSON_EXTRACT_SCALAR(json,'$.pageSpan.pageEnd')ASpage_span_endFROMdocai_demo.demo_result,UNNEST(JSON_EXTRACT_ARRAY(ml_process_document_result.chunkedDocument.chunks,'$'))json)# Example 2: Generate embeddingCREATEORREPLACETABLE`docai_demo.embeddings`ASSELECT*FROMML.GENERATE_EMBEDDING(MODEL`docai_demo.embedding_model`,TABLE`docai_demo.demo_result_parsed`);
Implementar casos de uso de pesquisa e IA generativa
Depois de extrair o texto estruturado dos documentos, é possível criar índices otimizados para consultas de agulha no palheiro, o que é possível com os recursos de pesquisa e indexação do BigQuery, liberando um recurso de pesquisa avançado.
Essa integração também ajuda a desbloquear novos aplicativos generativos de LLM, como a execução de
processamento de arquivos de texto para filtragem de privacidade, verificações de segurança de conteúdo e divisão de tokens
usando SQL e modelos personalizados da Document AI. O texto extraído, combinado com outros metadados, simplifica a curadoria do corpus de treinamento necessário para ajustar modelos de linguagem grandes. Além disso, você está criando casos de uso de LLM em dados empresariais governados, que foram fundamentados com os recursos de geração de incorporação e gerenciamento de índice de vetor do BigQuery. Ao sincronizar esse índice com a Vertex AI, você pode implementar casos de uso de geração aumentada de recuperação para uma experiência de IA mais governada e simplificada.
Exemplo de aplicativo
Confira um exemplo de um aplicativo completo usando o conector do Document AI:
Consulte esta demonstração do relatório de despesas no GitHub.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eBigQuery now integrates with Document AI, enabling users to extract insights from document data and create new large language model (LLM) applications.\u003c/p\u003e\n"],["\u003cp\u003eCustomers can create custom extractors in Document AI, powered by Google's foundation models, and then invoke these models from BigQuery to extract structured data using SQL.\u003c/p\u003e\n"],["\u003cp\u003eThis integration simplifies document analytics projects by eliminating the need for manually building extraction logic and schemas, thus reducing the investment needed.\u003c/p\u003e\n"],["\u003cp\u003eBigQuery's \u003ccode\u003eML.PROCESS_DOCUMENT\u003c/code\u003e function, along with remote models, object tables, and SQL, facilitates the extraction of relevant fields from documents and the combination of this data with other structured data.\u003c/p\u003e\n"],["\u003cp\u003ePost-extraction, BigQuery ML and the \u003ccode\u003etext-embedding-004\u003c/code\u003e model can be leveraged for text analytics, generating embeddings, and building indexes for advanced search and generative AI applications.\u003c/p\u003e\n"]]],[],null,["# BigQuery integration\n====================\n\nBigQuery integrates with Document AI to help build document analytics and generative AI\nuse cases. As digital transformation accelerates, organizations are generating vast\namounts of text and other document data, all of which holds immense potential for\ninsights and powering novel generative AI use cases. To help harness this data,\nwe're excited to announce an integration between [BigQuery](/bigquery)\nand [Document AI](/document-ai), letting you extract insights from document data and build\nnew large language model (LLM) applications.\n\nOverview\n--------\n\nBigQuery customers can now create Document AI [custom extractors](/blog/products/ai-machine-learning/document-ai-workbench-custom-extractor-and-summarizer), powered by Google's\ncutting-edge foundation models, which they can customize based on their own documents\nand metadata. These customized models can then be invoked from BigQuery to\nextract structured data from documents in a secure, governed manner, using the\nsimplicity and power of SQL.\nPrior to this integration, some customers tried to construct independent Document AI\npipelines, which involved manually curating extraction logic and schema. The\nlack of built-in integration capabilities left them to develop bespoke infrastructure\nto synchronize and maintain data consistency. This turned each document analytics\nproject into a substantial undertaking that required significant investment.\nNow, with this integration, customers can create remote models in BigQuery\nfor their custom extractors in Document AI, and use them to perform document analytics\nand generative AI at scale, unlocking a new era of data-driven insights and innovation.\n\nA unified, governed data to AI experience\n-----------------------------------------\n\nYou can build a custom extractor in the Document AI with three steps:\n\n1. Define the data you need to extract from your documents. This is called `document schema`, stored with each version of the custom extractor, accessible from BigQuery.\n2. Optionally, provide extra documents with annotations as samples of the extraction.\n3. Train the model for the custom extractor, based on the foundation models provided in Document AI.\n\nIn addition to custom extractors that require manual training, Document AI also\nprovides ready to use extractors for expenses, receipts, invoices, tax forms,\ngovernment ids, and a multitude of other scenarios, in the processor gallery.\n\nThen, once you have the custom extractor ready, you can move to BigQuery Studio\nto analyze the documents using SQL in the following four steps:\n\n1. Register a BigQuery remote model for the extractor using SQL. The model can understand the document schema (created above), invoke the custom extractor, and parse the results.\n2. Create object tables using SQL for the documents stored in Cloud Storage. You can govern the unstructured data in the tables by setting row-level access policies, which limits users' access to certain documents and thus restricts the AI power for privacy and security.\n3. Use the function `ML.PROCESS_DOCUMENT` on the object table to extract relevant fields by making inference calls to the API endpoint. You can also filter out the documents for the extractions with a `WHERE` clause outside of the function. The function returns a structured table, with each column being an extracted field.\n4. Join the extracted data with other BigQuery tables to combine structured and unstructured data, producing business values.\n\nThe following example illustrates the user experience:\n\n # Create an object table in BigQuery that maps to the document files stored in Cloud Storage.\n CREATE OR REPLACE EXTERNAL TABLE `my_dataset.document`\n WITH CONNECTION `my_project.us.example_connection`\n OPTIONS (\n object_metadata = 'SIMPLE',\n uris = ['gs://my_bucket/path/*'],\n metadata_cache_mode= 'AUTOMATIC',\n max_staleness= INTERVAL 1 HOUR\n );\n\n # Create a remote model to register your Doc AI processor in BigQuery.\n CREATE OR REPLACE MODEL `my_dataset.layout_parser`\n REMOTE WITH CONNECTION `my_project.us.example_connection`\n OPTIONS (\n remote_service_type = 'CLOUD_AI_DOCUMENT_V1', \n document_processor='\u003cvar translate=\"no\"\u003ePROCESSOR_ID\u003c/var\u003e'\n );\n\n # Invoke the registered model over the object table to parse PDF document\n SELECT uri, total_amount, invoice_date\n FROM ML.PROCESS_DOCUMENT(\n MODEL `my_dataset.layout_parser`,\n TABLE `my_dataset.document`,\n PROCESS_OPTIONS =\u003e (\n JSON '{\"layout_config\": {\"chunking_config\": {\"chunk_size\": 250}}}')\n )\n WHERE content_type = 'application/pdf';\n\nTable of results\n\nText analytics, summarization and other document analysis use cases\n-------------------------------------------------------------------\n\nOnce you have extracted text from your documents, you can then perform document\nanalytics in a few ways:\n\n- Use BigQuery ML to perform text-analytics: BigQuery ML supports training and deploying embedding models in a variety of ways. For example, you can use BigQuery ML to identify customer sentiment in support calls, or to classify product feedback into different categories. If you are a Python user, you can also use BigQuery DataFrames for pandas, and scikit-learn-like APIs for text analysis on your data.\n- Use `text-embedding-004` LLM to generate embeddings from the chunked documents: BigQuery has a `ML.GENERATE_EMBEDDING` function that calls the `text-embedding-004` model to generate embeddings. For example, you can use a Document AI to extract customer feedback and summarize the feedback using PaLM 2, all with BigQuery SQL.\n- Join document metadata with other structured data stored in BigQuery tables:\n\nFor example, you can generate embeddings using the chunked documents and use it for vector search. \n\n # Example 1: Parse the chunked data\n\n CREATE OR REPLACE TABLE docai_demo.demo_result_parsed AS (SELECT\n uri,\n JSON_EXTRACT_SCALAR(json , '$.chunkId') AS id,\n JSON_EXTRACT_SCALAR(json , '$.content') AS content,\n JSON_EXTRACT_SCALAR(json , '$.pageFooters[0].text') AS page_footers_text,\n JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageStart') AS page_span_start,\n JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageEnd') AS page_span_end\n FROM docai_demo.demo_result, UNNEST(JSON_EXTRACT_ARRAY(ml_process_document_result.chunkedDocument.chunks, '$')) json)\n\n # Example 2: Generate embedding\n\n CREATE OR REPLACE TABLE `docai_demo.embeddings` AS\n SELECT * FROM ML.GENERATE_EMBEDDING(\n MODEL `docai_demo.embedding_model`,\n TABLE `docai_demo.demo_result_parsed`\n );\n\nImplement search and generative AI use cases\n--------------------------------------------\n\nOnce you've extracted structured text from your documents, you can build indexes\noptimized for needle in the haystack queries, made possible by BigQuery's search\nand indexing capabilities, unlocking powerful search capability.\nThis integration also helps unlock new generative LLM applications like executing\ntext-file processing for privacy filtering, content safety checks, and token chunking\nusing SQL and custom Document AI models. The extracted text, combined with other metadata,\nsimplifies the curation of the training corpus required to fine-tune large language\nmodels. Moreover, you're building LLM use cases on governed, enterprise data\nthat's been grounded through BigQuery's embedding generation and vector index\nmanagement capabilities. By synchronizing this index with Vertex AI, you can\nimplement retrieval-augmented generation use cases, for a more governed and\nstreamlined AI experience.\n\nSample application\n------------------\n\nFor an example of an end-to-end application using the Document AI Connector:\n\n- Refer to this expense report demo on [GitHub](https://github.com/GoogleCloudPlatform/smart-expenses).\n- Read the companion [blog post](/blog/topics/developers-practitioners/smarter-applications-document-ai-workflows-and-cloud-functions).\n- Watch a deep dive [video](https://www.youtube.com/watch?v=Bnac6JnBGQg&t=1s) from Google Cloud Next 2021."]]