您可以建立多個版本的代理程式流程、劇本和工具,並將這些版本部署到不同的服務環境。
編輯流程、應對手冊或工具時,您編輯的是草稿。 您隨時可以將草稿儲存為版本。 版本是指流程、劇本或工具資料,以及相關聯代理程式資料的不可變更快照。如果是流程,則包括意圖、實體、Webhook、頁面、路徑群組。應對手冊則僅包含範例。
儲存草稿時,系統會將草稿部署至預設環境。建立特定版本後,您可以將這些版本部署至自訂環境。您可以建立各種自訂環境,例如:
- 測試
- development
- 正式環境
此外,您也可以建立環境專屬的 Webhook,將正式環境與開發和測試環境區隔開來。
正式環境流量最佳做法
一律使用版本處理正式版流量
只要團隊中的開發人員進行變更,草稿就會更新。 草稿可能會在無意間遭到破壞,特別是當多人都擁有代理的寫入權時。此外,最近編輯的草稿可能與訓練好的模型不一致,因為訓練作業可能會延遲或需要手動執行。
建議您一律使用正式版處理正式流量。 草稿資源應先經過測試,再升級為正式版,如果發現任何問題,可以還原為先前的版本。
一律使用環境專屬的 Webhook
更新代理程式時,通常需要一併更新 Webhook 程式碼。在開發及測試這些變更時,您需要下列項目:
- 測試代理程式更新是否與 Webhook 程式碼更新相容。
- 避免在完成測試前,將 Webhook 程式碼部署至正式環境。
使用環境專屬的 Webhook 即可達成這兩個目標。
變更版本時,請考量可能的代理程式錯誤
如果在正式環境中變更版本,且有工作階段處於啟用狀態,部分工作階段可能會發生代理程式錯誤。如果新舊版本不一致,導致工作階段狀態中斷,就可能發生這類錯誤。因此,建議您在停機或離峰時段變更版本。
將版本載入草稿
您隨時可以將版本載入草稿,以便編輯及供預設環境使用。
將流程版本載入草稿時,可以更新代理程式中的多項資源,包括意圖和實體等代理程式層級資源。透過控制台或 API 將版本載入草稿時,您可以選擇是否要覆寫代理程式層級的資源。
同樣地,將劇本版本還原為草稿時,系統會覆寫現有的草稿劇本和範例。還原工具會覆寫草稿中的現有工具。
管理版本
如要管理版本,請按照下列步驟操作:
控制台
如要列出流程的目前版本,請執行下列操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「共用資源」分頁標籤。
- 按一下「版本」。
- 系統會列出代理程式流程。請選取一項。
- 系統會列出所選流程的版本。
如要列出劇本的目前版本,請執行下列指令:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取應對手冊
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選劇本的版本。
如要列出工具的目前版本,請執行下列操作:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取工具
- 按一下「版本記錄」。
- 按一下「查看版本記錄」。
- 系統會列出所選工具的版本。
系統會顯示每個資源的下列資訊:
- 顯示名稱:版本的顯示名稱。
- 版本 ID:版本的 ID。
- NLU 類型:流程版本的NLU 類型。
- 建立時間戳記:建立版本的日期和時間。
- 狀態:訓練狀態。 流程版本狀態標示為「就緒」後,才能使用。
如要建立新版本,請按一下「建立」按鈕,然後提供版本的「顯示名稱」和「說明」。
如要將特定流程版本載入為草稿流程,請按照下列步驟操作:
- 將游標懸停在版本列上。
- 按一下「選項」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 |
| Ruby | 不適用 | 不適用 |
比較流程版本
建立流程版本後,您可以使用「比較版本」工具,並排比較流程版本或草稿版本。這項功能不適用於劇本。 如何比較版本:
控制台
- 將游標懸停在版本列上。
- 按一下「選項」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 進行執行階段工作階段呼叫時,您可以指定環境。如未指定環境,系統會使用預設環境。
控制台
使用控制台模擬器時,請選取「在環境中測試代理程式」選項,然後選取環境。
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 欄位中提供所選流程版本。