複雜的對話通常涉及多個對話主題。舉例來說,披薩外送代理可能會將訂餐、客戶資訊和確認事項視為不同的主題。代理必須經過多輪對話,才能從使用者取得每個主題的相關資訊。
流程可用於定義這些主題和相關的對話路徑。每個代理都有一個名為 Default Start Flow 的流程。簡單的代理可能只需要這一個流程就能運作,較複雜的代理則或許需要額外流程,而不同的開發團隊成員會負責建構及維護這些流程。舉例來說,披薩外送服務代理的流程可能如下所示:預設啟動流程
初始化代理時,系統會自動建立預設開始流程。這個流程可以做為簡單代理的唯一流程,也可以做為複雜代理 (包含多個流程) 的初始進入點。
使用 API 時,您可以使用下列流程 ID 參照預設啟動流程:
00000000-0000-0000-0000-000000000000
流程的開始頁面
每個流程都包含「Start」(開始) 頁面,在控制台圖表中選取流程時,該頁面會以節點表示。流程啟用後,這個頁面就會成為有效頁面。
與標準頁面不同,起始頁面沒有參數和回覆訊息。您仍可使用下列任一方法傳送訊息:
在 API 要求中參照起始頁面
如要在執行階段 API 要求中參照流程的起始頁面,請使用 START_PAGE 做為頁面 ID。
如要透過 API 對起始頁面進行設計階段變更,請使用 Flow 類型的 get 和 patch/update API 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
建立流程
建立流程的步驟如下:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 按一下「Flows」部分中的「新增」add 按鈕。
- 選取「建立流程」。
- 輸入流程的顯示名稱。
- 按一下剛才建立的流程。
API
請參閱 Flow 類型的 create 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
流量資料
如要存取流程的資料,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 按一下代理顯示名稱。
- 在「Flows」(流程) 部分中,按一下流程。
- 流程的頁面會填入「Pages」(頁面) 區段。如要瞭解如何編輯頁面,請參閱頁面指南。
- 按一下圖表中的流程。
- 流程編輯面板隨即顯示。您可以使用這個面板瀏覽及編輯其他流程資料。
- 按一下「儲存」即可儲存變更。
API
如果是流程,請參閱 Flow 類型的 get 和 patch/update。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
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 應自動辨識及回覆的使用者語言。詳情請參閱「多語言代理」。
流程鎖定:鎖定的流程無法編輯,包括對子資源進行下列變更:
語音調整設定:流程層級的語音調整設定。詳情請參閱「手動語音調整」。
輸入參數:工作應對手冊中可供流程使用的參數。
傳回參數:流程傳回工作應對手冊的參數。
如要進一步瞭解資料在不同層級的套用方式,請參閱「資料套用層級」。
如何存取流程設定:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
- 按一下選項 more_vert 按鈕。
- 選取「Flow settings」(流程設定)。
- 瀏覽或編輯設定。
- 按一下「儲存」即可儲存變更。
API
請參閱 Flow 類型的 get 和 patch/update 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
刪除流程
如何刪除流程:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
- 按一下「設定」按鈕 more_vert。
- 選取 [刪除]。
API
請參閱 Flow 類型的 delete 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
訓練流程
如要訓練流程,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 按一下「Agent Settings」(代理程式設定)。
- 開啟「機器學習」ML分頁。
- 如要訓練單一流程,請按一下對應列中的「Train」(訓練)。
- 如要訓練多個流程,請勾選對應的核取方塊,然後按一下「Train selected flow NLU model」(訓練所選流程 NLU 模型)。
API
請參閱 Flow 類型的 train 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
匯出流程
您可以透過下列兩種方式匯出流程:
- 資料匯出:將流程匯出為原始資料,以便匯入任何代理。流程參照的資源 (意圖、實體和 Webhook) 會包含在匯出項目中。按照下列步驟操作時,請選取「原始資料」格式。
圖表匯出 (預先發布版): 這項功能會將流程匯出為 draw.io XML 格式的視覺圖表,可匯入 Lucidchart 或 diagrams.net 等工具。按照下列步驟操作時,請選取「XML」資料格式。
您可以透過下列選項匯出流程:
- 包含參照流程:匯出目標流程和所有遞迴參照流程,沒有深度上限。匯入時,所有匯出的流程和轉換都會保留。
如要匯出流程,請按照下列步驟操作:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
- 按一下選項 more_vert 按鈕。
- 選取「Export flow」(匯出流程)。
- 按照操作說明完成設定。
API
請參閱 Flow 類型的 export 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |
匯入流程
將流程從來源代理匯入目標代理時,也會匯入其參照的全域資源,例如意圖、實體和 Webhook。如果目標代理程式有相同顯示名稱的資源,Dialogflow CX 會顯示摘要,並提供三個解決衝突的選項:
- 取代現有資源:來源代理資源會覆寫目標代理資源。
- 匯入為新資源:系統會新增來源代理資源,並在名稱中加上獨特後置字串。
- 保留原始資源:目標代理資源不會變更。
如何匯入流程:
控制台
- 開啟 Dialogflow CX 控制台。
- 選取專案。
- 在清單中找出代理程式。
- 按一下「Flows」部分中的「新增」add 按鈕。
- 選取「Import flow」(匯入流程)。
- 按照操作說明完成設定。
API
請參閱 Flow 類型的 import 方法。
選取流程參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 流程資源 | 流程資源 |
| RPC | Flow 介面 | Flow 介面 |
| C++ | FlowsClient | 不適用 |
| C# | FlowsClient | 不適用 |
| Go | FlowsClient | 不適用 |
| Java | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 不適用 | 不適用 |
| Python | FlowsClient | FlowsClient |
| 小茹 | 不適用 | 不適用 |