透過 Google Workspace 存取的 AI 代理程式規劃旅遊行程

程式碼程度:進階
時間長度:45 分鐘
專案類型:Google Workspace 外掛程式,可擴充 Chat、Gmail、Google 日曆、雲端硬碟、Google 文件、試算表和簡報。

本教學課程說明如何使用 Apps Script 或 HTTP 端點,將 AI 代理發布至 Google Workspace 做為 Google Workspace 外掛程式。外掛程式發布後,使用者就能在工作流程中與 AI 代理互動。

總覽

在本教學課程中,您將從 Agent Development Kit (ADK) 部署旅遊服務專員範例。Travel Concierge 是一種對話式多代理式 AI,可使用 Google 地圖平台 Places API、Google 搜尋 Grounding 和 Model Context Protocol (MCP) 伺服器等工具。

ADK 預設會為開發人員提供即時通訊和文字介面。在本教學課程中,您將為 Google Workspace 應用程式新增圖形使用者介面 (GUI),使用者可以直接在 Chat、Gmail、日曆、雲端硬碟、Google 文件、試算表和簡報中存取。

  • 使用 Chat 的 AI 代理激發旅遊靈感。
    圖 1. 使用 Chat 中的 AI 代理激發旅遊靈感。
  • 使用 Gmail 的 AI 代理程式,根據所選電子郵件的內容規劃旅遊行程。
    圖 2. 使用 Gmail 的 AI 代理程式,根據所選電子郵件的內容規劃行程。

目標

  • 設定環境。
  • 部署 AI 代理。
  • 設定專案。
  • 部署至 Gmail、日曆、雲端硬碟、文件、試算表、簡報。
  • 部署至 Chat。
  • 測試解決方案。

認識這項解決方案

這項解決方案採用下列核心技術:ADK、Google Cloud 和 Google Workspace API、Vertex AI Agent Engine,以及 Card 架構。

Chat 和非 Chat (Gmail、日曆、雲端硬碟、文件、試算表、簡報) 應用程式的 GUI 設計不同,這是為了考量各自的特定功能和限制。

功能

旅遊規劃服務應用程式的下列功能適用於所有 Google Workspace 應用程式:

  • 持續保留使用者工作階段:工作階段由 Vertex AI 管理,可持續保留。每位使用者在所有 Workspace 應用程式中都共用一個工作階段。 使用者可以手動重設工作階段,開始新的對話。

  • 豐富訊息:使用者傳送簡訊,並接收含有豐富文字和資訊卡小工具的回覆。

  • 錯誤處理:使用可設定的重試次數和回應狀態,順暢處理非預期錯誤。

Chat 應用程式提供下列額外功能:

  • 多模式使用者訊息:使用者可以傳送附有附件的訊息,包括直接從 Chat 聊天室錄製的音訊和影片。

  • 更進階的視覺化回覆:回覆可使用更進階的小工具 (例如含有圖片的輪轉介面) 生成,這類小工具採用 Card 架構的純聊天功能,並提供更多算繪空間。

其他應用程式則提供下列額外功能:

  • Google 個人資料內容:使用者可以傳送含有個人資料資訊的訊息 (本範例僅限生日)。

  • Gmail 內容:使用者可以透過電子郵件傳送訊息 (本範例僅限一個主旨和內文)。

  • 服務專員的 Chat 聊天室存取權:使用者只要按一下按鈕,即可在新分頁中開啟 Chat 應用程式的即時訊息 (DM) 聊天室。

架構

旅遊服務專員應用程式會接收及處理 Google Workspace 應用程式的 Google Workspace 外掛程式互動事件,使用 Vertex AI 提示 ADK AI 代理程式並管理使用者工作階段,以及依賴 Google Cloud 和 Google Workspace API 收集情境資訊並顯示回覆。

下圖顯示主要使用者流程:傳送訊息給 AI 代理程式。

HTTP

  • Chat 應用程式的架構圖。
    圖 3. Chat 應用程式會使用使用者訊息中的附件完成內容,並依時間順序傳送一組訊息,其中包含子代理互動記錄和最終整體答案。
  • 非 Chat 應用程式的架構圖。
    圖 4. 非 Chat 應用程式會使用使用者的 Google 個人資料和項目選取內容完成情境,並依時間順序倒序顯示一組章節,當中包含子代理程式互動記錄和最終整體答案。

