PaLM Text Bison モデルをラップする Cloud Functions の関数

1. はじめに

この Codelab では、Vertex AI モジュールを初期化し、PaLM Text Bison モデルを呼び出すエンドポイントを提供する Cloud Functions の関数を呼び出す方法について説明します。この Cloud Functions の関数は Python で記述されています。使用されるサービスは次のとおりです。

  • Cloud Functions
  • Vertex AI PaLM API

作成するアプリの概要

PaLM Text Bison モデルを呼び出すエンドポイントを提供する Cloud Functions の関数を作成してデプロイします。

2. 必要なもの

  • ブラウザ(ChromeFirefox など)
  • 課金を有効にした Google Cloud プロジェクト

3. 始める前に

  1. Google Cloud コンソールの [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
  2. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
  3. こちらの手順に沿って、Google Cloud コンソールから Cloud Shell をアクティブにします。
  4. プロジェクトが設定されていない場合は、次のコマンドを使用して設定します。
gcloud config set project <YOUR_PROJECT_ID>
  1. Cloud Shell で、次の環境変数を設定します。
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Cloud Shell ターミナルで次のコマンドを実行して、必要な Google Cloud APIs を有効にします。
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

4. Cloud Functions の関数をデプロイする

Cloud Functions の関数を作成してデプロイする手順は次のとおりです。

  1. Cloud Shell ターミナルで次のコマンドを実行して、リポジトリ https://github.com/rominirani/genai-apptemplates-googlecloud からコードのクローンを作成します。
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. このコマンドを実行すると、リポジトリの内容のクローンが genai-templates-googlecloud フォルダに作成されます。
  2. Cloud Shell ターミナルから次のコマンドを実行して、目的のプロジェクトのフォルダに移動します。
cd genai-apptemplates-googlecloud/text-predict-cloudfunction
  1. dir コマンドを実行するか Cloud Shell エディタに移動すると、text-predict-cloudfunction フォルダに main.pyrequirements.txt の両方のファイルが表示されるはずです。
  2. Cloud Functions の関数をデプロイするには、gcloud functions deploy コマンドを実行します。
gcloud functions deploy predictText --gen2 --runtime=python311 --region=$GCP_REGION --source=. --entry-point=predictText --trigger-http --set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION --allow-unauthenticated --max-instances=1

Cloud Functions 関数をデプロイすると、デプロイされた Cloud Functions の URL が Cloud Shell ターミナルに表示されます。URL の形式は次のとおりです。

https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText

5. Cloud Functions の関数を呼び出す

この Cloud Functions の関数は HTTP トリガーでデプロイされるため、直接呼び出すことができます。呼び出しの例を次に示します。

curl -m 70 -X POST https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText \
-H "Content-Type: application/json" \
-d '{
  "prompt": "What are the best places to visit in the United States?"
}'

出力は次のようになります。

3470e0a6d0a30b37.png

6. クリーンアップ

この投稿で使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。
  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
  4. プロジェクトを残しておく場合は、上記の手順をスキップして、Cloud Functions に移動して Cloud Functions の関数を削除します。関数のリストで、削除する関数をオンにして [削除] をクリックします。

7. 完了

これで、PaLM Text Bison モデルをラップする Cloud Functions の関数を正しく使用できました。利用可能なモデルの詳細については、Vertex AI LLM プロダクトのドキュメントをご覧ください。