如代理程式設計頁面所述,代理程式的設計可能大幅影響代理程式的品質。為了幫助代理程式設計人員建立高品質的代理程式,Dialogflow 提供驗證功能。在執行並完成代理程式訓練後,會自動提供代理程式驗證結果。您可以透過 Dialogflow 主控台或 API 來存取驗證結果。
驗證結果僅供參考。 並提供錯誤清單,請修正錯誤來提升代理程式的品質和效能。如果您的代理程式發生錯誤,您可以選擇忽略並啟動代理程式。代理程式驗證不會以任何方式影響代理程式的行為。
以下列舉幾個範例:
- 意圖的訓練詞組太相似。
- 意圖所包含的參數未用於足夠的訓練詞組。
- 沒有備用意圖的排除範例。
- 文本在某些訓練詞組有加註,但在其他訓練詞組中卻沒有加註。
啟用及停用自動驗證
根據預設,代理程式驗證會在代理程式完成訓練後自動執行。您可以啟用及停用這項設定:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 按一下代理程式名稱旁的設定 settings 圖示。
- 選取 [ML Settings] (ML 設定) 分頁標籤。
- 將 [Agent Validation] (代理程式驗證) 設定切換為開啟 (預設) 或關閉。
代理程式驗證頁面
存取代理程式驗證資料的步驟如下:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 點選側欄選單中的 [Validation] (驗證)。
意圖和實體的驗證結果
當您造訪意圖清單或實體清單頁面時,任何有驗證錯誤的意圖或實體都會在名稱旁邊顯示 error_outline 錯誤指標。
如果您造訪網頁時發生特定意圖或實體的驗證錯誤,在「儲存」按鈕附近可以看見 error_outline 錯誤指標。
按一下這個按鈕,顯示意圖或實體的錯誤清單。根據預設,系統只會顯示嚴重性等級為 CRITICAL
或 ERROR
的錯誤。您可以切換嚴重性類型,一併顯示 WARNING
和 INFO
。
您也可能會看到特定訓練詞組和參數的錯誤指標,而且可以將滑鼠游標懸停在這些指標上來查看詳細資訊。
版本和環境的驗證結果
查看版本和環境時,每個代理程式版本可能出現不重複的驗證錯誤。如出現任何錯誤,版本旁會出現驗證圖示。
按一下圖示即可顯示詳細資訊。
API 的驗證結果
在大多數情況下,您都將使用 Dialogflow 主控台來查看驗證結果。不過,您也可以透過 API 存取這些資料。
REST
對Agents
類型呼叫 getValidationResult
方法。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
HTTP 方法和網址:
GET https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/validationResult?languageCode=en
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "validationErrors": [ { "severity": "ERROR", "entries": [ "projects/my-project/agent/intents/58b44b2d-4967-4a81-b017-12623dcd5d28/parameters/bf6fdf55-b862-4101-b5b1-36f1423629d0" ], "errorMessage": "Parameter 'test' has an empty value." }, { "severity": "WARNING", "entries": [ "projects/my-project/agent/intents/271e3808-3c91-4e6b-89e8-47951abcec8d" ], "errorMessage": "Intent 'app.current.update' does not have enough unique training phrases. Consider adding more different examples." }, { "severity": "ERROR", "entries": [ "projects/my-project/agent/intents/26e64b1b-eaa7-4ce2-be46-631a501fccbe/trainingPhrases/a650375e-083c-4bb5-9794-ba9453e51282", "projects/my-project/agent/intents/58b44b2d-4967-4a81-b017-12623dcd5d28/trainingPhrases/1d947780-22d3-4f80-8d7a-3f86efbf0be3" ], "errorMessage": "Multiple intents share training phrases which are too similar:\n - Intent 'app.notifications.open': training phrase 'open allo notifications settings'\n - Intent 'app.current.notifications.open': training phrase 'open notifications settings'" }, ] }
嚴重程度狀態
驗證結果可能會顯示下列嚴重程度狀態:
嚴重性 | 說明 |
---|---|
資訊 | 代理程式未遵循最佳做法。 |
警告 | 服務專員可能無法正常運作。 |
ERROR | 代理程式可能會發生部分失敗。 |
重大 | 代理程式可能會完全失敗。 |
SEVERITY_UNSPECIFIED | 不指定。請勿使用這個值。(可透過 API 設定此嚴重程度) |
強制驗證
在執行並完成代理程式訓練後,會自動提供代理程式驗證結果。如欲強制執行新的驗證結果,您可以停用自動驗證功能,並以手動方式觸發。請參閱主控台上的代理程式「ML settings」(機器學習設定) 頁面。
處理多個問題
如果發現大量問題,請考慮下列事項:
- 分批修正問題。 如果類似問題很多,重新訓練代理程式後,修正一個問題可能就能解決類似問題。
- 一次最多顯示 5,000 個問題。 如果問題超過 5000 個,可能要等到問題數量少於 5000 個,系統才會減少計數。