總覽
檢索增強生成 (RAG) 是提升大型語言模型 (LLM) 回覆品質的最佳工具之一。RAG 是一種模式,會擷取非公開資料,並將資料加到要傳送至 LLM 的提示中。如此一來,LLM 就能根據提示中包含的資料,生成更準確的回覆。
AlloyDB 是與 PostgreSQL 相容的 Google Cloud 資料庫,具備擴充性且效能卓越。您將使用此資料庫儲存及搜尋「向量嵌入」這種特殊向量資料。使用者可利用語意搜尋擷取向量嵌入,在進行自然語言查詢時,找出最符合查詢的可用資料。接著,擷取的資料會加到提示詞中,一併傳給 LLM。
如要從資料庫擷取資料,請使用 MCP Toolbox,這是中介軟體伺服器,可將資料庫作業公開為一組工具。代理會連線至 Toolbox 來執行這些工具。這麼做可運用安全、可擴充且模組化的方式,管理資料庫互動。
您也將使用 Google Cloud 的全代管統合式 AI 開發平台 Vertex AI,建構及使用生成式 AI。您的應用程式會採用多模態基礎模型 Gemini Pro,使用者將能在文字或對話提示中加入圖片、音訊、影片和 PDF 檔案。這款模型也能理解長脈絡資料。

學習目標
在本實驗室中,您將學習下列內容:
- RAG 如何從知識庫中擷取相關資訊,增強 LLM 的功能。
- 如何透過 AlloyDB 進行語意搜尋,找出相關資訊。
- 如何使用 Vertex AI 和 Google 的基礎模型,為應用程式提供強大的生成式 AI 功能。
設定和需求
點選「Start Lab」按鈕前的須知事項
注意:請詳閱以下操作說明。
實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。您會在實際雲端環境中完成 Qwiklabs 實作實驗室活動,而非模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
需求條件
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
- 已預留充足時間可完成研究室。
注意:如果您擁有個人 Google Cloud 或專案,請勿用於本實驗室。
注意:如果您使用的是 Pixelbook,請在無痕視窗執行本實驗室。
如何開始研究室及登入控制台
-
按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側面板會顯示必須在這個研究室中使用的暫時憑證。

-
複製使用者名稱,然後點選「Open Google Console」。接著,研究室會啟動相關資源並開啟另一個分頁,當中顯示「Choose an account」頁面。
注意事項:請在不同視窗並排開啟分頁。
-
點選「Choose an account」頁面中的「使用其他帳戶」,「Sign in」頁面隨即開啟。

-
貼上您在「連線詳細資訊」面板中複製的使用者名稱,然後複製並貼上密碼。
注意事項:請務必使用「連線詳細資訊」面板中的憑證,而非 Google Cloud Skills Boost 的憑證。另外,請勿在這個研究室中使用您自己的 Google Cloud 帳戶,以免產生費用。
- 按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Cloud 控制台稍後會在這個分頁中開啟。
注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。
啟動 Google Cloud Shell
Google Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。
Google Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
-
在 Cloud 控制台的右上方找到工具列,然後按一下「開啟 Cloud Shell」按鈕。

-
按一下「繼續」。
佈建並連線至環境的作業需要一些時間才能完成。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」。示例如下:

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。
gcloud auth list
輸出內容:
Credentialed accounts:
- @.com (active)
輸出內容示例:
Credentialed accounts:
- google1623327_student@qwiklabs.net
gcloud config list project
輸出內容:
[core]
project =
輸出內容示例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
注意事項:如需 gcloud 的完整說明,請參閱 gcloud CLI 總覽指南。
工作 1:初始化環境
在這項工作中,您會安裝 Python、MCP Toolbox 和 PostgreSQL 用戶端。
透過 SSH 連線至應用程式 VM
虛擬機器 (VM) 已建立完成,會用來託管應用程式和 MCP Toolbox。
-
如要連線至 VM,請在 Cloud Shell 中執行下列指令:
gcloud compute ssh app-vm --zone={{{project_0.default_zone | ZONE }}}
如果系統要求您授權,請點按「授權」。
-
對於透過 gcloud compute ssh 指令提出的每個問題,按下 Enter 或 Return 鍵使用預設輸入內容。
稍後便會登入 VM。
安裝 Python 和 Git
-
請執行下列指令,在 VM 安裝 Python 和 Git:
sudo apt update
sudo apt install -y python3.11-venv git
python3 -m venv .venv
source ~/.venv/bin/activate
pip install --upgrade pip
安裝完成後,您會留在 Python 虛擬環境中,並看到 (.venv) 提示。
如果 VM SSH 工作階段逾時或分頁關閉,您可以再次透過 SSH 連線至 VM,然後使用 source ~/.venv/bin/activate 指令,重新啟動 Python 虛擬環境。
-
請執行下列指令來要確認 Python 的版本:
python -V
回應內容大致如下:
(.venv) student@app-vm:~$ python -V
Python 3.11.2
(.venv) student@app-vm:~$
安裝 PostgreSQL 用戶端
-
如要安裝 PostgreSQL 用戶端,請在 VM 工作階段執行下列指令:
sudo apt install -y postgresql-client
注意:系統可能已安裝用戶端。
下載試用版和 MCP Toolbox
-
如要複製這個試用版的程式碼,請執行下列指令:
cd ~
git clone https://github.com/GoogleCloudPlatform/cymbal-air-toolbox-demo.git
cd cymbal-air-toolbox-demo
-
如要下載 MCP Toolbox 二進位檔,請執行下列指令:
export MCP_TOOLBOX_VERSION="{{{project_0.startup_script.gcp_mcp_toolbox_version | TOOLBOX_VERSION}}}"
curl -O https://storage.googleapis.com/genai-toolbox/v$MCP_TOOLBOX_VERSION/linux/amd64/toolbox
chmod +x toolbox
工作 2:建立向量資料庫
在這項工作中,您會使用 PostgreSQL 用戶端建立向量資料庫。
建立向量資料庫
系統已建立 AlloyDB 執行個體。
-
如要建立新的資料庫,請執行下列指令:
export PROJECT_ID=$(gcloud config get-value project)
export REGION={{{project_0.default_region | REGION }}}
export ADBCLUSTER={{{project_0.startup_script.gcp_alloydb_cluster_name | CLUSTER}}}
export ADBINSTANCE={{{project_0.startup_script.gcp_alloydb_primary_instance | INSTANCE}}}
export INSTANCE_IP=$(gcloud alloydb instances describe $ADBINSTANCE --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)")
export PGUSER={{{project_0.startup_script.gcp_alloydb_user | PG_USER}}}
export PGPASSWORD={{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}}
export PGDATABASE={{{project_0.startup_script.gcp_alloydb_database | DATABASE}}}
psql "host=$INSTANCE_IP user=$PGUSER dbname=postgres" -c "CREATE DATABASE $PGDATABASE"
psql 會回應 CREATE DATABASE。
需以向量嵌入表示實體,資料庫才支援語意搜尋。
-
執行下列指令,為此資料庫啟用向量嵌入功能:
psql "host=$INSTANCE_IP user=$PGUSER dbname=$PGDATABASE" -c "CREATE EXTENSION vector"
psql 會回應 CREATE EXTENSION。
點按「Check my progress」,確認目標已達成。
建立 AlloyDB 資料庫並啟用向量擴充功能。
工作 3:填充範例資料庫
在這項工作中,您會使用 MCP Toolbox,利用範例資料填充 AlloyDB 的向量資料庫。對話應用程式會使用這些資料。
檢查資料模型
-
執行下列指令來查看資料模型:
cd ~/cymbal-air-toolbox-demo
cat models/models.py
畫面會顯示 Python 資料模型,範圍涵蓋機場、航班、航廈設施、政策和機票。
-
請執行下列指令,查看其中的一些機場資料:
head -1 data/airport_dataset.csv; grep SFO data/airport_dataset.csv
機場資料集的資料欄名稱是由 CSV 標頭指定。這些指令會顯示此 CSV 標頭,然後顯示舊金山國際機場 (SFO) 資料列的內容。您能根據國際航空運輸協會 (IATA) 代碼,或是國家/地區、城市和機場名稱,檢索機場模型中的資料。這份資料沒有向量嵌入,您可以使用關鍵字搜尋功能,尋找此資料表中不同的資料列。
-
請執行下列指令,查看模型中的一些航班資料:
head -1 data/flights_dataset.csv; grep -m10 "SFO" data/flights_dataset.csv
航班資料集的資料欄名稱是由 CSV 標頭指定。這些指令會顯示此 CSV 標頭,然後顯示出發地或抵達地為 SFO 的前 10 列航班資料。您能根據航空公司、航班號碼或出發地/抵達地的機場代碼,檢索航班模型中的資料。
-
請執行下列指令,查看模型中的一些設施資料:
head -2 data/amenity_dataset.csv
設施資料集的資料欄名稱是由 CSV 標頭指定。這些指令會顯示此 CSV 標頭,然後顯示第一項設施。
您會發現第一項設施有幾個簡單的值,包括名稱、說明、位置、航廈、類別和營業時間。下一個值是 content,含有名稱、說明和位置。最後一個值是 embedding,是此資料列的向量嵌入。
嵌入是一個有 768 個數字的陣列,用於執行語意搜尋。Vertex AI 提供的 AI 模型會計算出這些嵌入。使用者提交查詢時,系統會根據查詢建立向量嵌入,並擷取向量嵌入與搜尋嵌入相近的資料。
政策資料也會以類似方式使用向量嵌入。
注意:計算嵌入需要一些時間,因此我們直接提供嵌入。您可以檢查 run_generate_embeddings.py 指令碼,瞭解產生嵌入的方式。
啟動工具箱
-
執行下列指令,為 MCP Toolbox 設定必要的環境變數:
export ALLOYDB_POSTGRES_PROJECT=$(gcloud config get-value project)
export ALLOYDB_POSTGRES_REGION={{{project_0.default_region | REGION }}}
export ALLOYDB_POSTGRES_CLUSTER={{{project_0.startup_script.gcp_alloydb_cluster_name | CLUSTER}}}
export ALLOYDB_POSTGRES_INSTANCE={{{project_0.startup_script.gcp_alloydb_primary_instance | PRIMARY_INSTANCE}}}
export ALLOYDB_POSTGRES_DATABASE={{{project_0.startup_script.gcp_alloydb_database | DATABASE}}}
export ALLOYDB_POSTGRES_USER={{{project_0.startup_script.gcp_alloydb_user | PG_USER}}}
export ALLOYDB_POSTGRES_PASSWORD={{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}}
export ALLOYDB_POSTGRES_IP_TYPE=private
這些 MCP Toolbox 環境變數與 PostgreSQL 用戶端使用的變數類似。
下一步是執行 MCP Toolbox。
-
執行下列指令,在背景執行 MCP Toolbox 來初始化資料:
cd ~/cymbal-air-toolbox-demo
./toolbox --prebuilt alloydb-postgres &
連接符號 (&) 會讓工具箱在背景執行,因此您可以在同一個 SSH 工作階段執行資料庫初始化作業。
填充資料庫
-
執行下列指令,安裝試用版應用程式的 Python 依附元件:
source ~/.venv/bin/activate
pip install -r requirements.txt
-
執行下列指令來執行資料庫指令碼:
export PYTHONPATH=~/cymbal-air-toolbox-demo
python data/run_database_init.py
第一個指令會將路徑新增至 Python 模組,init 指令碼則會填入資料庫。
-
執行下列指令,驗證填入的資料:
psql "host=$INSTANCE_IP user=$PGUSER dbname=$PGDATABASE" -c "SELECT COUNT(*) FROM airports"
PostgreSQL 指令會傳回機場資料表中的機場數量。
-
執行下列指令,結束背景 Toolbox 程序:
pkill toolbox
使用範例資料集填充資料庫。
工作 4:為 MCP Toolbox 建立服務帳戶
在這項工作中,您會為 MCP Toolbox 建立服務帳戶。
在對話應用程式中,MCP Toolbox 負責從資料庫擷取相關資訊,以及根據 AI 應用程式的要求,從資料庫中擷取必要資訊。這個服務帳戶代表在 Cloud Run 中執行的 MCP Toolbox 服務。
建立服務帳戶
在專案執行個體上,SSH 使用者無權為服務帳戶指定所需角色。您會使用新的 Cloud Shell 分頁建立服務帳戶。
-
在 Cloud Shell 點按「開啟新分頁」圖示 (+),開啟新的 Cloud Shell 分頁。
-
在新分頁執行下列指令,即可建立服務帳戶:
gcloud iam service-accounts create toolbox-identity
系統會建立這個服務帳戶。
注意:如果系統傳回錯誤,指出您目前未選取有效帳戶,可能只是傳播延遲所致,請再次執行指令。
-
執行下列指令,授予服務帳戶必要權限:
export PROJECT_ID=$(gcloud config get-value project)
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/alloydb.client"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/serviceusage.serviceUsageConsumer"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
這個服務帳戶會取得下列角色:
-
roles/alloydb.client:讓工具箱存取 AlloyDB 資料庫。
-
roles/serviceusage.serviceUsageConsumer:讓工具箱使用服務。
-
roles/secretmanager.secretAccessor:讓工具箱擷取儲存在 Secret Manager 中的 Secret。
-
執行下列指令來關閉新分頁:
exit
為檢索服務建立服務帳戶。
工作 5:註冊 OAuth 同意畫面
在這項工作中,您會註冊 OAuth 同意畫面,系統會向要登入的使用者顯示這個畫面。
使用 OAuth 2.0 授權時,Google 會顯示同意畫面,請使用者授權應用程式存取資料。
-
在 Google Cloud 控制台點按「導覽選單」圖示
,然後依序選取「API 和服務」>「OAuth 同意畫面」。
-
點按「開始」。
-
「應用程式名稱」請輸入 Cymbal Air。
-
依序點按「使用者支援電子郵件」、學員的電子郵件和「下一步」。
-
「目標對象」請選取「內部」,然後點按「下一步」。
有專案存取權的使用者應能登入應用程式。
-
在實驗室操作說明的左側面板上,複製使用者名稱。

-
在「聯絡資訊」貼上複製的使用者名稱。
-
點按「下一步」。
-
選取核取方塊,表示同意使用者資料政策,然後依序點按「繼續」和「建立」。
同意畫面現已設定完畢。
工作 6:建立應用程式的用戶端 ID
在這項工作中,您會建立應用程式的用戶端 ID。
應用程式必須有用戶端 ID,才能使用 Google 的 OAuth 服務。您可以設定允許發出這項要求的來源,以及重新導向 URI,在使用者同意登入後,將使用者重新導向至該位置。
-
在 Google Cloud 控制台點按「導覽選單」圖示
,然後依序選取「API 和服務」>「憑證」。
-
依序點按「+ 建立憑證」和「OAuth 用戶端 ID」。
Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。
-
「應用程式類型」請選取「網頁應用程式」。
-
「名稱」請輸入 Cymbal Air。
您可以使用 Cloud Shell 產生 JavaScript 來源和重新導向 URI。
-
在 Cloud Shell 點按「開啟新分頁」圖示 (+),開啟新的 Cloud Shell 分頁。
-
請在新分頁執行下列指令,以便取得來源和重新導向 URI:
echo "origin:"; echo "https://8080-$WEB_HOST"; echo "redirect:"; echo "https://8080-$WEB_HOST/login/google"
-
在「已授權的 JavaScript 來源」,點按「+ 新增 URI」。
注意:請選取「已授權的 JavaScript 來源」下方的「新增 URI」按鈕,而不是「已授權的重新導向 URI」下方的按鈕。
-
複製 echo 指令建立的來源 URI,然後在「URI 1」貼上 URI。
-
在「已授權的重新導向 URI」下方,點按「+ 新增 URI」。
注意:此處請選取「已授權的重新導向 URI」下方的「新增 URI」按鈕。
-
複製 echo 指令建立的重新導向 URI,然後貼到「URI 1」。
-
接著要建立環境變數。請切換至 VM SSH 的 Cloud Shell 分頁,並貼上下列指令,但不要按下 Enter 鍵:
export CLIENT_ID=
注意:請務必在虛擬機器工作階段建立 CLIENT_ID 環境變數。
-
在「憑證」視窗中,按一下「建立」。
系統會隨即建立用戶端 ID 和用戶端密鑰。在這個測試應用程式,您只會用到用戶端 ID。
-
點按「複製用戶端 ID」圖示
。
用戶端 ID 已複製到剪貼簿。
注意:您也可以從「憑證」頁面複製用戶端 ID。
-
在 VM SSH 的 Cloud Shell 分頁貼上用戶端 ID,然後按下 Enter 鍵。
匯出內容應與下方類似:
export CLIENT_ID=937631684809-q7hs2r191jbks7f7dopih2uafuknb92h.apps.googleusercontent.com
建立應用程式的用戶端 ID。
工作 7:將工具箱部署至 Cloud Run
在這項工作中,您會將 MCP Toolbox 部署至 Cloud Run。
建構工具箱的設定檔
工具箱提供 tools.yaml 範例檔案,但您需要修改多項設定。
-
執行下列指令來查看設定:
head -20 ~/cymbal-air-toolbox-demo/tools.yaml
這個 YAML 檔案包含資料庫和 OAuth 的設定。
內容應如下所示:
sources:
my-pg-instance:
kind: alloydb-postgres
project: retrieval-app-testing
region: us-central1
cluster: my-alloydb-cluster
instance: my-alloydb-instance
database: assistantdemo
user: postgres
password: postgres
authServices:
my_google_service:
kind: google
clientId: 706535509072-qa5v22ur8ik8o513b0538ufo0ne9jfn5.apps.googleusercontent.com
-
執行下列指令,根據環境更新設定:
export PROJECT="$(gcloud config get-value project)"
export REGION="{{{project_0.default_region | REGION }}}"
export CLUSTER="{{{project_0.startup_script.gcp_alloydb_cluster_name | CLUSTER}}}"
export INSTANCE="{{{project_0.startup_script.gcp_alloydb_primary_instance | PRIMARY_INSTANCE}}}"
export DATABASE="{{{project_0.startup_script.gcp_alloydb_database | DATABASE}}}"
export USER="{{{project_0.startup_script.gcp_alloydb_user | PG_USER}}}"
export PASSWORD="{{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}}"
export IP_TYPE="private"
sed \
-e "s/^\( *project:\).*$/\1 $PROJECT/" \
-e "s/^\( *region:\).*$/\1 $REGION/" \
-e "s/^\( *cluster:\).*$/\1 $CLUSTER/" \
-e "s/^\( *instance:\).*$/\1 $INSTANCE/" \
-e "s/^\( *database:\).*$/\1 $DATABASE/" \
-e "s/^\( *user:\).*$/\1 $USER/" \
-e "s/^\( *password:\).*$/\1 $PASSWORD\\n ipType: $IP_TYPE/" \
-e "s/^\( *clientId:\).*$/\1 $CLIENT_ID/" \
~/cymbal-air-toolbox-demo/tools.yaml > ~/tools.yaml
這些指令會使用 sed,將特定設定替換為 tools.yaml 範例檔案。由於預設 IP 類型為公開,因此系統還會在密碼行下方新增 ipType 行。
-
執行下列指令來查看檔案更新:
head -20 ~/tools.yaml
設定檔頂端現在會顯示您的值。
機密設定 (尤其是資料庫密碼和用戶端 ID) 應以 Secret 形式保護。
為 tools.yaml 檔案建立 Secret
您可以使用 Secret Manager 保護 Secret,不用將機密資訊匯入程式碼存放區,也無需將其納入執行中的應用程式。
-
執行下列指令即可建立 Secret:
cd ~
gcloud secrets create tools --data-file=tools.yaml
-
執行下列指令即可驗證 Secret 是否已儲存完畢:
gcloud secrets describe tools
現在應該會看到名為「tools」的 Secret。
將工具箱部署至 Cloud Run
-
在 VM SSH 的 Cloud Shell 分頁執行下列指令,將工具箱部署至 Cloud Run:
export REGION={{{project_0.default_region | REGION }}}
export MCP_TOOLBOX_VERSION="{{{project_0.startup_script.gcp_mcp_toolbox_version | TOOLBOX_VERSION}}}"
export IMAGE="us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$MCP_TOOLBOX_VERSION"
gcloud run deploy toolbox \
--image $IMAGE \
--service-account toolbox-identity \
--region $REGION \
--set-secrets "/app/tools.yaml=tools:latest" \
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \
--network default \
--subnet default \
--no-allow-unauthenticated \
--quiet
等待部署作業完成。
-
執行下列指令來驗證服務:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $(gcloud run services list --filter="(toolbox)" --format="value(URL)")
看到「Hello World!」訊息時,表示服務已啟用並能處理要求。
部署工具箱服務。
工作 8:執行範例應用程式
在這項工作中,您會執行使用檢索服務的範例對話應用程式。
執行應用程式
-
在 VM SSH 的 Cloud Shell 分頁執行下列指令,即可返回對話應用程式的根層級:
source ~/.venv/bin/activate
cd ~/cymbal-air-toolbox-demo
啟動應用程式前,需先設定一些環境變數。應用程式的基本功能 (包括查詢航班和傳回機場設施) 需要 TOOLBOX_URL 環境變數。這個變數是用來指定在 Cloud Run 執行的工具箱服務網址。
-
執行下列指令,指定工具箱服務的網址:
export TOOLBOX_URL=$(gcloud run services list --filter="(toolbox)" --format="value(URL)")
echo $TOOLBOX_URL
本機應用程式會使用工具箱網址,透過 MCP Toolbox 存取資料庫。
-
執行下列指令來執行應用程式:
python run_app.py
回應內容大致如下:
(.venv) student-03-d87d6b142a95@app-vm:~/cymbal-air-toolbox-demo$ python run_app.py
INFO: Started server process [26127]
INFO: Waiting for application startup.
Loading application...
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8081 (Press CTRL+C to quit)
應用程式現已開始運作。
連線至 VM
您可以透過多種方式連線至 VM 上執行的應用程式。舉例來說,您能在虛擬私有雲使用防火牆規則,開啟 VM 的 8081 通訊埠,或是建立具有公開 IP 的負載平衡器。這裡您會使用 SSH 通道連線至 VM,將 Cloud Shell 通訊埠 8080 連至 VM 通訊埠 8081。
-
在 Cloud Shell 點按「開啟新分頁」圖示 (+),開啟新的 Cloud Shell 分頁。
-
在新分頁執行下列指令,建立連往 VM 通訊埠的 SSH 通道:
gcloud compute ssh app-vm --zone={{{project_0.default_zone | ZONE }}} -- -L localhost:8080:localhost:8081
gcloud 指令會將 Cloud Shell 的 localhost 通訊埠 8080,連線至 VM 通訊埠 8081。您可以忽略「Cannot assign requested address.」錯誤訊息。
-
現在要在網路瀏覽器執行應用程式。請點按「網頁預覽」,然後選取「透過以下通訊埠預覽:8080」。

