您可以建立多個版本的代理流程、playbook 和工具,並部署至不同的服務環境。
編輯流程、應對手冊或工具時,您編輯的是草稿。您隨時可以將草稿儲存為版本。版本是流程、playbook 或工具資料,以及相關聯代理程式資料的不可變快照。如果是流程,則包括意圖、實體、Webhook、頁面、路徑群組。如果是應對手冊,則只會包含範例。
儲存草稿後,系統會將草稿部署至預設環境。建立特定版本後,您可以將其部署至自訂環境。您可以建立各種自訂環境,例如:
- 測試
- development
- 正式環境
此外,您也可以建立環境專屬 Webhook,將正式環境與開發和測試環境區隔開來。
正式環境流量最佳做法
一律使用版本處理正式環境流量
每當團隊中的開發人員進行變更,草稿就會更新。草稿可能會不小心損壞,尤其是當多位使用者都有代理的寫入權限時。此外,最近編輯的草稿可能與訓練模型不一致,因為訓練可能會有延遲或需要手動執行。
建議您一律使用版本來處理正式環境流量。草稿資源應先經過測試,再升級為正式版本。如果發現任何問題,可以復原至先前的版本。
一律使用環境專屬 Webhook
更新代理時,您通常需要對 Webhook 程式碼進行相互依賴的更新。在開發及測試這些變更時,您希望:
- 根據 Webhook 程式碼更新測試代理更新。
- 在完成測試前,請勿將 Webhook 程式碼部署至正式環境。
使用環境專屬 Webhook 即可達成這兩個目標。
變更版本時,請考量可能的代理錯誤
如果在工作階段進行期間變更正式環境中的版本,可能會導致部分進行中的工作階段發生代理錯誤。如果新舊版本不一致,導致工作階段狀態中斷,就可能發生這些錯誤。因此,建議您在停機時間或離峰時段變更版本。
將版本載入草稿
您隨時可以將版本載入草稿,以便編輯並供預設環境使用。
將流程版本載入草稿,可能會更新代理中的多項資源,包括意圖和實體等代理層級資源。使用控制台或 API 將版本載入草稿時,您可以選擇是否要覆寫代理層級資源。
同樣地,將應對手冊版本還原為草稿,會覆寫現有的草稿應對手冊和範例。還原工具會覆寫草稿中的現有工具。
管理版本
如要管理版本,請按照下列步驟操作:
控制台
如要列出流程的目前版本,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「Shared Resources」(共用資源) 分頁標籤。
- 按一下「版本」。
- 系統會列出代理流程。請選取一項。
- 系統會列出所選流程的版本。
如要列出目前版本的預戰手冊,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取應對手冊
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選教戰手冊的版本。
如要列出工具的目前版本,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取工具
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選工具的版本。
每項資源都會顯示下列資訊:
- 顯示名稱:版本的顯示名稱。
- 版本 ID:版本的 ID。
- NLU Type:流程版本的 NLU 類型。
- 建立時間戳記:建立版本的日期和時間。
- 狀態:訓練狀態。流程版本必須標示為「就緒」,才能使用。
如要建立新版本,請按一下「Create」(建立) 按鈕,然後提供版本的「Display name」(顯示名稱) 和「Description」(說明)。
如要載入特定流程版本做為草稿流程,請按照下列步驟操作:
- 將滑鼠游標懸停在版本列上。
- 按一下選項 more_vert 按鈕。
- 按一下「載入至草稿」選項。
- 載入時,您可以選擇覆寫代理層級資料。
如要刪除特定流程版本,請按照下列步驟操作:
- 將滑鼠游標懸停在版本資料列上。
- 按一下選項 more_vert 按鈕。
- 按一下「刪除版本」選項。
API
查看 Version 類型的方法。
選取版本參照的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 版本資源 | 版本資源 |
| RPC | 版本介面 | 版本介面 |
| C++ | VersionsClient | 不適用 |
| C# | VersionsClient | 不適用 |
| Go | VersionsClient | 不適用 |
| Java | VersionsClient | VersionsClient |
| Node.js | VersionsClient | VersionsClient |
| PHP | 不適用 | 不適用 |
| Python | VersionsClient | VersionsClient |
| 小茹 | 不適用 | 不適用 |
比較流程版本
建立流程版本後,您可以使用比較版本工具,並排比較流程版本或草稿版本。這項功能不適用於應對手冊。 如何比較版本:
控制台
- 將滑鼠游標懸停在版本資料列上。
- 按一下選項 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 |
| 小茹 | 不適用 | 不適用 |
管理環境
如要管理代理環境,請按照下列步驟操作:
控制台
如要列出代理目前的環境,請按照下列步驟操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「Shared Resources」(共用資源) 分頁標籤。
- 按一下「Environments」(環境)。
- 系統會列出代理環境。
如要建立新環境,請按一下「Create」(建立) 按鈕並提供資訊。
如要選取流程、playbook 和工具版本,以及設定環境,請點選環境並提供資訊。
如要查看環境的編輯記錄,請在清單中按一下環境右側附近的記錄 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 |
| 小茹 | 不適用 | 不適用 |
指定工作階段呼叫的環境
使用控制台模擬器或 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 欄位中提供所選流程版本。