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 数据集。model
:REMOTE_SERVICE_TYPE
为CLOUD_AI_DOCUMENT_V1
的远程模型的名称。object_table
:包含文档 URI 的对象表的名称。对象表中的文档必须是受支持的类型。如果行包含的文档类型不受支持,则会返回错误。
输出
ML.PROCESS_DOCUMENT
会返回以下列:
ml_process_document_result
:JSON
值,其中包含 Document AI API 返回的实体。ml_process_document_result_status
:STRING
值,其中包含相应行的 API 响应状态。如果操作成功,则此值为空。- 模型中指定的处理器返回的字段。
- 对象表列。
配额
请参阅 Cloud AI 服务函数配额和限制。
位置
ML.PROCESS_DOCUMENT
必须在函数引用的远程模型所在的区域中运行。在 US
和 EU
多区域中,您只能创建基于 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... | 美元 |
后续步骤
- 查看有关如何使用
ML.PROCESS_DOCUMENT
函数处理文档的分步说明。 - 如需详细了解模型推理,包括可用于分析 BigQuery 数据的其他函数,请参阅模型推理概览。
- 如需了解每种模型类型支持的 SQL 语句和函数,请参阅每个模型的端到端用户体验历程。