使用 ADK AI 服務專員建構 Google Chat 應用程式

本頁說明如何建構 Google Workspace 外掛程式,在 Google Chat 中運作,並與 Agent Development Kit (ADK) AI 代理互動,該代理主機位於 Vertex AI Agent Engine

AI 代理會自主感知環境、推論,並執行複雜的多步驟動作,以達成定義的目標。在本教學課程中,您將部署 ADK LLM Auditor 多代理範例,該範例會使用 Gemini 和 Google 搜尋基礎,評論及修正事實。

LLM Auditor 多代理程式範例,以即時通訊應用程式的形式呈現。

下圖顯示架構和訊息傳送模式:

使用 ADK AI 代理實作的 Chat 應用程式架構。

在上圖中,使用者與透過 ADK AI 代理程式實作的即時通訊應用程式互動時,資訊流程如下:

  1. 使用者透過即時訊息或 Chat 聊天室傳送訊息給 Chat 應用程式。
  2. 在 Apps Script 或以 HTTP 端點形式實作的網頁伺服器中,Chat 應用程式邏輯會接收及處理訊息。
  3. 以 ADK 實作並由 Vertex AI Agent Engine 代管的 AI 代理會接收及處理互動。
  4. 視需要,Chat 應用程式或 AI 代理程式可以與 Google Workspace 服務 (例如 Google 日曆或 Google 試算表) 整合,也可以與其他 Google 服務 (例如 Google 地圖或 YouTube) 整合。
  5. Chat 應用程式會使用 Google Chat API 傳送非同步回應,以傳達 AI 代理程式的進度。
  6. 並將回覆傳送給使用者。

目標

  • 設定環境。
  • 部署 ADK AI 代理。
  • 部署 Chat 應用程式。
  • 設定 Chat 應用程式。
  • 測試 Chat 應用程式。

必要條件

設定環境

啟用 Google Cloud API

使用 Google API 前,您需要在 Google Cloud 專案中啟用這些 API。 您可以在單一 Google Cloud 專案中啟用一或多個 API。
  • 在 Google Cloud 控制台中,啟用 Google Chat、Vertex AI 和 Cloud Resource Manager API。

    啟用 API

設定 OAuth 同意畫面

使用 OAuth 2.0 的所有應用程式都必須設定同意畫面。設定應用程式的 OAuth 同意畫面,可決定向使用者和應用程式審查人員顯示的內容,並註冊應用程式,以便日後發布。

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

    前往「Branding」(品牌宣傳)

  2. 如果您已設定 Google Auth platform,可以在「Branding」(品牌)、「Audience」(目標對象) 和「Data Access」(資料存取權) 中設定下列 OAuth 同意畫面設定。如果看到「Get Started」(尚未設定)Google Auth platform 訊息,請按一下「開始使用」
    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 同意畫面」指南。

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

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

Google Cloud 控制台

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

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

  2. 按一下「建立服務帳戶」
  3. 填寫服務帳戶詳細資料,然後按一下「建立並繼續」
  4. 選用步驟:將角色指派給服務帳戶,授予 Google Cloud 專案資源的存取權。詳情請參閱「授予、變更及撤銷資源的存取權」。
  5. 按一下「繼續」
  6. 選用:輸入可管理這個服務帳戶及執行動作的使用者或群組。詳情請參閱「管理服務帳戶模擬功能」。
  7. 按一下「完成」,請記下服務帳戶的電子郵件地址。

gcloud CLI

  1. 建立服務帳戶:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 選用步驟:將角色指派給服務帳戶,授予 Google Cloud 專案資源的存取權。詳情請參閱「授予、變更及撤銷資源的存取權」。

服務帳戶會顯示在服務帳戶頁面。

建立私密金鑰

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

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)

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

  2. 選取服務帳戶。
  3. 依序點選「金鑰」>「新增金鑰」>「建立新的金鑰」
  4. 選取「JSON」,然後按一下「建立」

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

  5. 點選「關閉」

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

部署 ADK AI 代理

  1. 在 Vertex AI Agent Garden 中開啟 LLM Auditor 範例

    開啟範例

  2. 按一下 [Deploy] (部署)

  3. 如果系統詢問,請選取 Google Cloud 專案。

  4. 按一下「Deploy in Cloud Shell」(在 Cloud Shell 中部署)

  5. 如果系統要求,請點選「授權」,然後完成 Cloud Shell 的 OAuth 流程。

  6. Cloud Shell 載入完畢後,按下 Enter 鍵即可執行預先載入的指令列,並開始部署作業。

  7. 如果系統要求輸入區域,請按 Enter 鍵使用預設值。

  8. 完成後,請前往 Vertex AI Agent Engine:

    開啟 Vertex AI Agent Engine

  9. 按一下 建立副本的圖示,從表格複製新部署的代理程式資源名稱。

