访问 700 多个实验和课程

運用 Conversational Agents 擴充 Agentspace 助理的功能

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GENAI084

總覽

在本實驗室中,您將為 Agentspace 助理增加新功能:處理員工出差申請。Agentspace 助理會與對話式代理通訊,由後者來處理這類申請。為達成這個目標,您將整合 OpenAPI 工具,讓對話式代理與 Cloud Run 函式互動。這個函式會直接將出差申請寫入 BigQuery,以便儲存及進一步處理。您將建立以下流程:

從 Agentspace 傳到使用工具的對話型代理,再依序傳送到 Cloud Run 函式及 BigQuery

注意:建議您在無痕視窗進行大多數的 Qwiklab,以免多個 Qwiklabs 學員帳戶和其他帳戶造成混淆。此 Qwiklab 將使用 Conversational Agents 控制台,因此特別建議使用無痕模式。如果是使用 Chrome,您可以直接關閉所有無痕視窗,在本實驗室頂端的「Open Google console」按鈕上按一下滑鼠右鍵,然後選取「在無痕視窗中開啟連結」

目標

本實驗室的內容包括:

  • 部署 Cloud Run 函式。
  • 為對話型代理建立 OpenAPI 工具,以便呼叫 Cloud Run 函式。
  • 部署 Agentspace 應用程式。
  • 運用 Playbook 建立簡單的生成式對話式代理。
  • 將對話式代理整合至 Agentspace 應用程式。

設定和需求

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

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

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

需求條件

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

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
  • 已預留充足時間可完成實驗室。

注意:如果您擁有個人 Google Cloud 或專案,請勿用於本實驗室。

注意:如果您使用的是 Pixelbook,請在無痕視窗執行本實驗室。

如何開始研究室及登入 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:建立 BigQuery 資料表來記錄出差申請

在這項工作中,您將建立資料表,用來儲存要傳送至 Agentspace 助理的出差申請。

  1. 依序按下鍵盤的 GS 鍵,開啟 Cloud Shell 終端機。

  2. 看到授權 Cloud Shell 的提示時,點選「授權」按鈕。

  3. 將下列程式碼貼到 Cloud Shell 終端機,建立 travel_requests_schema.json 檔案,為出差申請記錄建立 BigQuery 資料表結構定義:

    cat > travel_requests_schema.json << EOF [ { "name": "user", "type": "STRING", "mode": "REQUIRED" }, { "name": "travel_purpose", "type": "STRING", "mode": "REQUIRED" }, { "name": "departure_city", "type": "STRING", "mode": "NULLABLE" }, { "name": "destination_city", "type": "STRING", "mode": "NULLABLE" }, { "name": "departure_date", "type": "STRING", "mode": "NULLABLE" }, { "name": "return_date", "type": "STRING", "mode": "NULLABLE" } ] EOF
  4. 在 Cloud Shell 執行下列指令,根據 travel_requests_schema.json 檔案中的結構定義,建立 BigQuery 資料集 和資料表

    bq --location=US mk -d {{{project_0.startup_script.bq_dataset | Bigquery Dataset}}} bq mk -t {{{project_0.startup_script.bq_dataset | Bigquery Dataset}}}.{{{project_0.startup_script.bq_table | Bigquery Table}}} travel_requests_schema.json
  5. 成功建立資料集和資料表後,點選 Cloud Shell 面板右上方的「X」來關閉終端機。

    點選「Check my progress」,確認目標已達成。 建立 BigQuery 資料集和資料表來記錄出差申請

工作 2:建立 Cloud Run 函式來記錄申請

