Função ML.PROCESS_DOCUMENT
Neste documento, descrevemos a função ML.PROCESS_DOCUMENT
, que permite processar documentos não estruturados de uma tabela de objetos.
Sintaxe
ML.PROCESS_DOCUMENT( MODEL `project_id.dataset.model_name`, TABLE `project_id.dataset.object_table` )
Argumentos
ML.PROCESS_DOCUMENT
usa os seguintes argumentos:
project_id
: um valorSTRING
que especifica o ID do projeto.dataset
: um valorSTRING
que especifica o conjunto de dados do BigQuery que contém o modelo.model
: um valorSTRING
que especifica o nome de um modelo remoto com um valorREMOTE_SERVICE_TYPE
deCLOUD_AI_DOCUMENT_V1
.object_table
: um valorSTRING
que especifica o nome da tabela de objetos que contém os URIs dos documentos.Os documentos na tabela de objetos precisam ser de um tipo compatível. Um erro é retornado para qualquer linha que contenha um documento com um tipo não compatível.
Saída
ML.PROCESS_DOCUMENT
retorna as seguintes colunas:
ml_process_document_result
: um valorJSON
que contém as entidades retornadas pela API Document AI.ml_process_document_result_status
: um valorSTRING
que contém o status da resposta da API para a linha correspondente. Esse valor estará vazio se a operação tiver sido bem-sucedida.- Os campos retornados pelo processador especificado no modelo.
- As colunas da tabela de objetos.
Cotas
Consulte Cotas e limites de funções de serviço da IA do Cloud.
Locais
ML.PROCESS_DOCUMENT
precisa ser executada na mesma região que o modelo remoto referenciado pela função. Só é possível criar modelos com base na Document AI nas multirregiões US
e EU
.
Limitações
A função não processa documentos com mais de 15 páginas. Qualquer linha que contenha esse arquivo retorna um erro.
Exemplo
No exemplo a seguir, usamos o analisador de faturas para processar os documentos representados pela tabela documents
.
Criar o modelo:
# Create model CREATE OR REPLACE MODEL `myproject.mydataset.invoice_parser` REMOTE WITH CONNECTION `myproject.myregion.myconnection` OPTIONS (remote_service_type = 'cloud_ai_document_v1', document_processor='projects/project_number/locations/processor_location/processors/processor_id/processorVersions/version_id');
Processe os documentos:
SELECT * FROM ML.PROCESS_DOCUMENT( MODEL `myproject.mydataset.invoice_parser`, TABLE `myproject.mydataset.documents` );
O resultado será semelhante ao seguinte:
ml_process_document_result | ml_process_document_status | invoice_type | moeda | … |
---|---|---|---|---|
{"entities":[{"confidence":1,"id":"0","mentionText":"10 105,93 10,59","pageAnchor":{"pageRefs":[{"boundingPoly":{"normalizedVertices":[{"x":0.40452111,"y":0.67199326},{"x":0.74776918,"y":0.67199326},{"x":0.74776918,"y":0.68208581},{"x":0.40452111,"y":0.68208581}]}}]},"properties":[{"confidence":0.66... | USD |
A seguir
- Veja instruções detalhadas sobre como processar documentos usando a função
ML.PROCESS_DOCUMENT
. - Para saber mais sobre a inferência de modelo, incluindo outras funções que podem ser usadas para analisar dados do BigQuery, consulte Visão geral da inferência de modelo.
- Para informações sobre as funções e instruções SQL compatíveis com cada tipo de modelo, consulte Jornada do usuário completa de cada modelo.