瀏覽器會開啟新分頁並執行應用程式。Cymbal Air 應用程式會顯示下列訊息:「Welcome to Cymbal Air!How may I assist you?」。
-
輸入下列查詢:
下一個飛往洛杉磯的航班是什麼時候?
應用程式會在回覆中提供下一個從 SFO 飛往 LAX 的航班,或要求您提供詳細資訊。
-
輸入下列查詢:
該航班的登機門附近有哪些餐廳?
對話應用程式可能會要求您說明是哪個航班,但其實能夠瞭解查詢脈絡,並在回覆中提供 SFO 登機門附近的餐廳。
工作 9:登入應用程式 (非必要)
在這項工作中,您會登入應用程式來預訂航班。
-
點按「Sign in」,
畫面會彈出一個視窗。
-
在彈出式視窗中選取學生。
-
如要允許 Cymbal Air 存取學生的資訊,請按一下「Continue」。
現在學生帳戶已登入。
-
輸入下列查詢:
Please book that flight.
應用程式會顯示對話中提及的航班。
-
點按「Looks good to me. Book it」。
現在機票已預訂完成。
-
輸入下列查詢:
Which flights have I booked?
畫面會顯示剛才預訂的航班。
對話應用程式可回答使用者的問題,例如:
- D50 登機門附近有哪些精品店?
- A6 登機門附近哪裡可以買到咖啡?
該應用程式會使用最新 Google 基礎模型生成回覆,並從運作中的 AlloyDB 資料庫檢索航班和設施資訊,再於回覆中提供。如要進一步瞭解這個示範應用程式,請前往專案的 GitHub 頁面。
恭喜!
您已成功建構對話應用程式,並運用大型語言模型 (LLM) 和檢索增強生成 (RAG) 技術,生成有趣且資訊豐富的對話。
後續行動/瞭解詳情
關閉研究室
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
- 1 星 = 非常不滿意
- 2 星 = 不滿意
- 3 星 = 普通
- 4 星 = 滿意
- 5 星 = 非常滿意
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
使用手冊上次更新日期:2025 年 10 月 13 日
實驗室上次測試日期:2025 年 10 月 13 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。