在 Cloud Run 部署已整合 Gemini Pro 的 Streamlit 應用程式
实验
1 小时
universal_currency_alt
5 积分
show_chart
中级
info
此实验可能会提供 AI 工具来支持您学习。
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 有兩種可用的模型:
-
Gemini Pro 模型 (
gemini-pro
):可處理自然語言工作、進行多輪文字和程式碼即時通訊,以及生成程式碼。
-
Gemini Pro Vision 模型 (
gemini-pro-vision
):支援多模態提示。您可以在提示要求中納入文字、圖片和影片,並取得文字或程式碼形式的回覆。
與 Gemini API 互動的方法如下:
本研究室聚焦於將 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 控制台
-
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的臨時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。
工作 1:在本機執行應用程式
在本節中,您將在本機使用 Cloud Shell 執行 Streamlit 應用程式。
複製存放區
-
點按 Cloud 控制台右上角的 Cloud Shell 圖示,開啟新的 Cloud Shell 終端機。
-
執行以下指令,即可複製存放區並前往 Cloud Shell 的 gemini-streamlit-cloudrun
目錄。
git clone https://github.com/GoogleCloudPlatform/generative-ai.git
cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
如要執行 Streamlit 應用程式,需要完成幾項額外步驟。
執行應用程式
- 設定 Python 虛擬環境並安裝依附元件:
python3 -m venv gemini-streamlit
source gemini-streamlit/bin/activate
pip install -r requirements.txt
- 您的應用程式需要兩項環境變數的存取權:
-
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 }}}'
- 如要在本機執行該應用程式,請執行以下指令。
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
-
系統將啟動應用程式,並提供應用程式網址。請點按連結,在瀏覽器中查看應用程式,或是使用 Cloud Shell 的網站預覽功能啟動預覽頁面。
-
調整故事生成參數,然後點按「Generate my story」。
-
返回 Cloud Shell,然後將 Gemini API 的存取權授予應用程式。為應用程式提供授權後,即可返回應用程式畫面查看回覆。
注意:應用程式會提示 Vertex AI Gemini API 顯示回覆。為確保這項功能順利運作,在選取「Generate my story」後,您必須回到 Cloud Shell 為應用程式提供授權,讓應用程式能存取 Gemini API。

- 完成應用程式的測試後,只要在 Cloud Shell 按下 Ctrl + C 鍵,即可停止應用程式。
工作 2:在 Cloud Run 中建構及部署應用程式
在本節中,您將在 Cloud Run 中部署 Streamlit 應用程式。
您現在需要建構應用程式的 Docker 映像檔,並推送至 Artifact Registry。如要完成這項工作,您需要可指向 Artifact Registry 名稱的環境變數組。以下指令能為您建立 Artifact Registry 存放區。
- 在 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
- 在前一步中建構映像檔並推送至 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 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。