建立及設定 Chat 應用程式專案

  1. 按一下下列按鈕,開啟 ADK AI Agent Quickstart Apps Script 專案。

    開啟專案

  2. 依序點選「總覽」>建立副本的圖示「建立副本」

  3. 在 Apps Script 專案中,依序點選 專案設定圖示「專案設定」>「編輯指令碼屬性」>「新增指令碼屬性」,加入下列指令碼屬性:

    1. REASONING_ENGINE_RESOURCE_NAME,並貼上先前步驟中複製的 Vertex AI 代理程式資源名稱。
    2. SERVICE_ACCOUNT_KEY,其中包含先前步驟下載的服務帳戶 JSON 金鑰,例如 { ... }
  4. 按一下「儲存指令碼屬性」

  5. 在 Google Cloud 控制台中,依序前往「選單」 >「IAM 與管理」>「設定」

    前往「IAM & Admin Settings」(IAM 與管理員設定)

  6. 在「專案編號」欄位中,複製該值。

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

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

  9. 在「GCP 專案編號」中,貼上先前步驟複製的 Google Cloud 專案編號。

  10. 點選「設定專案」。Cloud 專案和 Apps Script 專案現已連結。

建立測試部署作業

您需要這個 Apps Script 專案的部署作業 ID,才能在下一個步驟中使用。

如要取得主要部署 ID,請按照下列步驟操作:

  1. 在 Chat 應用程式的 Apps Script 專案中,依序點選「部署」>「測試部署作業」
  2. 在「Head deployment ID」(主要部署作業 ID) 下方,按一下「複製」圖示 建立副本的圖示
  3. 按一下 [完成]。

設定 Chat 應用程式

使用 Apps Script 部署作業,按照下列步驟部署 Google Chat 應用程式以進行測試:

  1. 控制台中搜尋 Google Chat API,然後按一下「Google Chat API」
  2. 按一下「管理」
  3. 按一下「設定」,然後設定 Chat 應用程式:

    1. 在「應用程式名稱」欄位中輸入 ADK Quickstart
    2. 在「Avatar URL」(大頭貼網址) 欄位中,輸入 https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.png
    3. 在「Description」(說明) 欄位輸入 ADK Quickstart
    4. 在「功能」下方,選取「加入聊天室和群組對話」
    5. 在「連線設定」下方,選取「Apps Script 專案」
    6. 在「Deployment ID」欄位中,貼上您先前複製的 Head 部署作業 ID。
    7. 在「瀏覽權限」下方,選取「僅限您網域中的特定使用者和群組」,然後輸入您的電子郵件地址。
  4. 按一下 [儲存]

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

測試 Chat 應用程式

如要測試 Chat 應用程式,請開啟與該應用程式互傳的即時訊息,然後傳送訊息:

  1. 使用您在新增自己為信任測試人員時提供的 Google Workspace 帳戶,開啟 Google Chat。

    前往 Google Chat

  2. 按一下 「發起新即時通訊」
  3. 在「新增 1 位以上使用者」欄位中,輸入 Chat 應用程式的名稱。
  4. 從搜尋結果中選取 Chat 應用程式。系統會開啟即時訊息。

  5. 在與應用程式互傳的新即時訊息中輸入 The Eiffel Tower was completed in 1900,然後按下 enter

    Chat 應用程式會回覆 CriticReviser 子代理的回覆。

如要新增信任的測試人員,並進一步瞭解如何測試互動式功能,請參閱「測試 Google Chat 應用程式的互動式功能」。

疑難排解

如果 Google Chat 應用程式或資訊卡傳回錯誤,Chat 介面會顯示「發生錯誤」訊息。或「無法處理您的要求」。有時 Chat UI 不會顯示任何錯誤訊息,但 Chat 應用程式或資訊卡會產生非預期的結果,例如資訊卡訊息可能不會顯示。

即使 Chat 使用者介面未顯示錯誤訊息,只要開啟 Chat 應用程式的錯誤記錄功能,系統就會提供說明性錯誤訊息和記錄資料,協助您修正錯誤。如需查看、偵錯及修正錯誤的相關協助,請參閱「排解及修正 Google Chat 錯誤」。

清除所用資源

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

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

    前往 Resource Manager

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