arrow_back

Gemini Pro と統合された Streamlit アプリの Cloud Run へのデプロイ

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Gemini Pro と統合された Streamlit アプリの Cloud Run へのデプロイ

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP1229

Google Cloud セルフペース ラボ

概要

Gemini は、Google の DeepMind が開発した、生成 AI モデルのファミリーであり、マルチモーダル ユースケース用に設計されています。Gemini API を使用すると、Gemini Pro Vision モデルと Gemini Pro モデルにアクセスできます。このラボでは、Vertex AI Gemini API をアプリケーションと統合し、開発したサンプル アプリケーションをビルドして Google Cloud Run にデプロイする方法を理解します。

Vertex AI Gemini API

Vertex AI Gemini API は、Gemini モデルを操作するための統合インターフェースを提供します。現在、Gemini API では次の 2 つのモデルが利用可能です。

  1. Gemini Pro モデルgemini-pro): 自然言語タスク、マルチターン テキストとコードチャット、コード生成を処理するように設計されています。
  2. Gemini Pro Vision モデルgemini-pro-vision): マルチモーダル プロンプトをサポートします。プロンプト リクエストにテキスト、画像、動画を含めて、テキストまたはコードの回答を取得できます。

Gemini API を操作するには、次の方法を使用します。

  • Vertex AI Studio を使用して迅速なテストとコマンド生成を行う
  • cURL コマンドを使用する
  • Vertex AI SDK を使用する

このラボでは、Gemini Pro モデルを Streamlit アプリケーションと統合し、そのアプリケーションを Google Cloud Run にデプロイする方法について詳しく学習します。

詳細については、Vertex AI での生成 AI に関するドキュメントをご覧ください。

目標

このラボでは、次の方法について学びます。

  • Vertex AI Gemini API をアプリケーションと統合する
  • 開発したサンプル アプリケーションをビルドして Google Cloud Run にデプロイする
  • Streamlit フレームワークを使用して Cloud Run アプリケーションをビルドする

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

タスク 1. ローカルでアプリケーションを実行する

このセクションでは、Streamlit アプリケーションを Cloud Shell でローカルに実行します。

リポジトリのクローンを作成する

  1. Cloud コンソールの右上にある Cloud Shell アイコンをクリックして、新しい Cloud Shell ターミナルを開きます。

  2. 次のコマンドを実行して、リポジトリのクローンを作成し、Cloud Shell で gemini-streamlit-cloudrun ディレクトリに移動します。

git clone https://github.com/GoogleCloudPlatform/generative-ai.git cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun

Streamlit アプリケーションを実行するには、いくつかの追加の手順を踏む必要があります。

アプリケーションを実行する

  1. Python 仮想環境を設定して依存関係をインストールします。
python3 -m venv gemini-streamlit source gemini-streamlit/bin/activate pip install -r requirements.txt
  1. アプリケーションには、次の 2 つの環境変数へのアクセス権が必要です。
  • GCP_PROJECT: Google Cloud のプロジェクト ID。
  • GCP_REGION: Cloud Run アプリをデプロイするリージョン(例: us-central1)。

Vertex AI の初期化で Google Cloud のプロジェクト ID とリージョンが必要となるため、これらの変数が使われます。app.py 関数の具体的なコード行はこのようになります。vertexai.init(project=PROJECT_ID, location=LOCATION)

Cloud Shell で、次のコマンドを実行します。

GCP_PROJECT='{{{ project_0.project_id | Project ID}}}' GCP_REGION='{{{ project_0.default_region | Region }}}'
  1. アプリケーションをローカルで実行するために、次のコマンドを実行します。
streamlit run app.py \ --browser.serverAddress=localhost \ --server.enableCORS=false \ --server.enableXsrfProtection=false \ --server.port 8080

出力:

Collecting usage statistics. To deactivate, set browser.gatherUsageStats to False. You can now view your Streamlit app in your browser. URL: http://localhost:8080
  1. アプリケーションが起動し、アプリケーションの URL が提供されます。リンクをクリックしてブラウザでアプリケーションを表示するか、Cloud Shell のウェブ プレビュー機能を使用してプレビュー ページを立ち上げます。

  2. ストーリー生成のパラメータを調整し、[Generate my story] をクリックします。

  3. Cloud Shell に戻り、アプリケーションによる Gemini API へのアクセスを承認します。アプリケーションを承認したら、アプリケーションに戻って回答を確認できます。

注: アプリケーションは Vertex AI Gemini API にプロンプトを出し、回答を表示します。このためには、[Generate my story] を選択した後、Cloud Shell に戻り、アプリケーションによる Gemini API へのアクセスを承認する必要があります。

Streamlit アプリケーション ページ

  1. アプリケーションのテストが完了したら、Cloud Shell で Ctrl + C キーを押してアプリケーションを停止します。

タスク 2. アプリケーションをビルドして Cloud Run にデプロイする

このセクションでは、Streamlit アプリケーションを Cloud Run にデプロイします。

アプリケーションの Docker イメージをビルドして、Artifact Registry に push します。これを行うには、Artifact Registry 名を指定する環境変数を 1 つ設定する必要があります。次のコマンドを実行すると、Artifact Registry リポジトリが作成されます。

  1. Cloud Shell で、次のコマンドを実行します。
AR_REPO='gemini-repo' SERVICE_NAME='gemini-streamlit-app' gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_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
  1. 最後のステップでは、前のステップでビルドし、Artifact Registry に push したイメージを使用して、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

正常にデプロイされると、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 にプロンプトを出し、回答を表示します。

Vertex Gemini

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションをビルドして Cloud Run にデプロイする

お疲れさまでした

お疲れさまでした。このラボでは、Vertex AI Gemini API をアプリケーションと統合し、開発したサンプル アプリケーションをビルドして Google Cloud Run にデプロイする方法について学習しました。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 3 月 7 日

ラボの最終テスト日: 2024 年 3 月 7 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします