GSP1229

概要
このラボでは、Vertex AI の Gemini API を使用して生成 AI アプリケーションを構築し、Cloud Run にデプロイする方法を学びます。Streamlit フレームワークを使用して、ストーリーを生成するためのインタラクティブなインターフェースを作成します。
このラボでは、Cloud Shell でアプリケーションをローカルに実行してその機能をテストし、その後、スケーラブルなサービスを提供できるよう Cloud Run にデプロイします。Gemini をユーザー インターフェースに統合し、Cloud Run を活用して効率的にデプロイする実践的な経験を積むことができます。
Gemini
Gemini は、Google DeepMind が開発した強力な生成 AI モデルのファミリーであり、テキスト、コード、画像、音声、動画などのさまざまな形式のコンテンツを理解し、生成することができます。
Vertex AI の Gemini API
Vertex AI の Gemini API は、Gemini モデルを操作するための統合インターフェースを提供します。これにより、開発者は強力な AI 機能をアプリケーションに簡単に組み込むことができます。最新バージョンの詳細情報と具体的な機能については、Gemini の公式ドキュメントをご覧ください。
Gemini モデル
-
Gemini Pro: 複雑な推論向けに設計されており、次のようなことができます。
- 膨大な量の情報の分析と要約。
- 高度なクロスモーダル推論(テキスト、コード、画像など)。
- 複雑なコードベースでの効果的な問題解決。
-
Gemini Flash: 速度と効率が向上するように最適化されており、以下を提供します。
- 1 秒未満の応答時間と高スループット。
- 高品質かつ低コストでの幅広いタスクの実行。
- 空間理解の向上、新しい出力形式(テキスト、音声、画像)、ネイティブでのツール使用(Google 検索、コード実行、サードパーティ機能)など、強化されたマルチモーダル機能。
前提条件
このラボを開始する前に、以下について理解しておく必要があります。
目標
このラボでは、次の方法について学びます。
- Vertex AI の Gemini API をアプリケーションと統合する
- 開発したサンプル アプリケーションをビルドして Google Cloud Run にデプロイする
- Streamlit フレームワークを使用して Cloud Run アプリケーションを構築する
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
- ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。
左側の [ラボの詳細] ペインには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] ペインでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] ペインでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
タスク 1. アプリケーションをビルドして Cloud Run にデプロイする
このセクションでは、Streamlit アプリケーションを Cloud Run にデプロイします。
リポジトリのクローンを作成する
-
Cloud コンソールの右上にある Cloud Shell アイコンをクリックして、新しい Cloud Shell ターミナルを開きます。
-
次のコマンドを実行してリポジトリのクローンを作成し、Cloud Shell で gemini-streamlit-cloudrun
ディレクトリに移動します。
git clone https://github.com/GoogleCloudPlatform/generative-ai.git --depth=1
cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
Streamlit アプリケーションを Cloud Run で実行するには、いくつかの追加の手順を踏む必要があります。
構成
- Python 仮想環境を設定して依存関係をインストールします。
python3 -m venv gemini-streamlit
source gemini-streamlit/bin/activate
pip install -r requirements.txt
- アプリケーションからは、次の 2 つの環境変数にアクセスする必要があります。
-
GOOGLE_CLOUD_PROJECT
: Google Cloud のプロジェクト ID。
-
GOOGLE_CLOUD_REGION
: Cloud Run アプリをデプロイするリージョン(例: us-central1
)。
Vertex AI の初期化で Google Cloud のプロジェクト ID とリージョンが必要となるため、これらの変数が使われます。app.py
関数の具体的なコード行はこのようになります。vertexai.init(project=PROJECT_ID, location=LOCATION)
Cloud Shell で、次のコマンドを実行します。
GOOGLE_CLOUD_PROJECT='{{{ project_0.project_id | Project ID}}}'
GOOGLE_CLOUD_REGION='{{{ project_0.default_region | Region }}}'
- アプリケーションの Docker イメージをビルドして、Artifact Registry に push します。これを行うには、Artifact Registry 名を指定する環境変数を 1 つ設定する必要があります。次のコマンドを実行すると、Artifact Registry リポジトリが作成されます。
注: このステップは完了するまでに数分かかります。
- Cloud Shell で、次のコマンドを実行します。
AR_REPO='gemini-repo'
SERVICE_NAME='gemini-streamlit-app'
gcloud artifacts repositories create "$AR_REPO" --location="$GOOGLE_CLOUD_REGION" --repository-format=Docker
gcloud builds submit --tag "$GOOGLE_CLOUD_REGION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/$AR_REPO/$SERVICE_NAME"
出力:
DONE
--------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
a601ffd1-c282-43d2-942c-53cc13f43bf2 2023-12-18T11:37:30+00:00 2M29S gs://qwiklabs-gcp-00-eb090e9513e8_cloudbuild/source/1702899440.87287-549e1a0cc5644b3c9535ff57f4a63d02.tgz us-central1-docker.pkg.dev/qwiklabs-gcp-00-eb090e9513e8/gemini-repo/gemini-streamlit-app (+1 more) SUCCESS
- 最後のステップでは、前のステップでビルドし、Artifact Registry に push したイメージを使用して、Cloud Run にサービスをデプロイします。
gcloud run deploy "$SERVICE_NAME" \
--port=8080 \
--image="$GOOGLE_CLOUD_REGION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/$AR_REPO/$SERVICE_NAME" \
--allow-unauthenticated \
--region=$GOOGLE_CLOUD_REGION \
--platform=managed \
--project=$GOOGLE_CLOUD_PROJECT \
--set-env-vars=GOOGLE_CLOUD_PROJECT=$GOOGLE_CLOUD_PROJECT,GOOGLE_CLOUD_REGION=$GOOGLE_CLOUD_REGION
正常にデプロイされると、Cloud Run サービスの URL が提供されます。ブラウザでその URL にアクセスして、デプロイした Cloud Run アプリケーションを表示できます。
出力:
⠼ Deploying new service... Done.
✓ Deploying new service... Done.
Done.
Service [gemini-streamlit-app] revision [gemini-streamlit-app-00001-srg] has been deployed and is serving 100 percent of traffic. Service URL: https://gemini-streamlit-app-hc2gb6hsia-uc.a.run.app
確認したい機能を選択すると、アプリケーションは Vertex AI の Gemini API にプロンプトを出し、回答を表示します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションをビルドして Cloud Run にデプロイする
お疲れさまでした
これで完了です。このラボでは、Vertex AI の Gemini API をアプリケーションと統合し、開発したサンプル アプリケーションをビルドして Google Cloud Run にデプロイする方法について学びました。
次のステップと詳細情報
以下のリソースで Gemini に関する理解を深めましょう。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 5 月 14 日
ラボの最終テスト日: 2025 年 5 月 14 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。