在這項工作中,您將建立 Cloud Run 函式來接收以 JSON 格式傳送的申請,並寫入先前建立的資料表。

  1. 在 Cloud 控制台頂端的搜尋列輸入 Cloud Run,並前往該頁面。

    cloud_run

  2. 選取 Cloud Run 控制台頂端的「編寫函式」

  3. 在「設定」標題下方的「服務名稱」欄位,輸入 record-travel-request

  4. 將「區域」設為「」。

  5. 複製「端點網址」標題下方的網址,並貼到文字文件,稍後會用到這個網址。

  6. 將「執行階段」設為「Python 3.12」

  7. 在「驗證」標題下方,選取「需要驗證」

  8. 其他設定保留預設值,然後選取「建立」。系統會載入函式的「來源」分頁。

  9. 將「函式進入點」的名稱改為 record_travel_request

  10. 點選左側的「requirements.txt」檔案,刪除當中的內容並貼上下列程式碼:

    functions-framework==3.* google-cloud-bigquery
  11. 點選左側的「main.py」檔案,刪除當中的內容並貼上下列程式碼。這個函式會接收 POST 要求,處理 JSON 格式的出差申請詳細資料,並將這些值寫入先前建立的 BigQuery 資料表,列在一個新資料列:

    import functions_framework from google.cloud import bigquery @functions_framework.http def record_travel_request(request): """Writes travel requests to BigQuery. Args: request (flask.Request): A request object with JSON containing fields for user, travel_purpose, departure_city, destination_city, departure_date, and return_date. Returns: JSON response containing a 'message' field indicating the status of the request. """ request_json = request.get_json(silent=True) request_args = request.args print("JSON:" + str(request_json)) print("args:" + str(request_args)) bq_client = bigquery.Client() table_id = "{{{project_0.startup_script.project_id | Project_ID}}}.{{{project_0.startup_script.bq_dataset | Bigquery_Dataset}}}.{{{project_0.startup_script.bq_table | Bigquery_Table}}}" row_to_insert = [ {"user": request_json["user"], "travel_purpose": request_json["travel_purpose"], "departure_city": request_json.get("departure_city",""), "destination_city": request_json.get("destination_city",""), "departure_date": request_json.get("departure_date",""), "return_date": request_json.get("return_date",""), }, ] errors = bq_client.insert_rows_json(table_id, row_to_insert) # Make an API request. if errors == []: return {"message": "New row has been added."} else: return {"message": "Encountered errors while inserting rows: {}".format(errors)}
  12. 等待左上方顯示所有服務建立步驟已完成,然後點選「儲存並重新部署」

  13. 等所有「正在部署修訂版本」的活動都顯示「已完成」狀態訊息

    「正在部署修訂版本」標題下方顯示「已完成」狀態訊息

  14. 點選 Cloud Run 控制台頂端的「測試」

  15. 將下列值貼到「設定觸發事件」測試輸入欄位:

    { "user": "Ursula Matthews", "travel_purpose": "farm inspection", "departure_city": "Santiago", "destination_city": "Doha", "departure_date": "2025-09-08", "return_date": "2025-09-16" }
  16. 在測試窗格底部,點選「在 Cloud Shell 中測試」

  17. Cloud Shell 終端機視窗會隨即開啟,並預先輸入 curl 指令,方便您呼叫函式。點選終端機視窗,然後按下鍵盤的 EnterReturn 鍵來傳送指令。

  18. 您應該會看到回應顯示執行成功:

    cloud_run_trigger

  19. 點選 Cloud Shell 面板右上方的「X」來關閉終端機。

  20. 開啟新的瀏覽器分頁。如果是使用 Chrome,請在目前的分頁上按一下滑鼠右鍵,選取「複製」並在新分頁中前往「BigQuery」

  21. 在 BigQuery 的「Explorer」窗格中選取專案 ID「」。

  22. 選取「」資料集。

  23. 選取「」資料表。

  24. 前往「預覽」分頁,查看已記錄的出差申請。將這個分頁保持開啟,以便在進行本實驗室其餘部分時,返回查看是否有新資料列。

    點選「Check my progress」,確認目標已達成。 建立 Cloud Run 函式來記錄申請

工作 3:建立可呼叫 Cloud Run 函式的對話型代理工具