Apps Script

  • Chat 應用程式的架構圖。
    圖 3. Chat 應用程式會使用使用者訊息中的附件完成內容,並依時間順序傳送一組訊息,其中包含子代理互動記錄和最終整體答案。
  • 非 Chat 應用程式的架構圖。
    圖 4. 非 Chat 應用程式會使用使用者的 Google 個人資料和項目選取內容完成情境,並依時間順序倒序顯示一組章節,當中包含子代理程式互動記錄和最終整體答案。

必要條件

準備環境

本節說明如何建立及設定 Google Cloud 專案。

建立 Google Cloud 專案

Google API Console

  1. 在 Google API 控制台中,依序前往「Menu」(選單) >「IAM & Admin」(IAM 與管理) >「Create a Project」(建立專案)。

    前往「建立專案」

  2. 在「專案名稱」欄位中,輸入專案的描述性名稱。

    選用:如要編輯專案 ID,請按一下「編輯」。專案 ID 建立後就無法變更,因此請選用符合專案執行期間需求的 ID。

  3. 在「Location」欄位中,按一下「Browse」,顯示專案的可能位置。然後按一下「選取」。
  4. 按一下「建立」,Google API 控制台會前往「資訊主頁」頁面,並在幾分鐘內建立專案。

gcloud CLI

在下列其中一種開發環境中存取 Google Cloud CLI (gcloud):

  • Cloud Shell:如要使用已設定 gcloud CLI 的線上終端機,請啟用 Cloud Shell。
    啟用 Cloud Shell
  • 本機殼層:如要使用本機開發環境,請安裝並初始化 gcloud CLI。
    如要建立雲端專案,請使用 gcloud projects create 指令:
    gcloud projects create PROJECT_ID
    設定要建立的專案 ID,以取代 PROJECT_ID。

啟用 Cloud 專案的帳單功能

Google API Console

  1. 在 Google API 控制台中,前往「帳單」。依序點選「選單」圖示 「>」「帳單」「>」「我的專案」。

    前往「我的專案」的「帳單」頁面

  2. 在「選取機構」中,選擇與 Google Cloud 專案相關聯的機構。
  3. 在專案列中開啟「動作」選單 (),按一下「變更帳單」,然後選擇 Cloud Billing 帳戶。
  4. 按一下 [設定帳戶]。

gcloud CLI

  1. 如要列出可用的帳單帳戶,請執行:
    gcloud billing accounts list
  2. 將帳單帳戶連結至 Google Cloud 專案:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    更改下列內容:

    • PROJECT_ID 是要啟用計費功能的雲端專案的專案 ID。
    • BILLING_ACCOUNT_ID 是要連結至 Google Cloud 雲端專案的帳單帳戶 ID。

啟用 Google Cloud API

HTTP

  1. 在 Google API 控制台中,啟用 Vertex AI、Places、People、Google Chat、Gmail、Cloud Build、Cloud Functions、Cloud Pub/Sub、Cloud Logging、Artifact Registry、Cloud Run、Google Workspace 外掛程式和 Cloud Resource Manager API。

    啟用 API

  2. 確認您要在正確的雲端專案中啟用 API,然後按一下 下一步。

  3. 確認要啟用的 API 正確無誤,然後按一下「啟用」。

Apps Script

  1. 在 Google API 控制台中,啟用 Vertex AI、Places、People、Google Chat 和 Cloud Resource Manager API。

    啟用 API

  2. 確認您要在正確的雲端專案中啟用 API,然後按一下 下一步。

  3. 確認要啟用的 API 正確無誤,然後按一下「啟用」。

取得 Google Maps Platform Places API 金鑰

  1. 在 Google API 控制台中,前往「Google Maps Platform」(Google 地圖平台) >「Keys & Credentials」(金鑰和憑證) 頁面。

    前往「金鑰和憑證」

  2. 「開始使用 Google 地圖平台」對話方塊會顯示您新建立的 API 金鑰,也就是英數字串。您會在下一個章節中用到這個字串。

在 Google Cloud 控制台中建立服務帳戶

按照下列步驟,建立具備 Vertex AI User 角色的新服務帳戶:

