arrow_back

Gemini と Streamlit を使用した GenAI アプリの開発: チャレンジラボ

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

Gemini と Streamlit を使用した GenAI アプリの開発: チャレンジラボ

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

GSP517

Google Cloud セルフペース ラボ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「Develop GenAI Apps with Gemini and Streamlit」コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

設定と要件

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

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

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

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

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

チャレンジ シナリオ

あなたは数か月前に Cymbal Health に就職しました。Cymbal Health はミネソタ州中東部で業務を行っている医療ネットワークで、医療サービスの提供方法の再構築と変革に取り組んでいます。Cymbal Health は、1 つの健康保険プランで診療と保険を結びつけ、患者が手頃な価格で質の高い診療を受けられるようにしています。

付加価値サービスとして、Cymbal Health はアプリ内でのヒントやアドバイスを通じて、利用者の健康的な生活とウェルネスの向上を目指しています。特に注力したい分野の 1 つは、利用者の栄養状態の向上です。

Cymbal Labs のロゴ

Cymbal Health は、テキスト、音声、画像、動画を生成するマルチモーダル モデルである Gemini Pro の機能を活用して、利用者向けに食事に関する推奨事項を生成するアプリケーションを構築します。

一例として、あなたのチームは AI ベースのシェフアプリを作成しようとしています。このアプリは、利用者の料理の好み、食事制限、食物アレルギー、家にある食材や食料品店で購入できる食材に基づいてレシピを生成します。あなたの仕事は、Gemini Pro モデル、Streamlit フレームワーク、Cloud Run を使用して構築されるこのシェフアプリの概念実証(PoC)のビルド、テスト、デプロイを行うことです。この PoC の一環として、あなたは決められた時間内にサンドボックス環境で一連のタスクを行う必要があります。

チャレンジ

実行するタスクは次のとおりです。

  • cURL を使用して API を呼び出し、プロンプトをテストする。
  • Streamlit フレームワークとプロンプトの Python コードを記述して、chef.py を完成させる。
  • アプリケーションをテストする。
  • Dockerfile を変更し、Artifact Registry に Docker イメージを push する。
  • アプリケーションを Cloud Run にデプロイしてテストする。

タスク 1. cURL を使用して API を呼び出し、プロンプトをテストする

Vertex AI でシェフアプリの作成を開始する前に、Gemini API との接続をテストする必要があります。

  1. ラボ環境の Cloud コンソールで、提供されている Vertex AI Workbench ユーザー管理ノートブックにアクセスします。

  2. ターミナルを開き、次のコマンドを使用して Cloud Storage から prompt.ipynb ファイルをダウンロードします。

    gsutil cp gs://spls/gsp517/prompt.ipynb .
  3. prompt.ipynb を変更し、セル 3 にプロジェクト ID とリージョンを含めるようにします。これらの値は、ラボの手順が表示される左のパネルで確認できます。

  4. prompt.ipynb を変更し、セル 5 の既存のプロンプトを置き換え、cURL を通じて次のプロンプトを使用するようにします。

    I am a Chef. I need to create Japanese recipes for customers who want low sodium meals. However, I do not want to include recipes that use ingredients associated with a peanuts food allergy. I have ahi tuna, fresh ginger, and edamame in my kitchen and other ingredients. The customer wine preference is red. Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts.
  5. すべてのセルを実行して結果を確認します。

  6. prompt.ipynb を保存します。

結果に満足したら、目標を確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 cURL を使用して API を呼び出し、プロンプトをテストする。

タスク 2. Streamlit フレームワークとプロンプトの Python コードを記述して、chef.py を完成させる。

このタスクでは、GitHub リポジトリのクローンを作成し、chef.py ファイルをダウンロードします。次に、chef.py ファイルに、ワインの好みに関する Streamlit フレームワーク コードを追加して、アプリケーションのユーザー インターフェースを完成させます。カスタムの Gemini プロンプト(タスク 1 のものに似ています)も追加しますが、このプロンプトには変数が含まれます。

  1. Cloud Shell を使用し、デフォルトのディレクトリで次のコマンドを実行してリポジトリのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/generative-ai.git
  2. gemini-streamlit-cloudrun ディレクトリに移動します。

    cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun 重要: このチャレンジラボのすべての作業はこのディレクトリ内で行う必要があります。このディレクトリに chef.py ファイルをダウンロードし、そこで変更してください。そうしないと、このファイルから Streamlit フレームワークにアクセスできなくなります。また、Cloud Shell でのテスト(タスク 3)、Docker コンテナのビルド(タスク 4)、Cloud Run へのデプロイとテスト(タスク 5)も行えなくなります。
  3. 次のコマンドを使用して、chef.py ファイルをダウンロードします。

    gsutil cp gs://spls/gsp517/chef.py .
  4. Cloud Shell エディタで chef.py ファイルを開き、コードを確認します。

    注: chef.py ファイルには、cuisine、dietary_preference、allergy、ingredient_1、ingredient_2、ingredient_3 の変数用の Streamlit フレームワーク ユーザー インターフェース コードがあらかじめ含まれています。次のステップに進む前に、このインターフェース コードを確認してください。
  5. wine 変数用の Streamlit フレームワーク ラジオボタン オプションを追加します。赤、白、なしのオプションを含めます。

  1. chef.py ファイルを保存します。

  2. 以下の新しい Gemini プロンプトを Python コードに追加します。

    prompt = f"""I am a Chef. I need to create {cuisine} \n recipes for customers who want {dietary_preference} meals. \n However, don't include recipes that use ingredients with the customer's {allergy} allergy. \n I have {ingredient_1}, \n {ingredient_2}, \n and {ingredient_3} \n in my kitchen and other ingredients. \n The customer's wine preference is {wine} \n Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts. """
  3. chef.py ファイルを保存します。

