Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Enable the Dialogflow and AI Applications APIs
/ 20
Create an Agent
/ 30
Test the agent
/ 50
Enable the Dialogflow and AI Applications APIs
/ 20
Create an Agent
/ 30
Test the agent
/ 50
透過 Conversational Agents,機器人設計人員將能以簡單、視覺化的方式建構機器人,打造對話式代理。除了能全面掌握整體的機器人建構程序,多位設計人員也能輕鬆合作建構同一個代理。用 Conversational Agents 打造的代理能理解並以多種語言回覆,不過本實驗室建構的代理只會使用英文。
在本實驗室,您將使用 Conversational Agents 控制台建構對話式代理。
請確定自己大概瞭解對話式 AI 的基本概念,並詳閱這些轉錄稿範例,瞭解客戶轉錄稿的大致樣貌。建立代理的第一步通常是詳閱客戶轉錄稿和/或其他脈絡資料,以瞭解用途和具體業務需求。
請詳閱以下操作說明。實驗室活動會計時,中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您會在實際雲端環境中完成 Qwiklabs 實作實驗室活動,而非模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
注意:如果您擁有個人 Google Cloud 或專案,請勿用於本實驗室。
注意:如果您使用的是 Pixelbook,請在無痕視窗執行本實驗室。
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
點選「Check my progress」,確認目標已達成。
「Conversational Agents」新頁面會隨即開啟。如果系統顯示彈出式視窗請您選取專案,請選擇專案 ID
在 Get started with Conversational Agents 彈出式視窗,選取「Build your own」。
在 Create agent 頁面,輸入 Flight booker 做為代理顯示名稱。
位置選擇「global」。
將「Conversation start」設為「Playbook」,然後點選「Create」按鈕。
如要為代理啟用記錄功能,請在「Agent Settings」頁面,點選「General」分頁標籤,然後向下捲動至 Logging settings 部分,勾選「Enable Cloud Logging」和「Enable Conversation History」旁的方塊。設定完畢後,系統便會為這個代理產生記錄。
點選「Save」。
點選「Check my progress」,確認目標已達成。
隨堂測驗
意圖是使用者與代理互動的原因,例如想訂購商品。您可以就使用者可能會想使用代理的各個主題建立意圖。
意圖可在不同頁面和流程中重複使用,每個意圖都是由使用者可能輸入的訓練詞組定義。您可以標註這些詞組或加上「標籤」,以收集特定參數,例如抵達城市或出發日期。
當您為意圖加入訓練詞組時,Conversational Agents 會提供建議註解,您也可以手動標註,從使用者與代理的互動中擷取所需參數值。
建議做法:為方便重複使用意圖及簡化維護工作,請為意圖取簡單明瞭的名稱。
意圖格式:category.some_description
格式範例:
main.book_a_flight
supplemental.flight_emissions
confirmation.yes、confirmation_no、redirect.live_agent。前往「Flows」,然後依序點選「Manage」分頁標籤和「Intents」,最後點選「+ Create」,即可建立新意圖。
在 Display name 部分輸入 main.book_a_flight。
在「Training Phrases」標題下方,將下列每個詞組新增至 Custom training phrase 欄位,每輸入一個詞組後請按 Enter 鍵:
點選「Save」。
流程可用於定義主題和相關的對話路徑。每個代理都有一個名為 Default Start Flow 的流程。簡單的代理可能只需要這一個流程就能運作,
較複雜的代理則或許需要額外流程,而不同的開發團隊成員會負責建構及維護這些流程。
每個流程都以頁面開頭,並由一或多個不同的後續頁面組成,用來處理特定流程的對話。使用者當下所處的頁面稱為運作頁面。您可以設定每個頁面,向使用者收集任何必要資訊。
代理的運作起始頁面稱為「Default Start Flow」。頁面會儲存路由邏輯、回覆 (又稱「執行要求」)、無法比對意圖時 (稱為「no-match」) 所採取的特定動作,或接收「no-input」(即代理未及時收到回覆)。
在「Flows」控制台,點選「Build」分頁標籤。
點選「Start Page」開啟頁面。
從 Start Page 展開的選項,選取「Routes」旁的「+」圖示。
從下拉式選單選取意圖「main.book_a_flight」,然後點選「Save」。
接著,在 Routes 部分點選「main.book_a_flight」路徑。
向下捲動至 Transition 部分,選擇「Page」圓形按鈕,然後從下拉式選單選取「+ new Page」。
將頁面命名為機票資訊,然後點選「Save」。
關閉視窗並返回流程的主畫面,即可看到新的「機票資訊」頁面已連結至「Start Page」。
現在流程一開始會先顯示問候訊息,並在比對到 main.book_a_flight 意圖時,進到「機票資訊」頁面。在機票資訊頁面,您會向使用者收集參數,以便為他們預訂航班。
實體定義您想從使用者身上擷取的資訊類型,例如要飛往的城市。您可以使用 Conversational Agents 內建的系統實體比對日期、時間、顏色、電子郵件地址等。
系統實體也可以「擴充」並納入預設系統值以外的值。如需打造完全客製化的實體,可以建立 Custom Entity 類型,以比對未列於系統實體中的業務專屬資料。
參數是使用者在工作階段期間提供的資訊,例如日期、時間和抵達城市。每個參數都有名稱與實體類型。這些屬性會採用蛇形命名法 (用底線連接的小寫字詞)
接著,您將使用實體向使用者擷取必要參數。
點選「機票資訊」頁面,然後點選「Parameters」旁的「+」,收集航班資料。
在「Display name」欄位輸入 departure_city。
從「Entity type」下拉式選單選擇 @sys.geo-city。
向下捲動至「Initial prompt Fulfillment」部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後新增「您要從哪個城市出發?」。
點選「Save」。
關閉這個視窗以設定其他參數。
再次點選「Parameters」旁的「+」,按照下表的名稱、實體類型,以及代理提示使用者的方式,逐一建立另外 4 個參數。
| 顯示名稱 | 實體類型 | 代理對話 |
|---|---|---|
| departure_date | @sys.date | 出發的月份和日期是什麼時候? |
| destination_city | @sys.geo-city | 您要飛往哪個城市? |
| return_date | @sys.date | 回程航班的月份和日期是什麼時候? |
| passenger_name | @sys.any | 乘客姓名為何? |
建立完畢後,這些項目會按以下形式列出:
隨堂測驗
代理收集到 5 個必要的航班預訂參數後,就會透過路由條件將使用者導向其他頁面,而本節將說明如何建立條件。
關閉「Parameters」視窗,再次返回「機票資訊」頁面。
向下捲動到「Routes」,然後點選旁邊的「+」圖示。
向下捲動至「Condition」,然後依序點選「Condition rules」>「Match AT LEAST ONE rule (OR)」
在「Parameter」欄位輸入 $page.params.status。
在 Operand 下拉式選單,選擇「=」符號。
在 Value 欄位中輸入 "FINAL" (務必加上雙引號)。
點選「Save」。
隨堂測驗
本節中您將新增回覆,在收集到所有 5 個預訂參數時向使用者顯示。這些回覆稱為「執行要求」。
在剛才設定條件的畫面稍微向下捲動,找到「Fulfillment」部分。
向下捲動至「Fulfillment」部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後新增感謝您提供資訊,我會確認是否有可預訂的機票。
(請先不要關閉這個頁面,並繼續閱讀下一個有關確認資訊的步驟。)
提供回覆 (即「執行要求」) 後,您需要建立轉換機制,向使用者重複顯示收集到的旅遊資訊 (即參數),以確認其正確性。
繼續向下捲動畫面 (跳過剛才建立的「Fulfillment」區塊),找到「Transition」部分。
選取「Page」圓形按鈕,然後從下拉式選單中選擇「+ new Page」。
在「Page name」欄位輸入確認行程。
點選「Save」。
關閉視窗。
查看到此為止建立的 3 頁面流程。
工作階段參數會儲存「先前收集」的使用者資訊,並在整個工作階段持續有效,方便您向使用者重複顯示資訊。
舉例來說,代理可以重複乘客姓名:$session.params.passenger_name,感謝您提供資訊。使用者實際會看到王小明,感謝您提供資訊。
格式如下:
如果要參照出發城市,結構會像這樣:$session.params.departure_city
請在「Build」檢視畫面,依序點選「確認行程」頁面 >「Entry fulfillment」>「Edit fulfillment」欄位。
由於您使用了 5 個參數,因此可以透過下列工作階段參數,將這些參數重複顯示給使用者。依序前往「Agent responses」>「+ Add dialogue response」>「Agent dialogue」部分,然後貼上以下文字:
完成後點選「Save」。
對話式代理重複顯示收集到的工作階段參數時,使用者會看到以下內容:
關閉視窗,返回「確認行程」頁面,然後點選「Routes」旁邊的「+」。
點選「Intents」下拉式選單,然後點選「+ new intent」。
在 Display name 部分輸入 confirmation.yes。
在「Training phrases」部分輸入是,然後點選「Add」 (也可以新增「正確」、「沒錯」等詞組,提升這個意圖的 NLU 配對準確度)。
點選「Save」。
儲存後,向下捲動至 Fulfillment 部分。在「Agent Responses」下方點選「+ Add dialogue response」,選取「Agent dialogue」,然後輸入太棒了,您的航班已預訂完成!
完成後點選「Save」。
點選「Route」旁的返回箭頭。
現在您要新增另一個邏輯,在使用者表示資訊有誤時重新收集航班參數。
同樣在「Routes」部分選取「Add route」。
從「Intent」下拉式選單選擇「+ new intent」。
在「Display name」欄位,將意圖命名為 confirmation.no。
向下捲動至「Training phrases」部分,輸入否,然後點選「Add」。
點選「Save」。
接著,向下捲動至「Transition」>「Page」部分,然後從下拉式選單選擇「機票資訊」。
向上捲動至「Parameter presets」,然後點選「Add parameter」。輸入下列 5 個值,並將其值指定為 null (不加引號)。
| 參數 | 值 |
|---|---|
departure_city |
null |
destination_city |
null |
departure_date |
null |
return_date |
null |
passenger_name |
null |
這個步驟的目的是移除先前向使用者收集的值,以便他們提交新值。如果略過這個步驟,機器人可能會陷入無限迴圈!
點選「Save」。
關閉視窗並返回「Build」檢視畫面,現在您應會看到所有 3 個頁面的流程走向。注意到最後一個頁面的確認行程和機票資訊頁面之間有兩個箭頭,因為 confirmation.no 意圖會將使用者導回前一個頁面。
隨堂測驗
現在您將測試代理是否能正常運作,請點選畫面右上方的「Toggle Simulator」圖示。
在「Preview: Default Start Flow」頁面的「Start Resource」部分,選取「Default Start Flow」並測試代理。
以一般使用者的身分與代理互動。進行主要流程的各階段時,請留意您建立的頁面、意圖和轉換機制。
視您安排的參數收集順序而定,您可以嘗試輸入下列範例對話:
您應能透過代理順利完成交易,也就是使用者體驗俗稱的滿意路徑。
下方是在「Test Agent」控制台中測試上述代理的範例:
點選「Check my progress」,確認目標已達成。
為專案建構代理後,可以將其匯出並用於其他專案。您可以匯出並儲存代理,在日後的實驗室使用,或繼續在個人專案中建構!
在 Conversational Agents 控制台頂端的「Agent」下拉式選單,點選「View all agents」。
在「Agent」清單畫面,依序點選代理旁邊的內容選單和「Export」。
在「Export agent」畫面,選擇「Download」以下載為本機檔案,然後點選「Export」。
您已成功建構完整的 Conversational Agents 流程,包括建立代理,以及定義意圖、結構化流程和頁面,並使用實體與參數擷取資料。您也定義了條件、執行要求回覆,並仔細測試代理,透過本實驗室深入掌握對話式代理的開發技巧。
使用手冊上次更新日期:2025 年 5 月 29 日
實驗室上次測試日期:2025 年 5 月 29 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
This content is not currently available
We will notify you via email when it becomes available
Great!
We will contact you via email if it becomes available
One lab at a time
Confirm to end all existing labs and start this one
Complete this quick step to start your lab.