Google Cloud Console

  1. 在 Google Cloud 控制台中,依序前往「選單」 >「IAM 與管理」 >「服務帳戶」。

    前往「Service Accounts」(服務帳戶) 頁面

    其餘步驟會顯示在 Google Cloud 控制台。

  2. 選取 Google Cloud 專案。
  3. 按一下「建立服務帳戶」。
  4. 輸入要顯示在 Google Cloud 控制台中的服務帳戶名稱。
  5. 如果現在不想設定存取控管,請按一下「Done」(完成) 以完成服務帳戶建立程序。如要立即設定存取控管,請按一下「Create and continue」(建立並繼續),然後繼續進行下一個步驟。
  6. 選用:將角色指派給服務帳戶,授予 Google 雲端專案資源的存取權,以及 Google Workspace 資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。
  7. 按一下「繼續」。
  8. 選用:輸入可管理這個服務帳戶及以該帳戶身分執行動作的使用者或群組。詳情請參閱「服務帳戶模擬功能」。
  9. 按一下「完成」,即完成建立服務帳戶。

    記下服務帳戶的電子郵件地址。

gcloud CLI

  1. 建立服務帳戶:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 選用:將角色指派給服務帳戶,授予 Google 雲端專案資源的存取權,以及 Google Workspace 資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。

服務帳戶會顯示在服務帳戶頁面。接著,請為服務帳戶建立私密金鑰。

建立私密金鑰

如要建立及下載服務帳戶的私密金鑰,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「選單」 >「IAM 與管理」 >「服務帳戶」。

    前往「Service Accounts」(服務帳戶) 頁面

    其餘步驟會顯示在 Google Cloud 控制台。

  2. 選取 Google Cloud 專案。
  3. 點選所需的服務帳戶電子郵件地址,以便為其建立金鑰。
  4. 按一下「Keys」(金鑰) 分頁標籤。
  5. 按一下「Add key」(新增金鑰) 下拉式選單,然後選取「Create new key」(建立新的金鑰)。
  6. 選取「JSON」做為金鑰類型,然後按一下「建立」。

    接著,系統就會為您產生一對新的公開/私密金鑰組,並以服務帳戶金鑰檔案的形式下載至您的電腦中。將下載的 JSON 檔案儲存為目前使用的目錄中的 credentials.json。這個檔案是這組金鑰的唯一副本,金鑰檔案下載後,就不能再次下載。如要瞭解如何安全地儲存金鑰,請參閱「管理服務帳戶金鑰的最佳做法」。

如要進一步瞭解服務帳戶,請參閱 Google Cloud IAM 說明文件中的服務帳戶。

Google Workspace 外掛程式需要設定同意畫面。設定外掛程式的 OAuth 同意畫面,可定義 Google 向使用者顯示的內容。

  1. 在 Google API 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Branding」(品牌)。

    前往「Branding」(品牌宣傳)

  2. 如果您已設定 Google 驗證平台,可以在「Branding」(品牌)、「Audience」(目標對象) 和「Data Access」(資料存取權) 中設定下列 OAuth 同意畫面設定。如果看到「尚未設定 Google 驗證平台」訊息,請按一下「開始使用」:
    1. 在「App Information」(應用程式資訊) 下方的「App name」(應用程式名稱) 欄位中,輸入應用程式名稱。
    2. 在「User support email」(使用者支援電子郵件) 中,選擇支援電子郵件地址,方便使用者在同意聲明方面有任何疑問時與您聯絡。
    3. 點選 [Next] (下一步)。
    4. 在「Audience」(目標對象) 下方,選取「Internal」(內部)。
    5. 點選 [Next] (下一步)。
    6. 在「Contact Information」(聯絡資訊) 下方,輸入可接收專案異動通知的電子郵件地址。
    7. 點選 [Next] (下一步)。
    8. 在「Finish」(完成) 部分,請詳閱《Google API 服務使用者資料政策》,然後選取「我同意《Google API 服務:使用者資料政策》」。
    9. 按一下 [Continue] (繼續)。
    10. 按一下「Create」(建立)。
  3. 目前可以略過新增範圍。 日後如要建立應用程式供 Google Workspace 機構以外的使用者使用,請務必將「使用者類型」變更為「外部」。然後新增應用程式需要的授權範圍。詳情請參閱完整的「設定 OAuth 同意聲明」指南。