chef.py に追加した Gemini プロンプト コードに問題がなければ、Cloud Shell で次のコマンドを実行して、-generative-ai バケットにファイルをアップロードします。Cloud コンソールで [ターミナルを開く] をクリックして、Cloud Shell でセッションを開きます。

gcloud storage cp chef.py gs://{{{project_0.project_id|set at lab start}}}-generative-ai/

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 プロンプトと Streamlit フレームワークの Python コードを記述して chef.py を完成させる

注: chef.py ファイルに変更を加えた後は、必ず上記のコマンドを実行してください。これにより、更新された chef.py ファイルがバケットに送られます。

タスク 3. アプリケーションをテストする

このタスクでは、Cloud Shell のターミナルを使用してアプリケーションを実行し、テストします。

まだこのパス(generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun)にいることを確認します。

  1. Python 仮想環境を設定して依存関係をインストールします。

  2. PROJECT(プロジェクト ID)と REGION(ラボ環境で使用しているリージョン)の環境変数を設定します。

  3. chef.py アプリケーションを実行してテストします。

Cloud Shell でアプリケーションをテストし、設計どおりにエラーなく動作することを確認したら、目標を確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションをテストします。

タスク 4. Dockerfile を変更し、Artifact Registry にイメージを push する

このタスクでは、chef.py ファイルを使用するようにサンプルの Dockerfile を変更し、Artifact Registry に Docker イメージを push します。

重要: このタスクの手順を完了する前に、前のタスクと同様に、PROJECT(プロジェクト ID)と REGION(ラボ環境で使用しているリージョン)の環境変数を設定することをおすすめします。
  1. Cloud Shell エディタを使用して、chef.py を使用するように Dockerfile を変更し、ファイルを保存します。

  2. Cloud Shell で、次の変数を設定します。

    変数
    AR_REPO 'chef-repo'
    SERVICE_NAME 'chef-streamlit-app'
    注: Artifact Registry を作成して Cloud Build にビルドを送信するプロセスには約 8 分かかります。このコマンドと次の 2 つのコマンドを組み合わせて 1 つのコマンドにすることをおすすめします。
  3. gcloud artifacts repositories create コマンドと次のパラメータを使用して、Artifact Registry リポジトリを作成します。

    パラメータ
    リポジトリの名前 $AR_REPO
    ロケーション $REGION
    リポジトリ形式 Docker
  4. gcloud builds submit コマンドと次のパラメータを使用してビルドを送信します。

    パラメータ
    タグ "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
  5. コマンドが完了するまで待ちます。

コマンドが完了したら、目標を確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Dockerfile を変更し、Artifact Registry に Docker イメージを push する。

タスク 5. アプリケーションを Cloud Run にデプロイしてテストする

このタスクでは、アプリケーションを(Docker アーティファクトとして)Cloud Run にデプロイし、Cloud Run サービス エンドポイントから実行されるアプリケーションをテストします。

  1. Cloud Shell で、glcoud run deploy コマンドと次のパラメータ値を使用して、アプリケーションを(Docker アーティファクトとして)デプロイします。

    パラメータ
    ポート 8080
    イメージ "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
    フラグ --allow-unauthenticated
    リージョン REGION
    プラットフォーム managed
    プロジェクト PROJECT
    set-env-vars PROJECT=$PROJECT,REGION=$REGION
    注: [Do you want enable these APIs to continue (this will take a few minutes)?] (これらの API を有効にして続行しますか?数分ほどかかります)というプロンプトが表示されることがあります。有効にする場合は [Y] を選択します。

    デプロイが完了するまで数分かかります。完了すると、Cloud Run サービスの URL が提供されます。ブラウザでその URL にアクセスして、デプロイした Cloud Run アプリケーションを表示できます。

  2. 提供されたリンクを使用してアプリケーションをテストします。

Cloud Run で実行されるアプリケーションをテストし、正常に実行されたら、目標を確認します。

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

お疲れさまでした

このチャレンジラボを完了することで、Gemini と Streamlit を使用した GenAI アプリケーション開発のスキルと、それを AI ベースのシェフ アプリケーションに適用する方法を確認しました。

Develop GenAI Apps with Gemini and Streamlit のスキルバッジ

次のステップと詳細情報

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

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

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

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

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

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

We will notify you via email when it becomes available

ありがとうございます。

We will contact you via email if it becomes available