Fonction ML.PROCESS_DOCUMENT
Ce document décrit la fonction ML.PROCESS_DOCUMENT
, qui vous permet de traiter des documents non structurés à partir d'une table d'objets.
Syntaxe
ML.PROCESS_DOCUMENT( MODEL `project_id.dataset.model_name`, TABLE `project_id.dataset.object_table` )
Arguments
ML.PROCESS_DOCUMENT
utilise les arguments suivants :
project_id
: ID de votre projetdataset
: ensemble de données BigQuery contenant le modèle.model
: nom d'un modèle distant avec une valeurREMOTE_SERVICE_TYPE
deCLOUD_AI_DOCUMENT_V1
.object_table
: nom de la table d'objet contenant les URI des documents.Les documents de la table d'objets doivent être d'un type compatible. Une erreur est renvoyée pour toute ligne contenant un document d'un type non compatible.
Sortie
ML.PROCESS_DOCUMENT
affiche les colonnes suivantes :
ml_process_document_result
: valeurJSON
contenant les entités renvoyées par l'API Document AI.ml_process_document_result_status
: valeurSTRING
contenant l'état de réponse de l'API pour la ligne correspondante. Cette valeur est vide si l'opération a réussi.- Champs renvoyés par le processeur spécifié dans le modèle.
- Les colonnes de la table d'objets.
Quotas
Consultez la page Quotas et limites des fonctions du service Cloud AI.
Emplacement
ML.PROCESS_DOCUMENT
doit s'exécuter dans la même région que le modèle distant auquel la fonction fait référence. Vous ne pouvez créer des modèles basés sur Document AI que dans les emplacements multirégionaux US
et EU
.
Limites
La fonction ne peut pas traiter de documents de plus de 15 pages. Toute ligne contenant ce type de fichier renvoie une erreur.
Exemple
L'exemple suivant utilise l'analyseur de factures pour traiter les documents représentés par la table documents
.
Créez le modèle :
# 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');
Traitez les documents :
SELECT * FROM ML.PROCESS_DOCUMENT( MODEL `myproject.mydataset.invoice_parser`, TABLE `myproject.mydataset.documents` );
Le résultat ressemble à ce qui suit :
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 |
Étapes suivantes
- Obtenez des instructions détaillées sur le traitement des documents à l'aide de la fonction
ML.PROCESS_DOCUMENT
. - Pour en savoir plus sur l'inférence de modèle, y compris sur les autres fonctions permettant d'analyser les données BigQuery, consultez la page Présentation de l'inférence de modèle.
- Pour en savoir plus sur les instructions et les fonctions SQL compatibles avec chaque type de modèle, consultez la section Parcours utilisateur de bout en bout pour chaque modèle.