Dialogflow CX 對話 (工作階段) 可透過狀態機器描述和呈現。工作階段的狀態是以頁面呈現。
每個流程可定義多個頁面,頁面合併後,就能處理對話流程設計主題的完整對話。在任一時間點,只有一個頁面是「目前頁面」,目前頁面會視為「有效」,與該頁面相關聯的流程也視為「有效」。每個流程都有專屬的開始頁面。流程首次啟用時,開始頁面會成為目前頁面。在每個對話回合,目前頁面會維持不變或轉換至其他頁面。
您可以設定每個頁面,向使用者收集與該頁面代表的對話狀態相關的資訊。舉例來說,您可以為披薩外送服務代理的訂餐流程建立下圖中的頁面 (藍色)。圖表的「Start」節點代表「訂餐」流程的開始頁面。流程完成後,會轉換為「確認」流程。
網頁生命週期
頁面啟用後,代理會執行多個步驟,可能包括:執行進入要求、預先填寫表單、評估狀態處理常式、提示表單參數、傳送回覆訊息給使用者,以及變更頁面或重複迴圈:
這項程序的詳細資訊如下:
如果頁面有項目執行要求,系統就會呼叫該要求。執行作業提供的任何靜態回覆都會新增至回覆佇列。
如果啟用部分回覆,Dialogflow CX 會清除回應佇列,並將所有佇列訊息做為部分回覆,傳送給串流 API 呼叫端。
如果執行要求有 Webhook,系統會呼叫 Webhook,這可能會將其他回覆附加至佇列。這些額外回應不會立即清除回應佇列。
如果頁面有表單參數,系統可能會預填這些參數:
如果任何狀態處理常式在範圍內,系統會根據處理常式評估順序規則進行評估。這可能涉及從先前迴圈疊代叫用的路徑、事件處理常式或重新提示處理常式。如果呼叫任何狀態處理常式,可能會發生下列一或兩種情況:
- 如果處理常式有對應的執行要求,系統就會呼叫該執行要求。執行作業提供的任何靜態回覆都會新增至回覆佇列。如果已啟用部分回覆和 Webhook,系統也會執行這些項目。
- 如果處理常式有目標流程或頁面,工作階段會轉換至目標,且頁面會變成非使用中。
如果符合下列所有條件,系統會將表單參數提示新增至回覆佇列:
- 網頁含有表單。
- 還有必填的表單參數。
- 步驟 3 未遵循重新提示處理常式。
- 如果已啟用部分回覆和 Webhook,系統會執行這些功能。
其餘的回覆佇列訊息會傳送給使用者,代理則會等待使用者輸入內容。
如果使用者輸入內容提供提示表單參數,請填寫參數。接下來請繼續執行步驟 3。
網頁生命週期導覽
模擬器執行步驟檢視器可讓您切換特定對話輪次的步驟,並將相關的代理建構工具元素帶入每個步驟。在以下範例中,使用者輸入「我想租車」會觸發五個執行和轉換步驟:
執行步驟檢視器會將您帶往對話起始頁面,以便執行第一個步驟。在本範例中,這是預設起始頁面。

意圖
car_rental.reservation_create的轉換路徑已觸發。執行步驟檢視器會將這條路徑設為焦點,您可以在其中看到轉換目標是Pickup Location頁面。
代理進入頁面
Pickup Location。
代理會評估
Pickup Location頁面的進入點執行要求。由於執行要求是空的,因此不會發生任何事。
代理嘗試收集必要的表單參數
pickup_location,並向使用者顯示這個參數的初始提示執行訊息。
您也可以復原最後一個語句,並嘗試其他語句,測試不同的頁面轉換。

建立頁面
如何建立頁面:
控制台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 在「Flows」(流程) 部分中,選取頁面的流程。
- 按一下「Pages」部分中的「Add」add按鈕。
- 輸入頁面的顯示名稱。
- 按一下頁面顯示名稱旁的設定 more_vert 按鈕。
- 選取 [編輯]。
- 在顯示的頁面編輯面板中輸入欄位。
- 按一下 [儲存]。
API
請參閱 Page 類型的 create 方法。
選取頁面參考資料的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 網頁資源 | 網頁資源 |
| RPC | Page 介面 | Page 介面 |
| C++ | PagesClient | 不適用 |
| C# | PagesClient | 不適用 |
| Go | PagesClient | 不適用 |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | 不適用 | 不適用 |
| Python | PagesClient | PagesClient |
| 小茹 | 不適用 | 不適用 |
網頁資料
如要存取網頁資料,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選擇代理程式的 Google Cloud 專案。
- 選取代理程式。
- 在「Flows」(流程) 部分中,按一下流程。
- 「Pages」(頁面) 部分會填入流程的頁面。
- 按一下頁面顯示名稱旁的設定 more_vert 按鈕。
- 選取 [編輯]。
- 在顯示的頁面編輯面板中輸入欄位。
- 按一下「儲存」即可儲存變更。
API
請參閱 Page 類型的 get 和 patch/update 方法。
選取頁面參考資料的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 網頁資源 | 網頁資源 |
| RPC | Page 介面 | Page 介面 |
| C++ | PagesClient | 不適用 |
| C# | PagesClient | 不適用 |
| Go | PagesClient | 不適用 |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | 不適用 | 不適用 |
| Python | PagesClient | PagesClient |
| 小茹 | 不適用 | 不適用 |
以下是與網頁相關聯的資料:
- 顯示名稱:人類可讀的頁面名稱。
- 進入點執行要求 (也稱為進入點對話):頁面首次啟用時要呼叫的執行要求。
- 參數:這些是頁面表單中的參數值,用於擷取使用者提供的結構化輸入內容。
- 路由:頁面處於啟用狀態時,系統可能會呼叫這些狀態處理常式。詳情請參閱「頁面層級處理常式路徑」
- 路由群組:頁面啟用時,系統可能會呼叫這些群組中的路由。詳情請參閱「路徑群組」
- 事件處理常式:網頁啟用時,系統可能會呼叫這些事件處理常式。詳情請參閱「頁面層級事件處理常式」
頁面設定
頁面可用的設定如下:
語音自動調整設定:頁面層級語音自動調整設定可視需要覆寫相同的流程語音自動調整設定。如需更詳細的操作說明,請參閱手動語音調整。
如要存取頁面設定,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 將滑鼠游標懸停在「頁面」部分的頁面上。
- 按一下選項 more_vert 按鈕。
- 選取「頁面設定」。
- 瀏覽或編輯設定。
- 按一下「儲存」即可儲存變更。
API
請參閱 Page 類型的 get 和 patch/update 方法。
選取頁面參考資料的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 網頁資源 | 網頁資源 |
| RPC | Page 介面 | Page 介面 |
| C++ | PagesClient | 不適用 |
| C# | PagesClient | 不適用 |
| Go | PagesClient | 不適用 |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | 不適用 | 不適用 |
| Python | PagesClient | PagesClient |
| 小茹 | 不適用 | 不適用 |
刪除頁面
如要刪除頁面,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 在「Flows」(流程) 部分,選取頁面的流程。
- 在「Pages」(頁面) 部分,按一下頁面顯示名稱旁的設定按鈕 more_vert。
- 選取 [刪除]。
API
請參閱 Page 類型的 delete 方法。
選取頁面參考資料的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 網頁資源 | 網頁資源 |
| RPC | Page 介面 | Page 介面 |
| C++ | PagesClient | 不適用 |
| C# | PagesClient | 不適用 |
| Go | PagesClient | 不適用 |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | 不適用 | 不適用 |
| Python | PagesClient | PagesClient |
| 小茹 | 不適用 | 不適用 |