ML.PROCESS_DOCUMENT 関数を使用してドキュメントを処理する
このドキュメントでは、リモートモデルで ML.PROCESS_DOCUMENT 関数を使用して、オブジェクト テーブルのドキュメントから有用な分析情報を抽出する方法について説明します。
サポートされているロケーション
この手順で使用するリモートモデルは、US または EU マルチリージョンに作成する必要があります。ML.PROCESS_DOCUMENT 関数は、リモートモデルと同じリージョンで実行する必要があります。
必要なロール
リモートモデルを作成してドキュメントを処理するには、プロジェクト レベルで次の Identity and Access Management(IAM)ロールが必要です。
- ドキュメント プロセッサを作成する: Document AI 編集者(
roles/documentai.editor) - BigQuery データセット、テーブル、モデルの作成と使用: BigQuery データ編集者(
roles/bigquery.dataEditor) BigQuery 接続の作成、委任、使用: BigQuery 接続管理者(
roles/bigquery.connectionsAdmin)デフォルト接続が構成されていない場合は、
CREATE MODELステートメントの実行時に作成して設定できます。これを行うには、プロジェクトに対する BigQuery 管理者(roles/bigquery.admin)が必要です。詳細については、デフォルト接続を構成するをご覧ください。接続のサービス アカウントに権限を付与する: Project IAM 管理者(
roles/resourcemanager.projectIamAdmin)。BigQuery ジョブを作成する: BigQuery ジョブユーザー(
roles/bigquery.jobUser)
これらの事前定義ロールには、このドキュメントのタスクを実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
- データセットを作成する:
bigquery.datasets.create - 接続を作成、委任、使用する:
bigquery.connections.* - サービス アカウントの権限を設定する:
resourcemanager.projects.getIamPolicyとresourcemanager.projects.setIamPolicy - モデルを作成して推論を実行する
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
- オブジェクト テーブルを作成する:
bigquery.tables.createとbigquery.tables.update - ドキュメント プロセッサを作成する:
documentai.processors.createdocumentai.processors.updatedocumentai.processors.delete
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection API, and Document AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection API, and Document AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。
![ハイライト表示された [エクスプローラ] ペインのボタン。](/https://docs.cloud.google.com/static/bigquery/images/explorer-tab.png?hl=ja)
左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。
[エクスプローラ] ペインで、プロジェクト名をクリックします。
[アクションを表示] > [データセットを作成] をクリックします。
[データセットを作成する] ページで、次の操作を行います。
[データセット ID] に、データセットの名前を入力します。
[ロケーション タイプ] で、[リージョン] または [マルチリージョン] を選択します。
- [リージョン] を選択した場合は、[リージョン] リストからロケーションを選択します。
- [マルチリージョン] を選択した場合は、[マルチリージョン] リストから [US] または [ヨーロッパ] を選択します。
[データセットを作成] をクリックします。
[BigQuery] ページに移動します。
左側のペインで、 [エクスプローラ] をクリックします。

左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。
[エクスプローラ] ペインで、プロジェクト名を開き、[接続] をクリックします。
[接続] ページで、[接続を作成] をクリックします。
[接続タイプ] で、[Vertex AI リモートモデル、リモート関数、BigLake、Spanner(Cloud リソース)] を選択します。
[接続 ID] フィールドに接続の名前を入力します。
[ロケーション タイプ] で、接続のロケーションを選択します。この接続は、データセットなどの他のリソースと同じロケーションに配置する必要があります。
[接続を作成] をクリックします。
[接続へ移動] をクリックします。
[接続情報] ペインで、以降の手順で使用するサービス アカウント ID をコピーします。
コマンドライン環境で接続を作成します。
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
--project_idパラメータは、デフォルト プロジェクトをオーバーライドします。次のように置き換えます。
REGION: 接続のリージョンPROJECT_ID: 実際の Google Cloud プロジェクト IDCONNECTION_ID: 接続の ID
接続リソースを作成すると、BigQuery は、一意のシステム サービス アカウントを作成し、それを接続に関連付けます。
トラブルシューティング: 次の接続エラーが発生した場合は、Google Cloud SDK を更新します。
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
後の手順で使用するため、サービス アカウント ID を取得してコピーします。
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
出力は次のようになります。
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
プロセッサを作成する
Document AI でドキュメントを処理するプロセッサを作成します。プロセッサは、サポートされているタイプである必要があります。
データセットを作成する
データセット、接続、ドキュメント プロセッサは同じリージョンに作成する必要があります。
リソースを格納する BigQuery データセットを作成します。
コンソール
bq
接続を作成する
クラウド リソース接続を作成し、接続のサービス アカウントを取得します。前の手順で作成したデータセットと同じロケーションに接続を作成します。
デフォルトの接続が構成されているか、BigQuery 管理者ロールが付与されている場合は、この手順をスキップできます。
次のオプションのいずれかを選択します。コンソール
bq
Python
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。