您可以建立多個版本的代理程式流程、Playbook 和工具,並將這些版本部署到不同的服務環境。
編輯流程、應對手冊或工具時,您實際上是在編輯草稿。您隨時可以將草稿儲存為版本。版本是指流程、Playbook 或工具資料和相關代理程式資料的不可變更快照。對於流程,這包括意圖、實體、webhook、頁面和路由群組。對於應對手冊,這項限制僅適用於範例。
儲存草稿後,系統會將草稿部署至預設環境。建立特定版本時,您可以將這些版本部署至自訂環境。您可以建立各種自訂環境,例如:
- 測試
- development
- 正式環境
此外,您可以建立特定環境的 webhook,將實際工作環境與開發和測試環境隔離。
正式環境流量最佳做法
一律使用正式版群組的版本發布流量
每當團隊中的開發人員進行變更,草稿就會更新。您可能會不小心破壞草稿,尤其是當有多個人擁有代理程式寫入權限時。此外,最近編輯的草稿可能與經過訓練的模型不一致,因為訓練可能會延遲或需要手動執行。
您應一律使用正式版流量。您應先測試草稿資源,再將其升級為正式版,如果發現任何問題,您可以回溯至先前的版本。
一律使用環境專屬的 webhook
更新介面代理程式時,您通常會對 webhook 程式碼進行相關更新。在開發和測試這些變更時,您需要執行以下操作:
- 針對 webhook 程式碼更新測試代理程式更新。
- 請勿在完成測試前,將 webhook 程式碼部署至正式環境。
使用特定環境的 webhook 即可達成這兩個目標。
變更版本時,請考量可能發生的代理程式錯誤
如果在工作階段處於活動狀態時,在實際工作環境中變更版本,可能會導致部分活動工作階段發生代理程式錯誤。如果舊版和新版不相容,導致工作階段狀態中斷,就可能發生這些錯誤。因此,請在非上線時間或離峰時段變更版本。
將版本載入為草稿
您隨時可以將版本載入草稿,以便編輯並供預設環境使用。
將草稿中的流程版本載入至大使,即可更新大使中的多個資源,包括意圖和實體等大使層級資源。使用控制台或 API 將版本載入草稿時,您可以選擇是否要覆寫代理程式層級資源。
同樣地,將 Playbook 版本還原為草稿,也會覆寫草稿中現有的 Playbook 及其範例。還原工具會覆寫草稿中的現有工具。
管理版本
如要管理版本,請按照下列步驟操作:
主控台
如要列出流程的目前版本,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「共用資源」分頁標籤。
- 按一下「版本」。
- 系統會列出服務專員流程。請選取其中一個。
- 系統會列出所選流程的版本。
如要列出 Playbook 的目前版本,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取 Playbook
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選劇本集的版本。
如要列出工具的目前版本,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取工具
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選工具的版本。
系統會針對每個資源顯示下列資訊:
- 顯示名稱:版本的顯示名稱。
- 版本 ID:版本的 ID。
- NLU 類型:流程版本的 NLU 類型。
- 建立時間戳記:版本建立的日期和時間。
- 狀態:訓練狀態。流程版本的狀態必須標示為「就緒」,才能使用。
如要建立新版本,請按一下「建立」按鈕,然後提供版本的顯示名稱和說明。
如要將特定流程版本載入為草稿流程,請按照下列步驟操作:
- 將滑鼠游標懸停在版本列上。
- 按一下「more_vert」選項按鈕。
- 按一下「Load to draft」選項。
- 提供選項,可在載入時覆寫代理程式層級資料。
如要刪除特定流程版本,請按照下列步驟操作:
- 將滑鼠游標懸停在版本列上。
- 按一下「more_vert」選項按鈕。
- 按一下「Delete version」選項。
API
請參閱 Version
類型的相關方法。
選取版本參照的通訊協定和版本:
通訊協定 | V3 | V3beta1 |
---|---|---|
REST | 版本資源 | 版本資源 |
RPC | 版本介面 | 版本介面 |
C++ | VersionsClient | 不適用 |
C# | VersionsClient | 不適用 |
Go | VersionsClient | 不適用 |
Java | VersionsClient | VersionsClient |
Node.js | VersionsClient | VersionsClient |
PHP | 不適用 | 不適用 |
Python | VersionsClient | VersionsClient |
Ruby | 不適用 | 不適用 |
比較流程版本
建立流程版本後,您可以使用比較版本工具,並將流程版本或草稿版本並排比較。此功能不適用於 Playbook。如何比較版本:
主控台
- 將滑鼠游標懸停在版本列上。
- 按一下「more_vert」選項按鈕。
- 按一下「比較版本」選項。
- 選取其他流程版本或草稿流程進行比較。
- 畫面上會顯示並列比較。
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 | 不適用 | 不適用 |
管理環境
如要管理代理程式環境,請按照下列步驟操作:
主控台
如要列出代理程式的目前環境,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「共用資源」分頁標籤。
- 按一下「環境」。
- 系統會列出代理程式環境。
如要建立新環境,請按一下「建立」按鈕,然後提供相關資訊。
如要選取流程、指南和工具版本,並設定環境,請按一下環境並提供相關資訊。
如要查看環境的編輯記錄,請按一下清單中環境右側附近的歷史記錄 history 按鈕。
如要複製包含環境 ID 的環境資源名稱,請按一下清單中環境右側附近的複製 content_copy 按鈕。
如要刪除環境,請按一下清單中環境右側附近的刪除 delete 按鈕。
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,在執行時工作階段呼叫時指定環境。如果未指定環境,系統會使用預設環境。
主控台
使用主控台模擬器時,請選取「Test agent in environment」選項,然後選取環境。
API
如要為 detectIntent
、streamingDetectIntent
、matchIntent
和工作階段實體 REST 呼叫指定環境,請在 agent
和 sessions
路徑參數之間插入 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
如要為 detectIntent
、streamingDetectIntent
、matchIntent
和工作階段實體 REST 呼叫指定流程版本,請在要求的 query_parameters.flow_versions
欄位中提供所選的流程版本。