流程

複雜的對話通常會涉及多個對話主題。舉例來說,披薩外送服務的客服人員可能會將餐點訂單顧客資訊確認視為不同的主題。每個主題都需要多個對話回合,客服人員才能從使用者取得相關資訊。

流程可用於定義這些主題和相關的對話路徑。每個代理都有一個名為「Default Start Flow」的流程。簡單的代理可能只需要這一個流程就能運作,較複雜的代理則或許需要額外流程,而不同的開發團隊成員會負責建構及維護這些流程。舉例來說,披薩外送代理程式的流程可能如下所示:

多流程圖範例。

預設開始流程

初始化代理程式時,系統會自動建立預設開始流程。對於簡單的代理程式,這可以是唯一的流程;對於包含多個流程的複雜代理程式,這則可以是初始進入點。

使用 API 時,您可以透過下列流程 ID 參照預設啟動流程:

00000000-0000-0000-0000-000000000000

流程的開始頁面

每個流程都包含「開始」頁面,選取流程時,這個頁面會以節點的形式顯示在控制台圖表中。流程啟用後,這個頁面就會成為有效頁面。

與標準網頁不同,開始網頁沒有參數和回應訊息。您仍可使用下列其中一種方法傳送訊息:

在 API 要求中參照開始頁面

如要在執行階段 API 要求中參照流程的開始頁面,請使用 START_PAGE 做為頁面 ID。

如要透過 API 在設計階段變更開始頁面,請使用 Flow 類型的 getpatch/update API 方法。

選取流程參照的通訊協定和版本:

通訊協定 V3 V3beta1
REST 流程資源 流程資源
RPC 流程介面 流程介面
C++ FlowsClient 不適用
C# FlowsClient 不適用
Go FlowsClient 不適用
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 不適用 不適用
Python FlowsClient FlowsClient
Ruby 不適用 不適用

建立流程

如要建立流程,請按照下列步驟操作:

控制台

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

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

流程資料

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

控制台

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

API

如要瞭解流程,請參閱 Flow 類型的 getpatch/update

選取流程參照的通訊協定和版本:

通訊協定 V3 V3beta1
REST 流程資源 流程資源
RPC 流程介面 流程介面
C++ FlowsClient 不適用
C# FlowsClient 不適用
Go FlowsClient 不適用
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 不適用 不適用
Python FlowsClient FlowsClient
Ruby 不適用 不適用
如為網頁,請參閱 Page 類型的 getpatch/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 應自動辨識及回覆的語言。詳情請參閱多語言代理程式
  • 流程鎖定:鎖定的流程無法編輯,包括對子資源進行下列變更:

    1. 無法建立、編輯或刪除網頁
    2. 無法建立、編輯或刪除版本
    3. 您無法建立、編輯或刪除流程層級路徑群組
    4. 如果專員層級路徑群組參照鎖定的流程或鎖定流程下的任何頁面,就無法刪除,但仍可編輯。
  • 進階語音設定:這些進階語音設定可選擇性覆寫相同的代理程式語音設定

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

  • 輸入參數:工作劇本中的參數,可供流程使用。

  • 傳回參數:流程傳回給工作劇本的參數。

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

如要存取流程設定:

控制台

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

API

請參閱 Flow 類型的 getpatch/update 方法。

選取流程參照的通訊協定和版本:

通訊協定 V3 V3beta1
REST 流程資源 流程資源
RPC 流程介面 流程介面
C++ FlowsClient 不適用
C# FlowsClient 不適用
Go FlowsClient 不適用
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 不適用 不適用
Python FlowsClient FlowsClient
Ruby 不適用 不適用

刪除流程

如要刪除流程,請按照下列步驟操作:

控制台

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

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

訓練流程

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

控制台

  1. 開啟 Dialogflow CX 控制台
  2. 選取專案。
  3. 在清單中找出代理程式。
  4. 按一下「代理程式設定」
  5. 開啟「ML」ML分頁。
  6. 如要訓練單一流程,請按一下相應資料列中的「訓練」
  7. 如要訓練多個流程,請選取核取方塊,然後按一下「訓練所選流程的 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 格式的流程圖,可匯入 Lucidchartdiagrams.net 等工具。按照下列步驟操作時,請選取 XML 資料格式。

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

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

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

控制台

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

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

  • 取代現有資源:來源代理程式資源會覆寫目標代理程式資源。
  • 匯入為新資源:來源代理程式資源會新增名稱中含有獨特後置字元的資源。
  • 保留原始資源:目標代理程式資源不會變更。

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

控制台

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

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