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 dem REMOTE_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ür JSON, der die von der Document AI API zurückgegebenen Entitäten enthält.
  • ml_process_document_result_status: ein STRING-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