ML.PROCESS_DOCUMENT 函数

本文档介绍了 ML.PROCESS_DOCUMENT 函数,利用该函数可处理对象表中的非结构化文档。

语法

ML.PROCESS_DOCUMENT(
  MODEL `project_id.dataset.model_name`,
  TABLE `project_id.dataset.object_table`
)

参数

ML.PROCESS_DOCUMENT 接受以下参数:

  • project_id:您的项目 ID。

  • dataset:包含模型的 BigQuery 数据集。

  • modelREMOTE_SERVICE_TYPECLOUD_AI_DOCUMENT_V1远程模型的名称。

  • object_table:包含文档 URI 的对象表的名称。

    对象表中的文档必须是受支持的类型。如果行包含的文档类型不受支持,则会返回错误。

输出

ML.PROCESS_DOCUMENT 会返回以下列:

  • ml_process_document_resultJSON 值,其中包含 Document AI API 返回的实体。
  • ml_process_document_result_statusSTRING 值,其中包含相应行的 API 响应状态。如果操作成功,则此值为空。
  • 模型中指定的处理器返回的字段。
  • 对象表列。

配额

请参阅 Cloud AI 服务函数配额和限制

位置

ML.PROCESS_DOCUMENT 必须在函数引用的远程模型所在的区域中运行。在 USEU 多区域中,您只能创建基于 Document AI 的模型。

限制

该函数无法处理超过 15 页的文档。任何包含此类文件的行都会返回错误。

示例

以下示例使用账单解析器来处理由 documents 表表示的文档。

创建模型:

# 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');

处理文档:

SELECT *
FROM ML.PROCESS_DOCUMENT(
  MODEL `myproject.mydataset.invoice_parser`,
  TABLE `myproject.mydataset.documents`
);

结果类似于以下内容:

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... 美元

后续步骤