ノートブックを作成する

このチュートリアルでは、Jupyter ノートブックで Agent Platform SDK を使用し、Agent Platform Workbench インスタンスを使用して予測を取得します。

このセクションでは、Agent Platform Workbench インスタンスで Jupyter ノートブックを作成する方法について説明します。 Agent Platform Workbench インスタンスは、データ サイエンス ワークフロー全体に対応する Jupyter ノートブック ベースの開発環境です。 Agent Platform Workbench インスタンスは、JupyterLab で事前にパッケージ化され、ディープ ラーニング パッケージ一式(TensorFlow と PyTorch のフレームワークのサポートを含む)がプリインストールされています。 詳細については、Agent Platform Workbench インスタンスの 概要をご覧ください。

Agent Platform Workbench でノートブックを作成した後、Python コードを順番に実行して、予測を生成するためのほとんどの作業を行います。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  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 Gemini Enterprise Agent Platform and Notebooks 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 Gemini Enterprise Agent Platform and Notebooks 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

Agent Platform Workbench インスタンスを作成する

Agent Platform Workbench インスタンスを作成する手順は次のとおりです。

  1. コンソールで、プロジェクトを開きます(まだ開いていない場合)。 Google Cloud Google Cloud

  2. コンソールで、Agent Platform Workbench の [**インスタンス**]ページに移動します。 Google Cloud

    [インスタンス] に移動

  3. Notebooks API を有効にするオプションが表示されたら、[有効にする] をクリックします。有効化が完了するまでに少し時間がかかることがあります。

  4. [新規作成] をクリックします。

  5. [新しいインスタンス] ダイアログの [名前] に、インスタンスの名前を入力します。

  6. [リージョン] で [us-central1 (アイオワ)] を選択します。

  7. [ゾーン] で [us-central1-a] を選択します。

  8. [作成] をクリックします。インスタンスの詳細を確認するには、インスタンスのリストに表示されたインスタンスの名前をクリックして、プロパティを表示します。

ノートブックを準備する

Agent Platform Workbench インスタンスはすでに認証され、 プロジェクトを使用できるようになっています。 Google Cloud ただし、Agent Platform SDK for Python をインストールして初期化する必要があります。以下では、この手順について説明します。

このチュートリアルでは、ノートブックを作成した後、そのノートブックを使用して、連続したコード スニペットを入力して実行します。コードの各スニペットは順番に実行する必要があります。

ノートブックを作成して開く

ノートブックは、このチュートリアルのコードを実行する場所です。これは、拡張子が .ipynb のファイルです。作成したときは無題になります。開いた後に名前を変更できます。ノートブックを作成して開く手順は次のとおりです。

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

    [インスタンス] に移動

  2. インスタンス名の横にある [JupyterLab を開く] をクリックします。

    Agent Platform Workbench インスタンスで JupyterLab 環境が開きます。

  3. JupyterLab で、[File] > [New] > [Notebook] の順に選択します。

    新しいノートブック ファイルが開き、[Select kernel] ダイアログが表示されます。

  4. [Select kernel] ダイアログで、Python 3 カーネルを選択します。

  5. JupyterLab の左側のナビゲーション パネルで、Untitled.ipynb という名前の新しいノートブックを見つけます。名前を変更するには、ノートブック名を右クリックし、[Rename] をクリックして、新しい名前を入力します。

Agent Platform SDK for Python をインストールする

ノートブックを開いたら、Agent Platform SDK for Python をインストールする必要があります。 Agent Platform SDK for Python を使用して Agent Platform API を呼び出し、データセットの作成、モデルの作成、モデルのトレーニングとデプロイ、予測を行います。詳細については、Use the Agent Platform SDK for Pythonをご覧ください。

Agent Platform SDK for Python をインストールすると、依存するほかの Google Cloud SDK も インストールされます。このチュートリアルでは、次の 2 つの SDK を使用します。

Agent Platform SDK for Python とそれに依存する SDK をインストールするには、次のコードを実行します。

# Install the Agent Platform SDK
! pip3 install --upgrade --quiet google-cloud-aiplatform

--quiet フラグを指定すると、出力が抑制されるため、エラーが存在する場合はエラーのみが表示されます。感嘆符(!)は、これがシェルコマンドであることを示します。

これは新しいノートブックで実行する最初のコードであるため、ノートブックの上部にある空白のコードセルに入力します。コードセルにコードを入力したら、「選択したセルを実行して次に進む」アイコン をクリックするか、キーボード ショートカット Shift + Enter を使用してコードを実行します。

コードを実行して SDK をインストールします。

このチュートリアルを進めていくと、最後に実行したコードの下に空のコードセルが自動的に表示されます。このセルでコードを実行します。新しいコードセルを手動で追加する場合は、ノートブック ファイルの「下にセルを挿入」ボタン をクリックします。

新しいコードセルを追加します。

プロジェクト ID とリージョンを設定する

