Función ML.PROCESS_DOCUMENT
En este documento, se describe la función ML.PROCESS_DOCUMENT
, que te permite procesar documentos no estructurados desde una tabla de objetos.
Sintaxis
ML.PROCESS_DOCUMENT( MODEL `project_id.dataset.model_name`, TABLE `project_id.dataset.object_table` )
Argumentos
ML.PROCESS_DOCUMENT
toma los siguientes argumentos:
project_id
: ID del proyectodataset
: Es el conjunto de datos de BigQuery que contiene el modelo.model
: Es el nombre de un modelo remoto con unREMOTE_SERVICE_TYPE
deCLOUD_AI_DOCUMENT_V1
.object_table
: Es el nombre de la tabla de objetos que contiene los URI de los documentosLos documentos de la tabla de objeto deben ser de un tipo compatible. Se muestra un error para cualquier fila que contiene un documento de un tipo no compatible.
Salida
ML.PROCESS_DOCUMENT
muestra las siguientes columnas:
ml_process_document_result
: Un valorJSON
que contiene las entidades que muestra la API de Document AI.ml_process_document_result_status
: un valorSTRING
que contiene el estado de respuesta de la API para la fila correspondiente. Este valor está vacío si la operación se realizó con éxito.- Los campos que muestra el procesador especificado en el modelo.
- Las columnas de la tabla de objetos
Cuotas
Consulta Cuotas y límites de las funciones del servicio de Cloud AI.
Ubicaciones
ML.PROCESS_DOCUMENT
debe ejecutarse en la misma región que el modelo remoto al que hace referencia la función. Solo puedes crear modelos basados en Document AI en las multirregiones US
y EU
.
Limitaciones
La función no puede procesar documentos con más de 15 páginas. Cualquier fila que contenga ese archivo muestra un error.
Ejemplo
En el siguiente ejemplo, se usa el analizador de facturas para procesar los documentos representados por la tabla documents
.
Crea el 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');
Procesa los documentos:
SELECT * FROM ML.PROCESS_DOCUMENT( MODEL `myproject.mydataset.invoice_parser`, TABLE `myproject.mydataset.documents` );
El resultado es similar al siguiente:
ml_process_document_result | ml_process_document_status | invoice_type | currency | … |
---|---|---|---|---|
{"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 |
¿Qué sigue?
- Obtén instrucciones paso a paso para procesar los documentos con la función
ML.PROCESS_DOCUMENT
. - Si deseas obtener más información sobre la inferencia de modelos, incluidas otras funciones que puedes usar para analizar datos de BigQuery, consulta Descripción general de la inferencia de modelos.
- Para obtener información sobre las instrucciones y funciones de SQL compatibles para cada tipo de modelo, consulta Recorrido del usuario de extremo a extremo para cada modelo.