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_TYPECLOUD_AI_DOCUMENT_V1원격 모델의 이름입니다.

  • object_table: 문서의 URI를 포함하는 객체 테이블의 이름입니다.

    객체 테이블의 문서는 지원되는 유형이어야 합니다. 지원되지 않는 유형의 문서를 포함하는 행에 대해 오류가 반환됩니다.

출력

ML.PROCESS_DOCUMENT는 다음 열을 반환합니다.

  • ml_process_document_result: Document AI API에서 반환하는 항목이 포함된 JSON
  • ml_process_document_result_status: 해당 행의 API 응답 상태가 포함된 STRING 값. 작업이 성공하면 이 값이 비어 있습니다.
  • 모델에 지정된 프로세서에서 반환하는 필드입니다.
  • 객체 테이블 열.

할당량

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... 미국 달러(USD)

다음 단계

  • ML.PROCESS_DOCUMENT 함수를 사용하여 문서를 처리하는 방법에 대한 단계별 안내 확인하기
  • BigQuery 데이터 분석을 위해 사용할 수 있는 다른 함수를 포함하여 모델 추론에 대해 자세히 알아보려면 모델 추론 개요를 참조하기
  • 각 모델 유형에 지원되는 SQL 문과 함수에 대한 자세한 내용은 각 모델의 엔드 투 엔드 사용자 경험을 참조하기