部署旅遊規劃服務 ADK AI 代理

  1. 如果尚未完成,請使用 Google Cloud 帳戶進行驗證,並將 Google Cloud CLI 設為使用您的 Google Cloud 雲端專案。

    gcloud auth application-default login
    gcloud config set project PROJECT_ID
    gcloud auth application-default set-quota-project PROJECT_ID

    將 PROJECT_ID 替換為您建立的雲端專案 ID。

  2. 下載這個 GitHub 存放區

    下載

  3. 在偏好的本機開發環境中,解壓縮下載的封存檔,然後開啟 adk-samples/python/agents/travel-concierge 目錄。

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/travel-concierge
  4. 建立專供 ADK AI 代理程式使用的新 Cloud Storage bucket。

    gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION

    更改下列內容:

    1. CLOUD_STORAGE_BUCKET_NAME 替換成要使用的不重複 bucket 名稱。
    2. PROJECT_ID,並換成您建立的雲端專案 ID。
    3. PROJECT_LOCATION,並提供您建立的雲端專案位置。
  5. 請設定下列環境變數:

    export GOOGLE_GENAI_USE_VERTEXAI=1
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_PLACES_API_KEY=PLACES_API_KEY
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME
    export TRAVEL_CONCIERGE_SCENARIO=travel_concierge/profiles/itinerary_empty_default.json

    更改下列內容:

    1. PROJECT_ID,並換成您建立的雲端專案 ID。
    2. PROJECT_LOCATION,並提供您建立的雲端專案位置。
    3. PLACES_API_KEY 替換為您建立的 API 金鑰字串。
    4. CLOUD_STORAGE_BUCKET_NAME 替換為您建立的 bucket 名稱。
  6. 安裝及部署 ADK AI 代理。

    uv sync --group deployment
    uv run python deployment/deploy.py --create
  7. 從上次列印的記錄檔中分別擷取專案編號和引擎 ID 做為 PROJECT_NUMBER 和 ENGINE_ID,稍後您需要這兩者來設定專案。

    Created remote agent: projects/PROJECT_NUMBER/locations/us-central1/reasoningEngines/ENGINE_ID

查看程式碼範例

(選用) 設定專案前,請先花點時間查看並熟悉 GitHub 上代管的程式碼範例。

建立及設定專案

Python

  1. 下載這個 GitHub 存放區

    下載

  2. 在偏好的本機開發環境中,解壓縮下載的封存檔,然後開啟 add-ons-samples/python/travel-adk-ai-agent 目錄。

    unzip add-ons-samples-main.zip
    cd add-ons-samples-main/python/travel-adk-ai-agent
  3. 將先前步驟下載的服務帳戶 JSON 金鑰檔案 credentials.json 移至專案目錄。

  4. 前往 Google API 控制台的「Cloud Run」:

    前往 Cloud Run。

  5. 按一下「編寫函式」。

  6. 在「建立服務」頁面中設定函式:

    1. 在「Service name」(服務名稱) 欄位中輸入 travel-concierge-app。
    2. 在「Region」(區域) 清單中,選取您建立的雲端專案位置「PROJECT_LOCATION」。
    3. 在「端點網址」下方,按一下 建立副本的圖示。
    4. 在「Runtime」(執行階段) 清單中,選取最新版本的 Python。
    5. 在「Authentication」(驗證) 部分中,選取「Allow public access」(允許公開存取)。
    6. 在「容器、磁碟區、網路與安全性」部分,按一下「資源」下方的:
      1. 在「Memory」(記憶體) 欄位中,選取「1 GiB」。
      2. 在「CPU」欄位中,選取「2」。
    7. 按一下「建立」,然後等待 Cloud Run 建立服務。 控制台會將您重新導向至「來源」分頁。
  7. 在偏好的本機開發環境中,部署專案的來源:

    gcloud run deploy travel-concierge-app --quiet --source . \
        --region PROJECT_LOCATION  \
        --function adk_ai_agent  \
        --set-env-vars LOCATION=LOCATION,PROJECT_NUMBER=PROJECT_NUMBER,ENGINE_ID=ENGINE_ID,BASE_URL=BASE_URL

    更改下列內容:

    1. PROJECT_LOCATION,其中包含您先前建立的 Cloud Run 函式位置。
    2. LOCATION,並提供先前步驟中建立的 Google Cloud 專案位置 PROJECT_LOCATION。
    3. PROJECT_NUMBER,其中包含先前步驟中部署的 Travel Concierge ADK AI 代理專案編號。
    4. ENGINE_ID,也就是在先前步驟中部署的旅遊規劃服務 ADK AI 代理引擎 ID。
    5. BASE_URL 替換為您先前複製的「端點網址」。

