版本和環境

您可以建立多個版本的代理程式流程、劇本和工具,並將這些版本部署到不同的服務環境。

編輯流程、應對手冊或工具時,您編輯的是草稿。 您隨時可以將草稿儲存為版本。 版本是指流程、劇本或工具資料,以及相關聯代理程式資料的不可變更快照。如果是流程,則包括意圖、實體、Webhook、頁面、路徑群組。應對手冊則僅包含範例。

儲存草稿時,系統會將草稿部署至預設環境。建立特定版本後,您可以將這些版本部署至自訂環境。您可以建立各種自訂環境,例如:

  • 測試
  • development
  • 正式環境

此外,您也可以建立環境專屬的 Webhook,將正式環境與開發和測試環境區隔開來。

正式環境流量最佳做法

一律使用版本處理正式版流量

只要團隊中的開發人員進行變更,草稿就會更新。 草稿可能會在無意間遭到破壞,特別是當多人都擁有代理的寫入權時。此外,最近編輯的草稿可能與訓練好的模型不一致,因為訓練作業可能會延遲或需要手動執行。

建議您一律使用正式版處理正式流量。 草稿資源應先經過測試,再升級為正式版,如果發現任何問題,可以還原為先前的版本。

一律使用環境專屬的 Webhook

更新代理程式時,通常需要一併更新 Webhook 程式碼。在開發及測試這些變更時,您需要下列項目:

  • 測試代理程式更新是否與 Webhook 程式碼更新相容。
  • 避免在完成測試前,將 Webhook 程式碼部署至正式環境。

使用環境專屬的 Webhook 即可達成這兩個目標。

變更版本時,請考量可能的代理程式錯誤

如果在正式環境中變更版本,且有工作階段處於啟用狀態,部分工作階段可能會發生代理程式錯誤。如果新舊版本不一致,導致工作階段狀態中斷,就可能發生這類錯誤。因此,建議您在停機或離峰時段變更版本。

將版本載入草稿

您隨時可以將版本載入草稿,以便編輯及供預設環境使用。

將流程版本載入草稿時,可以更新代理程式中的多項資源,包括意圖和實體等代理程式層級資源。透過控制台或 API 將版本載入草稿時,您可以選擇是否要覆寫代理程式層級的資源。

同樣地,將劇本版本還原為草稿時,系統會覆寫現有的草稿劇本和範例。還原工具會覆寫草稿中的現有工具。

管理版本

如要管理版本,請按照下列步驟操作:

控制台

如要列出流程的目前版本,請執行下列操作:

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 按一下「共用資源」分頁標籤。
  5. 按一下「版本」
  6. 系統會列出代理程式流程。請選取一項。
  7. 系統會列出所選流程的版本。

如要列出劇本的目前版本,請執行下列指令:

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取應對手冊
  5. 按一下「版本記錄」
  6. 按一下「查看版本記錄」
  7. 系統會列出所選劇本的版本。

如要列出工具的目前版本,請執行下列操作:

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取工具
  5. 按一下「版本記錄」
  6. 按一下「查看版本記錄」
  7. 系統會列出所選工具的版本。

系統會顯示每個資源的下列資訊:

  • 顯示名稱:版本的顯示名稱。
  • 版本 ID:版本的 ID。
  • NLU 類型:流程版本的NLU 類型
  • 建立時間戳記:建立版本的日期和時間。
  • 狀態:訓練狀態。 流程版本狀態標示為「就緒」後,才能使用。

如要建立新版本,請按一下「建立」按鈕,然後提供版本的「顯示名稱」和「說明」

如要將特定流程版本載入為草稿流程,請按照下列步驟操作:

  1. 將游標懸停在版本列上。
  2. 按一下「選項」 按鈕。
  3. 按一下「載入為草稿」選項。
  4. 載入時,系統會提供覆寫代理商層級資料的選項。

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

  1. 將游標懸停在版本列上。
  2. 按一下「選項」 按鈕。
  3. 按一下「刪除版本」選項。

API

請參閱 Version 類型的方法。

選取版本參考的通訊協定和版本:

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

比較流程版本

建立流程版本後,您可以使用「比較版本」工具,並排比較流程版本或草稿版本。這項功能不適用於劇本。 如何比較版本:

控制台

  1. 將游標懸停在版本列上。
  2. 按一下「選項」 按鈕。
  3. 按一下「比較版本」選項。
  4. 選取其他流程版本或草稿流程進行比較。
  5. 系統會並排顯示比較結果。

API

請參閱 Version 類型的 compareVersions 方法。

選取版本參考的通訊協定和版本:

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

管理環境

如要管理代理程式環境,請按照下列步驟操作:

控制台

如要列出代理程式的目前環境:

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 按一下「共用資源」分頁標籤。
  5. 按一下「環境」
  6. 系統會列出代理程式環境。

如要建立新環境,請按一下「建立」按鈕,然後提供相關資訊。

如要選取流程、劇本和工具版本,以及設定環境,請點選環境並提供資訊。

如要查看環境的編輯記錄,請按一下清單中環境右側附近的「記錄」按鈕。

如要複製包含環境 ID 的環境資源名稱,請按一下清單中環境右側附近的「複製」 按鈕。

如要刪除環境,請按一下清單中環境右側的「刪除」按鈕

API

請參閱 Environment 類型的方法。

選取環境參照的通訊協定和版本:

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

指定工作階段通話的環境

使用控制台模擬器或 API 進行執行階段工作階段呼叫時,您可以指定環境。如未指定環境,系統會使用預設環境。

控制台

使用控制台模擬器時,請選取「在環境中測試代理程式」選項,然後選取環境。

API

如要為 detectIntentstreamingDetectIntentmatchIntent 和工作階段實體 REST 呼叫指定環境,請在 agentsessions 路徑參數之間插入 environments/environment-id,藉此變更網址。

舉例來說,下列網址使用 6db409d7-57ac-41d7-83bd-89b8768e2745 環境 ID:

https://dialogflow.googleapis.com/v3/projects/my-project-id/locations/us/agents/my-agent-id/environments/6db409d7-57ac-41d7-83bd-89b8768e2745/sessions/my-session-id:detectIntent

為工作階段通話指定流程版本

使用控制台模擬器或 API 進行執行階段工作階段呼叫時,您可以指定一組流程版本。所選流程版本不一定需要參照任何環境。

控制台

使用控制台模擬器時,請選取「Test agent with specific flow versions」(使用特定流程版本測試代理程式) 選項,然後選取流程版本。

API

如要為 detectIntentstreamingDetectIntentmatchIntent 和會期實體 REST 呼叫指定流程版本,請在要求的 query_parameters.flow_versions 欄位中提供所選流程版本。