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

1. はじめに

この Codelab では、Vertex AI モジュールを初期化する Cloud Functions を呼び出し、PaLM Text Bison モデルを呼び出すエンドポイントを提供する方法について説明します。この 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 API を有効にします。
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 プロダクトのドキュメントをご覧ください。