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