在這項工作中,您將在 Conversational Agents 控制台建立工具,以便呼叫 Cloud Run 函式。您的對話式代理可利用這項工具記錄出差申請。

  1. 在 Google Cloud 控制台頂端,搜尋並選取「Dialogflow API」

    dialogflow_api

  2. 點選「啟用」

  3. 在控制台頂端搜尋 AI Applications 並前往該頁面。

  4. 點選「Continue and activate the API」

    Vertex AI

  1. 在應用程式類型部分,找到「對話式代理」資訊卡,然後選取「建立」。Conversational Agents 控制台會在新分頁中開啟。

    對話式代理

  2. 在「Get started with Conversational Agents」窗格中,選取「Build your own」

    build_your_own

  3. 在代理的「顯示名稱」欄位輸入 Corporate Travel Bot

  4. 將「位置」設為「全域」

  5. 「Conversation start」選項請保持選取「Playbook」

  6. 點選「建立」

  7. 對話式代理 Playbook 建立完成後,請關閉所有彈出式說明視窗,然後選取介面右上方的「設定」按鈕。

  8. 依序前往「一般」>「Logging Settings」

  9. 點選「啟用 Cloud Logging」和「Enable Conversation History」核取方塊,為代理啟用相應功能。

  10. 點選「設定」窗格頂端的「儲存」按鈕來儲存變更。

    為代理啟用 Logging 設定 - 圖 9

  11. 建立 Playbook 前,您需要先建立工具供 Playbook 呼叫先前建立的 Cloud Run 函式。請選取左側導覽選單中的「工具」

    tool_navigation

  12. 點選「+ 建立」

  13. 「Tool name」請輸入 Record Travel Request

  14. 「類型」維持「OpenAPI」

  15. 「說明」請輸入 Used to record a travel request

  16. 在「結構定義」部分,類型維持「YAML」,然後將下列程式碼貼到文字方塊中。這個 OpenAPI 規格描述一個具有以下特性的 API:

    • 伺服器網址會設為 Cloud 函式網域。

    • / 路徑會接收 POST 要求,當中包含名為 TravelRequest 的 JSON 結構定義。

    • TravelRequest 結構定義會包含本實驗室一開始時,您在 BigQuery 結構定義中指定的欄位:

      openapi: 3.0.0 info: title: Travel Requests API version: 1.0.0 servers: - url: 'YOUR_CLOUD_RUN_FUNCTION_URL' paths: /: post: summary: Record a new travel request operationId: recordTravelRequest requestBody: description: Travel request to add required: true content: application/json: schema: $ref: '#/components/schemas/TravelRequest' responses: '200': description: Success content: application/json: schema: type: object properties: message: type: string example: "New row has been added." components: schemas: TravelRequest: type: object required: - user - travel_purpose properties: user: type: string travel_purpose: type: string departure_city: type: string destination_city: type: string departure_date: type: string return_date: type: string
  17. 將上方規格中的 YOUR_CLOUD_RUN_FUNCTION_URL 換成先前複製的 Cloud Run 函式網址。

  18. 點選「工具」窗格頂端的「儲存」

  19. 切換至 Cloud 控制台瀏覽器分頁 (而非 Conversational Agents 控制台),然後透過頂端的搜尋列前往「身分與存取權管理」頁面,允許工具叫用 Cloud Run 函式。

  20. 勾選「Include Google-provided role grants」核取方塊。

  21. 找到「Dialogflow 服務代理」列 (可能需要重新整理頁面),點選該列的鉛筆編輯圖示。

  22. 點選「+ 新增其他角色」

  23. 在「請選擇角色」中輸入 Cloud Run Invoker

  24. 點選「儲存」

    點選「Check my progress」,確認目標已達成。建立可呼叫 Cloud Run 函式的對話型代理工具

工作 4:建立對話型代理 Playbook

