arrow_back

在 Cloud Run 部署已整合 Gemini Pro 的 Streamlit 應用程式

登录 加入
Get access to 700+ labs and courses

在 Cloud Run 部署已整合 Gemini Pro 的 Streamlit 應用程式

实验 1 小时 universal_currency_alt 5 积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
Get access to 700+ labs and courses

GSP1229

總覽

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 有兩種可用的模型:

  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 部署該應用程式。

詳情請參閱 Generative AI on Vertex AI 說明文件。

目標

本研究室的學習內容包括:

  • 將 Vertex AI Gemini API 與應用程式整合
  • 在 Google Cloud Run 建構及部署您開發的範例應用程式
  • 使用 Streamlit 架構建構 Cloud Run 應用程式

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

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

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

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

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。

工作 1:在本機執行應用程式

在本節中,您將在本機使用 Cloud Shell 執行 Streamlit 應用程式。

複製存放區

  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. 您的應用程式需要兩項環境變數的存取權:
  • 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. 系統將啟動應用程式,並提供應用程式網址。請點按連結,在瀏覽器中查看應用程式,或是使用 Cloud Shell 的網站預覽功能啟動預覽頁面。

  2. 調整故事生成參數,然後點按「Generate my story」

  3. 返回 Cloud Shell,然後將 Gemini API 的存取權授予應用程式。為應用程式提供授權後,即可返回應用程式畫面查看回覆。

注意:應用程式會提示 Vertex AI Gemini API 顯示回覆。為確保這項功能順利運作,在選取「Generate my story」後,您必須回到 Cloud Shell 為應用程式提供授權,讓應用程式能存取 Gemini API。

  1. 完成應用程式的測試後,只要在 Cloud Shell 按下 Ctrl + C 鍵,即可停止應用程式。

工作 2:在 Cloud Run 中建構及部署應用程式

在本節中,您將在 Cloud Run 中部署 Streamlit 應用程式。

您現在需要建構應用程式的 Docker 映像檔,並推送至 Artifact Registry。如要完成這項工作,您需要可指向 Artifact Registry 名稱的環境變數組。以下指令能為您建立 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 後,最後就是使用該映像檔在 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 服務的網址。您可以在瀏覽器中前往該網址,查看您方才部署的 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 並顯示回覆。

點按「Check my progress」,確認目標已達成。在 Cloud Run 中建構及部署應用程式

恭喜!

恭喜!在本研究室中,您學會了如何將 Vertex AI Gemini API 與應用程式整合,並在 Google Cloud Run 建構及部署您開發的範例應用程式。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 3 月 7 日

研究室上次測試日期:2024 年 3 月 7 日

Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.