Die Funktion ML.PROCESS_DOCUMENT
In diesem Dokument wird die Funktion ML.PROCESS_DOCUMENT
beschrieben, mit der Sie unstrukturierte Dokumente aus einer Objekttabelle verarbeiten können.
Syntax
ML.PROCESS_DOCUMENT( MODEL `project_id.dataset.model_name`, TABLE `project_id.dataset.object_table` )
Argumente
ML.PROCESS_DOCUMENT
verwendet die folgenden Argumente:
project_id
: Ihre Projekt-ID.dataset
: Das BigQuery-Dataset, das das Modell enthält.model
: Der Name eines Remote-Modells mit demREMOTE_SERVICE_TYPE
CLOUD_AI_DOCUMENT_V1
.object_table
: Name der Objekttabelle, die die URIs der Dokumente enthält.Die Dokumente in der Objekttabelle müssen einen unterstützten Typ haben. Für jede Zeile, die ein Dokument eines nicht unterstützten Typs enthält, wird ein Fehler zurückgegeben.
Ausgabe
ML.PROCESS_DOCUMENT
gibt die folgenden Spalten zurück:
ml_process_document_result
: ein Wert fürJSON
, der die von der Document AI API zurückgegebenen Entitäten enthält.ml_process_document_result_status
: einSTRING
-Wert, der den API-Antwortstatus für die entsprechende Zeile enthält. Dieser Wert ist leer, wenn der Vorgang erfolgreich war.- Die Felder, die vom Verarbeiter zurückgegeben werden, der im Modell angegeben ist.
- Die Spalten der Objekttabelle.
Kontingente
Siehe Kontingente und Limits für Cloud AI-Dienstfunktionen.
Standorte
ML.PROCESS_DOCUMENT
muss in derselben Region ausgeführt werden wie das Remote-Modell, auf das die Funktion verweist. Sie können Modelle nur basierend auf Document AI in den Multiregionen US
und EU
erstellen.
Beschränkungen
Die Funktion kann keine Dokumente mit mehr als 15 Seiten verarbeiten. Jede Zeile, die eine solche Datei enthält, gibt einen Fehler zurück.
Beispiel
Im folgenden Beispiel wird der Rechnungsparser verwendet, um die in der Tabelle documents
dargestellten Dokumente zu verarbeiten.
Modell erstellen:
# 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');
Verarbeiten Sie die Dokumente:
SELECT * FROM ML.PROCESS_DOCUMENT( MODEL `myproject.mydataset.invoice_parser`, TABLE `myproject.mydataset.documents` );
Das Ergebnis sieht etwa so aus:
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 |
Nächste Schritte
- Schritt-für-Schritt-Anleitung zum Verarbeiten von Dokumenten mit der Funktion
ML.PROCESS_DOCUMENT
. - Weitere Informationen zur Modellinferenz, einschließlich anderer Funktionen, mit denen Sie BigQuery-Daten analysieren können, finden Sie unter Übersicht über die Modellinferenz.
- Informationen zu den unterstützten SQL-Anweisungen und -Funktionen für die einzelnen Modelltypen finden Sie unter End-to-End-Nutzerpfad für jedes Modell.