在這項工作中,您將建立對話式代理來接收自然語言要求,並運用工具呼叫 Cloud Run 函式,將要求寫入 BigQuery 資料表。

  1. 在 Conversational Agents 控制台瀏覽器分頁中,選取左側導覽選單的「Playbooks」

  2. 選取已建立的預設生成式 Playbook

  3. 將「Playbook name」變更為 Confirm Travel Data

  4. 「目標」請輸入 Help users book travel

  5. 將下列內容貼到「指令」文字欄位:

    - Ask the user to provide for user name, travel purpose, departure city, destination city, and a range of dates. Assume a year of 2025 for dates without a year: - Use ${TOOL:Record Travel Request} - Let the user know that they should receive a list of flights to choose from in their email within 24 hours.
  6. 這些 Playbook 指令專為 Agentspace 設計,因為 Agentspace 只包含一輪對話,但會在一輪內執行多項操作 (叫用工具及生成回覆)。稍後,您會將這項任務交給 Agentspace 代理,指示該代理先收集相關資訊,再叫用 Playbook。

  7. 點選「Playbook」窗格頂端的「儲存」

  8. 在 Conversational Agents 控制台的右上角,點選「Toggle simulator」對話圖示按鈕 切換模擬作業,預覽對話式代理的運作情況。

  9. 在面板底部的「輸入文字」方框中,輸入 can you help me book a flight? 來開始對話。

  10. 提供姓名、出差目的、出發城市、目的地城市和日期範圍,例如 Joe Smith. Customer Presentation. Berlin to Valencia. Feb 21 to 28.,藉此觀察代理的行為。

  11. 資訊卡應會顯示已使用「Record Travel Request」工具,點選該資訊卡即可查看工具的輸入內容和回覆:

    「Record Travel Request」工具資訊卡顯示已成功呼叫工具。

    注意:如果輸出內容不是 200,請更換模型,並重設對話來重新與模型對話 (重設對話)。
  12. 對話結束時的內容大致如下:

    「Great! You&#39;ll receive an email within 24 hours with flight options based on your preferences.」

    點選「Check my progress」,確認目標已達成。建立對話型代理 Playbook

工作 5:建立 BigQuery 資料儲存庫

在這項工作中,您將建立資料儲存庫來部署 Agentspace 應用程式。方法是設定 BigQuery 資料儲存庫,以便查詢及存取先前記錄的出差申請,並將 Google 設為識別資訊提供者。

  1. 切換回 Google Cloud 控制台瀏覽器分頁,在頂端搜尋 AI Applications 並前往該頁面。

  2. 選取左側導覽窗格中的「設定」

  3. 找到「全域」位置這一列,點選鉛筆圖示 編輯按鈕

  4. 選取「Google 身分」做為識別資訊提供者,然後點選「儲存」

    識別資訊提供者

  5. 選取左側導覽窗格的「資料儲存庫」

  6. 點選「+ 建立資料儲存庫」

  7. 搜尋「BigQuery」,找到「BigQuery」資訊卡並點選「選取」

  8. 資料 kind 請保留預設選項「Structured - BigQuery table with your own schema」

  9. 在「BigQuery 路徑」部分,選取「瀏覽」

  10. 搜尋 資料集。

  11. 選取表格名稱「」旁的圓形按鈕。

  12. 點選「選取」

  13. 點選「繼續」

  14. 保留既有的結構定義,然後點選「繼續」

  15. 在名稱欄位輸入 Travel Requests

  16. 點選「建立」

    點選「Check my progress」,確認目標已達成。 建立 BigQuery 資料儲存庫

工作 6:建立 Agentspace 應用程式

在這項工作中,您將建立新的 Agentspace 應用程式,並連結至資料儲存庫。

  1. 依序前往「AI Applications」>「應用程式」>「+ 建立應用程式」

  2. 找到「Agentspace」資訊卡,並點選「建立」來建立 Agentspace 應用程式。

  3. 「應用程式名稱」請輸入

  4. 將「位置」設為「全域」

  5. 「進階選項」下方的「公司名稱」請使用

  6. 點選「建立」

  7. 在左側導覽窗格中,依序點選「已連結的資料儲存庫」>「Add existing data store」

  8. 在「資料」窗格中,選取先前建立的「Travel Requests」資料儲存庫。

  9. 點選「連結」

    點選「Check my progress」,確認目標已達成。 建立 Agentspace 應用程式

工作 7:將對話式代理整合至 Agentspace 應用程式

