Cloud Run で PaLM API を使用してチャットアプリ

1. はじめに

この Codelab では、Google Cloud 上の Cloud Run サービスとして、ウェブ アプリケーションで AI ベースのチャットアプリを構築してデプロイする方法を説明します。このチャットアプリを使用すると、ユーザーは PaLM for Chat Bison モデル(text-chat)を使用してクエリを実行し、回答を得ることができます。

作成するアプリの概要

作成する

  • アプリケーションを実行するための Google Cloud の環境
  • アプリケーションの Docker イメージ
  • アプリケーションを実行する Cloud Run サービス

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. 環境を設定する

  1. サンプルコードをプロジェクトにコピーするには、Cloud Shell でリポジトリのクローンを作成します。
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. このコマンドを実行すると、リポジトリの内容のクローンが genai-templates-googlecloud フォルダに作成されます。
  2. Cloud Shell ターミナルから次のコマンドを実行して、目的のプロジェクトのフォルダに移動します。
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
  1. Vertex AI の初期化用に次の環境変数を設定します。

GCP_PROJECT : Google Cloud プロジェクト ID。例: my_project

GCP_REGION : Cloud Functions の関数をデプロイするリージョン。(例: us-central1)。

export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'

5. Docker イメージをビルドする

アプリケーションの Docker イメージをビルドして Artifact Registry に push するには、次の操作を行います。

  1. Artifact Registry リポジトリの環境変数を設定します。名前に使用できるのは、英小文字、数字、ハイフンのみです。先頭は英字、末尾は英字または数字にしてください。例: my-chat-app-repo
export AR_REPO='my-chat-app-repo'
  1. サービス名の環境変数を設定します。例: chat-flask-app
export SERVICE_NAME='chat-flask-app'
  1. Docker 形式でリポジトリを作成します。
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
  1. Docker 認証を構成する。
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
  1. イメージを構築する。
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
  1. イメージが Artifact Registry に push されていることを確認するには、[Artifact Registry] ページに移動します。このページで作成したリポジトリを探します。

6. アプリケーションをデプロイする

  1. アプリケーションをサービスとして Cloud Run にデプロイする。
gcloud run deploy "$SERVICE_NAME" \ 
--port=8080 \ 
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \ 
--allow-unauthenticated \ 
--region=$GCP_REGION \ 
--platform=managed  \ 
--project=$GCP_PROJECT \ 
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION

このステップが完了するまでに数秒かかることがあります。

  1. チャット アプリケーションを起動するには、サービスの URL をクリックします。

56c06b62e0ac95bf.png

次のスクリーンショットに示すように、チャット アプリケーションが新しいタブで開きます。

eebde9c35c171563.png

7. クリーンアップ

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

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

8. 完了

これで、Google Cloud で、ウェブ アプリケーション用の AI ベースのチャットアプリを Cloud Run サービスとしてビルドし、デプロイしました。このチャットアプリを使用すると、ユーザーにクエリを入力してもらうことができます。このアプリは、Vertex AI チャットモデルを呼び出してレスポンスを提供します。