Apps Script

如要建立 Apps Script 專案,並設定使用已部署的 Travel Concierge ADK AI 代理,請按照下列步驟操作:

  1. 點選下列按鈕,開啟 Travel Concierge ADK AI 代理 Apps Script 專案。
    開啟專案

  2. 依序點按「總覽」和「建立副本」建立副本的圖示。

  3. 為 Apps Script 專案副本命名:

    1. 點選「Copy of Travel Concierge ADK AI 代理」。
    2. 在「Project title」(專案名稱) 中輸入 Travel Concierge ADK AI Agent。
    3. 按一下 [重新命名]。
  4. 在 Apps Script 專案中,按一下「編輯器」專案設定圖示,然後使用「將檔案上移」檔案動作,將 VertexAi.gs 檔案上移至 AgentHandler.gs 檔案上方。

  5. 在 Apps Script 專案中,依序點按 專案設定圖示「專案設定」「編輯指令碼屬性」「新增指令碼屬性」,然後新增下列指令碼屬性:

  6. ENGINE_ID,並使用先前步驟中部署的 Travel Concierge ADK AI 代理的引擎 ID ENGINE_ID。

  7. LOCATION,其中包含先前步驟中建立的 Google Cloud 專案位置 PROJECT_LOCATION。

  8. PROJECT_NUMBER,並使用先前步驟中部署的旅遊規劃服務 ADK AI 代理專案編號 PROJECT_NUMBER。

  9. SERVICE_ACCOUNT_KEY,並使用先前步驟下載的服務帳戶 JSON 金鑰,例如 { ... }。

  10. 按一下「儲存指令碼屬性」

  11. 在 Apps Script 專案中,按一下 專案設定圖示「專案設定」。

  12. 點選「Google Cloud Platform (GCP) 專案」下方的「變更專案」。

  13. 在「GCP 專案編號」中,貼上先前步驟中部署的 Travel Concierge ADK AI 代理專案編號 PROJECT_NUMBER。

  14. 點選「設定專案」。雲端專案和 Apps Script 專案現已連結。

部署至 Gmail、日曆、雲端硬碟、文件、試算表、簡報

Python

使用 Google Workspace 外掛程式部署作業,將範例專案安裝至所有 Google Workspace 應用程式 (但 Google Chat 除外),以便進行測試。

  1. 在偏好的本機開發環境中,開啟專案程式碼來源的 deployment.json 檔案,並將所有 $BASE_URL 換成 BASE_URL 的值,也就是您在上一個步驟複製的端點網址。

  2. 建立名為 travel-concierge-addon 的 Google Workspace 外掛程式部署作業:

    gcloud workspace-add-ons deployments create travel-concierge-addon \
        --deployment-file=deployment.json
  3. 安裝 Google Workspace 外掛程式部署作業:

    gcloud workspace-add-ons deployments install travel-concierge-addon

Apps Script

將 Apps Script 專案安裝至所有 Google Workspace 應用程式 (Google Chat 除外),以便進行測試。

  1. 在 Apps Script 專案中,依序點選「部署」>「測試部署作業」,然後點選「安裝」。

現在可以從 Google Workspace 應用程式的側欄存取外掛程式。

部署至 Chat

Python