在這項工作中,您將設定 Agentspace 助理的功能,以便向對話型代理傳送訊息及接收回覆。

  1. 依序前往「AI Applications」>「應用程式」,然後選取「」應用程式。

  2. 選取左側導覽選單的「設定」

  3. 前往「Assistant」分頁。

  4. 在「代理」標題下方,選取「新增項目」。系統會顯示連線至「新的代理」資訊卡

    「新的代理」資訊卡

  5. 前往 Conversational Agents 控制台瀏覽器分頁。

  6. 在控制台頂端的「代理」下拉式選單,選取「View all agents」

  7. Corporate Travel Bot 代理這一列的末端,依序選取直向三點圖示 >「複製名稱」

    三點圖示

  8. 回到「AI Applications」分頁,將複製的值貼到「新的代理」資訊卡中的「代理」欄位。

  9. 「代理顯示名稱」請輸入 Corporate Travel Bot

  10. 「指令」請輸入:

    Use for booking travel by providing a user, travel purpose, departure city, destination city, and a date range.
  11. 請注意,Agentspace 助理會根據這些指令收集必要資訊,再將詳細資料傳送給對話式代理,以便進行單輪對話。

  12. 點選「完成」

  13. 點選窗格底部的「儲存並發布」

    點選「Check my progress」,確認目標已達成。 將對話式代理整合至 Agentspace 應用程式

工作 8:透過 Agentspace 助理與對話式代理通訊

在這項工作中,您將透過 Agentspace 助理與對話式代理通訊,後者會使用工具來記錄出差申請。

注意:Agentspace 應用程式會在 10 分鐘內建立完畢。您可以繼續進行下列步驟,但如果系統未正常運作,請先等待應用程式建立完成。
  1. 選取 Agentspace 應用程式「」,前往左側導覽選單的「整合」分頁。

  2. 點選「網頁應用程式連結」標題下方的「複製」,然後將網址貼到新的瀏覽器分頁。如開頭所述,若看到 404 錯誤,請先等待應用程式建立完畢。您可以每隔幾分鐘重新載入頁面,直到 Agentspace 網頁應用程式出現為止。

  3. 前往「代理」,然後選取「Corporate Travel Bot」

  4. 在主要搜尋列中輸入下列內容:

    Book travel for Alex Cymbal from Singapore to Council Bluffs, Iowa, departing on April 1 and returning on April 14, 2025, for a data center tour.
  5. 助理應該會表示已記錄您的申請,並在 24 小時內傳送後續電子郵件。

    請注意,這個活動中使用的 Playbook 指令很少,也沒有提供對話範例,因此這個代理的功能可能不會太完善。如需重新開始對話,請點選左上角的「新」按鈕。

  6. 助理的回覆下方會顯示選項選單 (直向三點圖示),請展開選單並點選「顯示診斷資訊」

    選取三點圖示和「顯示診斷資訊」

  7. 在顯示的診斷資訊中,找出 "functionName": "Corporate_Travel_Bot",確認對話已觸發 Cloud Run 函式。

    注意:如果「顯示診斷資訊」面板只顯示存取權杖,而未顯示函式呼叫詳細資料,請重新整理頁面,再重新開啟「診斷資訊」面板。

    診斷資訊證實助理是透過工具呼叫代理

  8. 返回 BigQuery「」資料表瀏覽器分頁,確認系統已開始記錄申請。在「預覽」分頁中,點選「重新整理」圖示 BigQuery「重新整理」圖示 來查看最新資料。

    點選「Check my progress」,確認目標已達成。 透過 Agentspace 助理與對話式代理通訊

恭喜!

在本實驗室中,您已瞭解如何運用對話型代理來擴充 Agentspace 助理的功能。具體來說,您學會了下列技能:

  • 部署 Cloud Run 函式。
  • 為對話型代理建立 OpenAPI 工具,以便呼叫 Cloud Run 函式。
  • 部署 Agentspace 應用程式。
  • 運用 Playbook 建立簡單的生成式對話式代理。
  • 將對話式代理整合至 Agentspace 應用程式。

使用手冊上次更新日期:2025 年 8 月 27 日

實驗室上次測試日期:2025 年 8 月 27 日

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

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

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

太好了!

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

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。