流程

複雜的對話通常涉及多個對話主題。舉例來說,披薩外送代理可能會將訂餐、客戶資訊和確認事項視為不同的主題。代理必須經過多輪對話,才能從使用者取得每個主題的相關資訊。

流程可用於定義這些主題和相關的對話路徑。每個代理都有一個名為 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
小茹 不適用 不適用

建立流程

建立流程的步驟如下:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 按一下「Flows」部分中的「新增」 按鈕。
  5. 選取「建立流程」。
  6. 輸入流程的顯示名稱。
  7. 按一下剛才建立的流程。

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
小茹 不適用 不適用

流量資料

如要存取流程的資料,請按照下列步驟操作:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 按一下代理顯示名稱。
  5. 在「Flows」(流程) 部分中,按一下流程。
  6. 流程的頁面會填入「Pages」(頁面) 區段。如要瞭解如何編輯頁面,請參閱頁面指南。
  7. 按一下圖表中的流程。
  8. 流程編輯面板隨即顯示。您可以使用這個面板瀏覽及編輯其他流程資料。
  9. 按一下「儲存」即可儲存變更。

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 應自動辨識及回覆的使用者語言。詳情請參閱「多語言代理」。
  • 流程鎖定:鎖定的流程無法編輯,包括對子資源進行下列變更:

    1. 無法建立、編輯或刪除頁面。
    2. 無法建立、編輯或刪除版本。
    3. 無法建立、編輯或刪除流程層級路徑群組。
    4. 如果代理層級路由群組是由鎖定的流程或鎖定流程下的任何頁面參照,則無法刪除,但仍可編輯。
  • 進階語音設定:這些進階語音設定可視需要覆寫相同的代理語音設定。

  • 語音調整設定:流程層級的語音調整設定。詳情請參閱「手動語音調整」。

  • 輸入參數:工作應對手冊中可供流程使用的參數。

  • 傳回參數:流程傳回工作應對手冊的參數。

如要進一步瞭解資料在不同層級的套用方式,請參閱「資料套用層級」。

如何存取流程設定:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
  5. 按一下選項 按鈕。
  6. 選取「Flow settings」(流程設定)。
  7. 瀏覽或編輯設定。
  8. 按一下「儲存」即可儲存變更。

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
小茹 不適用 不適用

刪除流程

如何刪除流程:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
  5. 按一下「設定」按鈕 。
  6. 選取 [刪除]。

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
小茹 不適用 不適用

訓練流程

如要訓練流程,請按照下列步驟操作:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 按一下「Agent Settings」(代理程式設定)。
  5. 開啟「機器學習」ML分頁。
  6. 如要訓練單一流程,請按一下對應列中的「Train」(訓練)。
  7. 如要訓練多個流程,請勾選對應的核取方塊,然後按一下「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」資料格式。

您可以透過下列選項匯出流程:

  • 包含參照流程:匯出目標流程和所有遞迴參照流程,沒有深度上限。匯入時,所有匯出的流程和轉換都會保留。

如要匯出流程,請按照下列步驟操作:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 將滑鼠游標懸停在「Flows」(流程) 部分中的流程上。
  5. 按一下選項 按鈕。
  6. 選取「Export flow」(匯出流程)。
  7. 按照操作說明完成設定。

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 會顯示摘要,並提供三個解決衝突的選項:

  • 取代現有資源:來源代理資源會覆寫目標代理資源。
  • 匯入為新資源:系統會新增來源代理資源,並在名稱中加上獨特後置字串。
  • 保留原始資源:目標代理資源不會變更。

如何匯入流程:

控制台

  1. 開啟 Dialogflow CX 控制台。
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 按一下「Flows」部分中的「新增」 按鈕。
  5. 選取「Import flow」(匯入流程)。
  6. 按照操作說明完成設定。

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
小茹 不適用 不適用