使用「端點網址」將範例專案安裝至 Chat,以便進行測試。

  1. 在 API 控制台中搜尋 Google Chat API,依序點選「Google Chat API」、「管理」和「設定」。

    前往 Google Chat API 設定頁面

  2. 設定 Chat 應用程式:

    1. 在「App name」(應用程式名稱) 欄位中輸入 Travel ADK AI Agent。
    2. 在「Avatar URL」(虛擬人偶網址) 欄位中,輸入 https://goo.gle/3SfMkjb。
    3. 在「Description」(說明) 欄位輸入 Travel ADK AI Agent。
    4. 在「連線設定」下方,選取「HTTP 端點網址」。
    5. 在「觸發條件」下方,選取「為所有觸發條件使用通用的 HTTP 端點網址」。
    6. 在「HTTP endpoint URL」欄位中,貼上您先前複製的「Endpoint URL」BASE_URL。
    7. 註冊完全實作的 Chat 應用程式使用的快速指令:
      1. 在「指令」下方,按一下「新增指令」。
      2. 在「Command ID」(指令 ID) 中,輸入 1。
      3. 在「說明」中輸入 Reset session。
      4. 在「指令類型」下方,選取「快速指令」。
      5. 在「Name」(名稱) 中輸入 Reset session。
      6. 按一下「完成」,快速指令已註冊並列出。
    8. 在「可見度」下方,選取「將這個即時通訊應用程式提供給 Your Workspace 網域中的特定使用者和群組」,然後輸入電子郵件地址。
    9. 在「記錄」下方,選取「將錯誤記錄至 Logging」。
    10. 按一下 [儲存]。

Apps Script

使用首要部署作業 ID 將 Apps Script 專案安裝至 Chat,即可啟用測試。

  1. 在 Apps Script 專案中,依序點選「部署」>「測試部署作業」,然後點選「首要部署作業 ID」下方的「複製」複製首要部署作業 ID 的圖示。

  2. 在 API 控制台中搜尋 Google Chat API,依序點選「Google Chat API」、「管理」和「設定」。

    前往 Google Chat API 設定頁面

  3. 設定 Chat 應用程式:

    1. 在「App name」(應用程式名稱) 欄位中輸入 Travel ADK AI Agent。
    2. 在「Avatar URL」(虛擬人偶網址) 欄位中,輸入 https://goo.gle/3SfMkjb。
    3. 在「Description」(說明) 欄位輸入 Travel ADK AI Agent。
    4. 在「連線設定」下方,選取「Apps Script」。
    5. 在「Deployment ID」欄位中,貼上您先前複製的「Head deployment ID」。
    6. 註冊完全實作的 Chat 應用程式使用的快速指令:
      1. 在「指令」下方,按一下「新增指令」。
      2. 在「Command ID」(指令 ID) 中,輸入 1。
      3. 在「說明」中輸入 Reset session。
      4. 在「指令類型」下方,選取「快速指令」。
      5. 在「Name」(名稱) 中輸入 Reset session。
      6. 按一下「完成」,快速指令已註冊並列出。
    7. 在「可見度」下方,選取「將這個即時通訊應用程式提供給 Your Workspace 網域中的特定使用者和群組」,然後輸入電子郵件地址。
    8. 在「記錄」下方,選取「將錯誤記錄至 Logging」。
    9. 按一下 [儲存]。

現在可以透過 Google Chat 存取應用程式。

  1. 開啟 Google Chat。

    前往 Google Chat

  2. 建立 Chat 即時訊息聊天室:

    1. 按一下「發起即時通訊」。
    2. 在搜尋結果中輸入並選取應用程式 Travel ADK AI Agent。
    3. 在「Install app」對話方塊中,按一下「安裝版應用程式」。
    4. Install app對話方塊會關閉,並選取新建立的 Chat 直接訊息空間。

Chat 應用程式已準備好回覆訊息。

測試代理

  1. 開啟 Gmail。

    前往 Gmail

  2. 傳送下列電子郵件給自己:

    • 主旨: You need to travel to Paris
    • 內文: Please be there between 11/25/2025 and 11/30/2025!
  3. 從側欄開啟 Travel ADK AI 代理 外掛程式。

  4. 按一下「授予權限」,完成外掛程式設定。

  5. 設定對代理程式的要求後,按一下「傳送」:

    • 訊息: Please help me plan this travel!
    • 背景資訊:選取「目前的電子郵件」

    側欄會更新為代理的回覆。

    透過 Gmail 規劃旅遊行程

  6. 按一下「開啟 Chat」,系統會將你重新導向至 Chat 即時訊息空間。

  7. 依序點按「+」>「重設工作階段」。

    你會收到確認完成的新訊息: OK, let's start from the beginning, what can I help you with?

  8. 傳送訊息 Give me ideas。

    你會收到代理的回覆訊息。

    從 Google Chat 進行腦力激盪

  9. 上傳任何地點的圖片 (例如艾菲爾鐵塔) 後,傳送 I want to go there! 訊息。

    你會收到代理的回覆訊息。

    從 Chat 附件取得地點詳細資料

