您可以將 Conversational Agents (Dialogflow CX) 對話 (工作階段) 描述為狀態機器人,並以圖形呈現。工作階段的狀態會以頁面表示。
您會為每個流程定義多個頁面,這些頁面組合可處理流程所設計主題的完整對話。在任何時間點,只有一個頁面是「目前的頁面」,且系統會將目前的頁面視為「有效」,與該頁面相關聯的流程也視為「有效」。每個流程都有專屬的起始頁面。當流程首次啟用時,開始頁面會成為目前的頁面。對於每個對話輪次,目前的頁面會維持不變,或轉換至其他頁面。
您可以設定每個網頁,從使用者收集與網頁所代表對話狀態相關的資訊。舉例來說,您可以為披薩外送服務代理程式的「Food Order」流程建立下方圖表中的頁面 (以藍色標示)。圖表的「Start」節點代表「Food Order」流程的起始頁面。流程完成後,系統會轉換至「確認」流程。
網頁的生命週期
網頁啟用後,代理程式會依序執行幾個步驟,包括輸入內容執行、預先填寫表單、狀態處理常式評估、表單參數提示、傳送回應訊息給使用者,以及網頁變更或重複迴圈:
這項程序的詳細資訊如下:
如果網頁有fulfillment 項目,系統就會呼叫該項目。任何由服務提供的靜態回應都會加入回應佇列。
如果啟用部分回應,Conversational Agents (Dialogflow CX) 會清除回應佇列,並將所有佇列訊息傳送給串流 API 呼叫端,做為部分回應。
如果執行要求含有 Webhook,系統會呼叫 Webhook,並可能將其他回應附加至佇列。這些額外回應不會觸發立即清除回應佇列的動作。
如果網頁有表單參數,系統可能會預先填入這些參數:
如果任何狀態處理常式在範圍內,系統會根據處理常式評估順序規則進行評估。這可能包括路徑、事件處理常式或從先前迴圈迭代中叫用的重新提示處理常式。如果呼叫任何狀態處理常式,可能會發生下列一或兩種情況:
- 如果處理常式有執行要求,系統就會呼叫該執行要求。系統會將由執行單元提供的任何靜態回應新增至回應佇列。如果已啟用部分回應和 webhook,系統也會執行這些項目。
- 如果處理常式有目標流程或頁面,工作階段會轉換至目標,而頁面會變為非活動狀態。
如果符合下列所有條件,系統就會在回應佇列中新增表單參數提示:
- 網頁含有表單。
- 還有必要的表單參數需要填寫。
- 未在步驟 3 中執行重提示處理常式。
- 如果部分回應和 Webhook 已啟用,系統會執行這兩項作業。
系統會將剩餘的回應佇列訊息傳送給使用者,並等待使用者輸入內容。
如果使用者輸入的內容提供提示表單參數,請填入該參數。接下來請繼續執行步驟 3。
網頁生命週期導覽
模擬器執行步驟檢視器可讓您在特定對話輪次的步驟之間切換,並將相關的對話方塊建構工具元素聚焦於每個步驟。在以下範例中,使用者輸入「I would like to rent a car」(我想租車) 會觸發五個執行和轉換步驟:
執行步驟檢視器會將您帶往第一個步驟的對話開始頁面。在本例中,預設的起始頁面就是這個。
意圖
car_rental.reservation_create
的轉換路徑已觸發。執行步驟檢視器會將這個路徑設為焦點,您可以看到轉換目標是Pickup Location
頁面。服務專員進入頁面
Pickup Location
。代理程式會評估
Pickup Location
頁面的輸入內容是否已完成。因為執行階段是空的,所以不會有任何動作。服務機器人會嘗試收集必要的表單參數
pickup_location
,並向使用者顯示此參數的初始提示回應訊息。
您也可以撤銷上次的語音輸入,嘗試其他操作,以測試不同的頁面轉場效果。
建立頁面
如要建立頁面,請按照下列步驟操作:
主控台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 在「流程」部分選取頁面所需的流程。
- 按一下「頁面」部分中的新增 add 按鈕。
- 輸入網頁的顯示名稱。
- 按一下頁面顯示名稱旁邊的設定 more_vert 按鈕。
- 選取 [編輯]。
- 在隨即顯示的網頁編輯面板中輸入欄位。
- 按一下 [儲存]。
API
請參閱 Page
類型的 create
方法。
選取網頁參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 網頁資源 | 網頁資源 |
RPC | 網頁介面 | 網頁介面 |
C++ | PagesClient | 不適用 |
C# | PagesClient | 不適用 |
Go | PagesClient | 不適用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不適用 | 不適用 |
Python | PagesClient | PagesClient |
Ruby | 不適用 | 不適用 |
網頁資料
如要存取網頁資料,請按照下列步驟操作:
主控台
- 開啟 Dialogflow CX 控制台。
- 為代理程式選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「流程」部分中的流程。
- 流程的頁面會填入「Pages」部分。
- 按一下頁面顯示名稱旁邊的設定 more_vert 按鈕。
- 選取 [編輯]。
- 在隨即顯示的網頁編輯面板中輸入欄位。
- 按一下「儲存」即可儲存變更。
API
請參閱 Page
類型的 get
和 patch/update
方法。
選取網頁參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 網頁資源 | 網頁資源 |
RPC | 網頁介面 | 網頁介面 |
C++ | PagesClient | 不適用 |
C# | PagesClient | 不適用 |
Go | PagesClient | 不適用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不適用 | 不適用 |
Python | PagesClient | PagesClient |
Ruby | 不適用 | 不適用 |
以下資料與網頁相關聯:
- 顯示名稱:網頁的易讀名稱。
- 輸入完成 (也稱為「輸入對話」):這是在網頁首次啟用時要呼叫的完成動作。
- 參數:這些是頁面表單中的參數值,用於擷取使用者提供的結構化輸入內容。
- 路由:在網頁處於活動狀態時,系統可能會呼叫這些狀態處理常式。詳情請參閱「網頁層級處理程序路徑」
- 路徑群組:頁面處於活動狀態時,可能會呼叫這些群組中的路徑。詳情請參閱「路由群組」
- 事件處理常式:這些事件處理常式可能會在網頁處於活動狀態時呼叫。詳情請參閱「網頁層級事件處理常式」
頁面設定
網頁可採用下列設定:
如要存取網頁設定,請按照下列步驟操作:
主控台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 將滑鼠游標懸停在「頁面」部分的頁面上。
- 按一下「選項」more_vert 按鈕。
- 選取「頁面設定」。
- 瀏覽或編輯設定。
- 按一下「儲存」即可儲存變更。
API
請參閱 Page
類型的 get
和 patch/update
方法。
選取網頁參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 網頁資源 | 網頁資源 |
RPC | 網頁介面 | 網頁介面 |
C++ | PagesClient | 不適用 |
C# | PagesClient | 不適用 |
Go | PagesClient | 不適用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不適用 | 不適用 |
Python | PagesClient | PagesClient |
Ruby | 不適用 | 不適用 |
刪除網頁
如要刪除頁面,請按照下列步驟操作:
主控台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 在「流程」部分中,選取該頁面的流程。
- 在「網頁」部分,按一下網頁顯示名稱旁邊的設定 more_vert 按鈕。
- 選取 [刪除]。
API
請參閱 Page
類型的 delete
方法。
選取網頁參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 網頁資源 | 網頁資源 |
RPC | 網頁介面 | 網頁介面 |
C++ | PagesClient | 不適用 |
C# | PagesClient | 不適用 |
Go | PagesClient | 不適用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不適用 | 不適用 |
Python | PagesClient | PagesClient |
Ruby | 不適用 | 不適用 |