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.getIamPolicyresourcemanager.projects.setIamPolicy
  • モデルを作成して推論を実行する
    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata
  • オブジェクト テーブルを作成する: bigquery.tables.createbigquery.tables.update
  • ドキュメント プロセッサを作成する:
    • documentai.processors.create
    • documentai.processors.update
    • documentai.processors.delete

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

始める前に

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. プロセッサを作成する

    Document AI でドキュメントを処理するプロセッサを作成します。プロセッサは、サポートされているタイプである必要があります。

    データセットを作成する

    データセット、接続、ドキュメント プロセッサは同じリージョンに作成する必要があります。

    リソースを格納する BigQuery データセットを作成します。

    コンソール

    1. Google Cloud コンソールで、[BigQuery] ページに移動します。

      BigQuery に移動

    2. 左側のペインで、 エクスプローラをクリックします。

      ハイライト表示された [エクスプローラ] ペインのボタン。

      左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。

    3. [エクスプローラ] ペインで、プロジェクト名をクリックします。

    4. [アクションを表示] > [データセットを作成] をクリックします。

    5. [データセットを作成する] ページで、次の操作を行います。

      1. [データセット ID] に、データセットの名前を入力します。

      2. [ロケーション タイプ] で、[リージョン] または [マルチリージョン] を選択します。

        • [リージョン] を選択した場合は、[リージョン] リストからロケーションを選択します。
        • [マルチリージョン] を選択した場合は、[マルチリージョン] リストから [US] または [ヨーロッパ] を選択します。
      3. [データセットを作成] をクリックします。

    bq

    1. 新しいデータセットを作成するには、--location フラグを指定した bq mk コマンドを使用します。

      bq --location=LOCATION mk -d DATASET_ID

      次のように置き換えます。

      • LOCATION: データセットのロケーション
      • DATASET_ID は、作成するデータセットの ID です。
    2. データセットが作成されたことを確認します。

      bq ls

    接続を作成する

    クラウド リソース接続を作成し、接続のサービス アカウントを取得します。前の手順で作成したデータセットと同じロケーションに接続を作成します。

    デフォルトの接続が構成されているか、BigQuery 管理者ロールが付与されている場合は、この手順をスキップできます。

    次のオプションのいずれかを選択します。

    コンソール

    1. [BigQuery] ページに移動します。

      BigQuery に移動

    2. 左側のペインで、 [エクスプローラ] をクリックします。

      ハイライト表示されたエクスプローラ ペインのボタン。

      左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。

    3. [エクスプローラ] ペインで、プロジェクト名を開き、[接続] をクリックします。

    4. [接続] ページで、[接続を作成] をクリックします。

    5. [接続タイプ] で、[Vertex AI リモートモデル、リモート関数、BigLake、Spanner(Cloud リソース)] を選択します。

    6. [接続 ID] フィールドに接続の名前を入力します。

    7. [ロケーション タイプ] で、接続のロケーションを選択します。この接続は、データセットなどの他のリソースと同じロケーションに配置する必要があります。

    8. [接続を作成] をクリックします。

    9. [接続へ移動] をクリックします。

    10. [接続情報] ペインで、以降の手順で使用するサービス アカウント ID をコピーします。

    bq

    1. コマンドライン環境で接続を作成します。

      bq mk --connection --location=REGION --project_id=PROJECT_ID \
          --connection_type=CLOUD_RESOURCE CONNECTION_ID

      --project_id パラメータは、デフォルト プロジェクトをオーバーライドします。

      次のように置き換えます。

      接続リソースを作成すると、BigQuery は、一意のシステム サービス アカウントを作成し、それを接続に関連付けます。

      トラブルシューティング: 次の接続エラーが発生した場合は、Google Cloud SDK を更新します。

      Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
      
    2. 後の手順で使用するため、サービス アカウント 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"}
      

    Python

    このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。

    BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。