限制

HTTP

在 Chat 以外的 Google Workspace 應用程式中,AI 代理程式有下列限制:

  • 同步:側欄只能在回應使用者互動時更新,因此 AI 代理程式的回覆只會在完全完成後顯示 (不會串流)。

  • 可能會逾時:如果側欄更新作業需要幾分鐘以上才能完成,就會逾時。

Chat 則沒有這些限制。

Apps Script

在所有 Google Workspace 應用程式中,AI 代理程式都會使用 UrlFetchApp 呼叫 Vertex AI REST API,因此有下列限制:

  • 同步:AI 代理只會在完整完成後傳回回覆 (不串流)。

  • 可能會逾時:如果 AI 代理程式完成要求所需時間超過一分鐘,就會逾時。

自訂

這項解決方案支援 Vertex AI Agent Engine 中代管的 ADK AI 代理、Google Workspace 應用程式 UI 的子集,以及專為 Travel Concierge 範例回覆提供的回覆呈現方式。這個解決方案採用可擴充的架構,因此您可以修改下列檔案來進行自訂:

Python

  • main.py:定義主要 UI 和使用者互動邏輯 (Google Workspace 事件處理常式)。舉例來說,您可以啟用雲端硬碟文件做為雲端硬碟應用程式的內容功能,類似於 Gmail 應用程式的 Gmail 郵件。

  • vertex_ai.py:管理 AI 代理工作階段、回覆、錯誤,並定義要實作的 Vertex AI 專屬介面,以支援代理互動和回覆算繪。常見的擴充功能包括為個別使用者對話新增多個工作階段的支援,以及其他 AI 代理程式管理平台。

  • agent_handler.py:在 Chat 和非 Chat 應用程式的特定情況下,實作 vertex_ai.py 中定義的 Vertex AI 專屬介面。一般擴充功能會新增按鈕,供使用者傳送有關 AI 代理程式回覆的意見回饋。

  • google_workspace.py:使用 API 呼叫實作非 AI 代理程式管理平台互動。本範例只會使用 Google Workspace API 收集背景資訊詳細資料並採取行動。典型的擴充功能是新增函式,從 Google 日曆或客戶關係管理 (CRM) 系統擷取業務資料。

  • travel_agent_ui_render.gs:為子代理和 Workspace 應用程式實作旅遊規劃服務專屬的回應算繪。 常見的擴充功能包括新增支援,以圖形顯示航班選項和其他 AI 代理。

Apps Script

  • Code.gs:定義主要 UI 和使用者互動邏輯 (Google Workspace 事件處理常式)。舉例來說,您可以啟用雲端硬碟文件做為雲端硬碟應用程式的內容功能,類似於 Gmail 應用程式的 Gmail 郵件。

  • VertexAi.gs:管理 AI 代理工作階段、回覆和錯誤,並定義要實作的 Vertex AI 專屬介面,以支援代理互動和回覆算繪。常見的擴充功能包括為個別使用者對話新增多個工作階段的支援,以及其他 AI 代理程式管理平台。

  • AgentHandler.gs:在 Chat 和非 Chat 應用程式的特定案例中,實作 VertexAi.gs 定義的 Vertex AI 專屬介面。一般擴充功能會新增按鈕,供使用者提供 AI 代理程式回覆的意見回饋。

  • GoogleWorkspace.gs:使用 API 呼叫實作非 AI 代理程式管理平台互動。本範例只會使用 Google Workspace API 收集背景資訊詳細資料並採取行動。典型的擴充功能是新增函式,從 Google 日曆或客戶關係管理 (CRM) 系統擷取業務資料。

  • TravelAgentUiRender.gs:為子代理程式和 Workspace 應用程式實作旅遊規劃服務專屬的回應算繪。常見的擴充功能包括新增支援,以圖形顯示航班選項和其他 AI 代理。

清除所用資源

為避免系統向您的 Google Cloud 帳戶收取本教學課程所用資源的費用,建議您刪除雲端專案。

  1. 在 Google API 控制台中,前往「管理資源」頁面。依序點選「選單」圖示 >「IAM 與管理」>「管理資源」。

    前往 Resource Manager

  2. 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除) 。
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。