このステップでは、プロジェクト ID とリージョンを変数に割り当てます。これにより、このチュートリアルの後半で簡単に参照できるようになります。

プロジェクト ID を設定する

プロジェクト ID を設定する手順は次のとおりです。

  1. Google Cloud プロジェクト ID を確認します。詳細については、プロジェクト ID を確認するをご覧ください。

  2. ノートブックのコードセルで、次のコマンドを実行します。コードで、PROJECT_ID は先ほど確認したプロジェクト ID に置き換えます。このコマンドで生成される出力は Updated property [core/project]. です。

    project_id = "PROJECT_ID"  # @param {type:"string"}
    

リージョンを設定する

このチュートリアルでは、us-central1 リージョンを使用します。リージョンを設定する手順は次のとおりです。

  1. 次のコードを実行して、Gemini Enterprise Agent Platform で使用される region 変数を us-central1 に設定します。このコマンドでは出力は生成されません。詳細については、ロケーションを選択するをご覧ください。

    region = "us-central1"  # @param {type: "string"}
    

Cloud Storage バケットを作成する

このチュートリアルでは、Gemini Enterprise Agent Platform がアーティファクトのステージングに使用する Cloud Storage バケットが必要です。Gemini Enterprise Agent Platform は、作成したデータセットに関連付けられたデータとモデルリソースをステージング バケットに保存します。このデータは、セッションをまたいで保持され、利用できます。このチュートリアルでは、Gemini Enterprise Agent Platform はデータセットもステージング バケットに保存します。ステージング バケットは、Agent Platform SDK for Python を 初期化するときに指定します

すべての Cloud Storage バケット名は、グローバルに一意である必要があります。すでに使用されている名前を選択すると、バケットを作成するコマンドが失敗します。次のコードでは、日時スタンプとプロジェクト名を使用して、一意のバケット名を作成します。gs:// にバケット名を付加して、Cloud Storage バケットの URI を作成します。echo シェルコマンドによって URI が表示されるため、正しく作成されていることを確認できます。

  1. バケットの名前と URI を設定するには、次のコードを実行します。最後の行に Cloud Storage バケットの URI が表示されます。

    bucket_name = "bucket-name-placeholder"  # @param {type:"string"}
    bucket_uri = f"gs://{bucket_name}"
    
    from datetime import datetime
    timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
    
    if bucket_name == "" or bucket_name is None or bucket_name == "bucket-name-placeholder":
        bucket_name = project_id + "aip-" + timestamp
        bucket_uri = "gs://" + bucket_name
    ! echo $bucket_uri
    
  2. Cloud Storage クライアント ライブラリとバケット URI を使用してバケットを作成するには、次のコードを実行します。このコードでは出力は生成されません。

    from google.cloud import storage
    client = storage.Client(project=project_id)
    
    # Create a bucket
    bucket = client.create_bucket(bucket_name, location=region)
    
  3. バケットが正常に作成されたことを確認するには、次のコマンドを実行します。

    print("Bucket {} created.".format(bucket.name))
    

Agent Platform SDK for Python を初期化する

Agent Platform SDK for Python を初期化するには、まず、ライブラリ aiplatform をインポートします。次に、aiplatform.init を呼び出し、次のパラメータの値を渡します。

  • project - project には、Agent Platform SDK for Python を使用して Agent Platform API を呼び出すときに使用する Google Cloud プロジェクトを指定します。このチュートリアルでは、名前で Google Cloud プロジェクトを指定します。プロジェクト番号でプロジェクトを指定することもできます。

  • location - location には、API 呼び出し時に使用する Google Cloud リージョンを 指定します。ロケーションを指定しない場合、Agent Platform SDK for Python は us-central1 を使用します。

  • staging_bucket - staging_bucket には、Agent Platform SDK for Python の使用時にアーティファクトをステージングするために使用する Cloud Storage バケットを指定します。gs:// で始まる URI を使用してバケットを指定します。このチュートリアルでは、前に Cloud Storage バケットを作成するで作成した URI を使用します。

Google Cloud プロジェクト、リージョン、ステージング バケットを設定するには、次のコマンドを実行します。このコマンドでは出力は生成されません。

from google.cloud import aiplatform

# Initialize the Agent Platform SDK
aiplatform.init(project=project_id, location=region, staging_bucket=bucket_uri)

BigQuery を初期化する

このチュートリアルでは、ペンギンの BigQuery 一般公開データセットを使用してモデルをトレーニングします。Gemini Enterprise Agent Platform がモデルをトレーニングした後、ペンギンの特徴を表すパラメータを指定します。モデルは、これらの特徴を使用してペンギンの種を予測します。一般公開データセットの詳細については、 BigQuery の一般公開データセットをご覧ください。

BigQuery データセットを使用する前に、プロジェクト ID で BigQuery を初期化する必要があります。これを行うには、次のコマンドを実行します。このコマンドでは出力は生成されません。

from google.cloud import bigquery

# Set up BigQuery client
bq_client = bigquery.Client(project=project_id)