

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `EnableExplanations` 運算式
<a name="clarify-online-explainability-create-endpoint-enable"></a>

`EnableExplanations` 參數為[https://jmespath.org/](https://jmespath.org/)布林值運算式字串。它針對可解釋性請求的**每筆記錄**進行評估。如果此參數被評估為 **true**，則記錄將被解釋。如果此參數被評估為 **false**，則不會產生解釋。

SageMaker Clarify 會將每筆記錄的模型容器輸出還原序列化為 JSON 相容資料結構，然後使用 `EnableExplanations` 參數來評估資料。

**備註**  
根據模型容器輸出的格式，記錄有兩個選項。  
如果模型容器輸出為 CSV 格式，則會將記錄載入為 JSON 陣列。
如果模型容器輸出為 JSON Lines 格式，則會將記錄載入為 JSON 物件。

`EnableExplanations` 參數是可以在 `InvokeEndpoint` 或 `CreateEndpointConfig` 作業期間傳遞的 JMESPath 運算式。如果您提供的 JMESPath 運算式無效，則端點建立將會失敗。如果運算式有效，但運算式評估結果未預期，則會成功建立端點，但在調用端點時會產生錯誤。使用 `InvokeEndpoint` API 測試 `EnableExplanations` 運算式，然後將其套用至端點組態。

以下是有效 `EnableExplanations` 運算式的一些範例。在這些範例中，JMESPath 運算式會使用反引號字元將常值括起來。例如，``true`` 表示 true。


| 運算式 (字串表示) | 模型容器輸出 (字串表示) | 評估結果 (布林值) | 意義 | 
| --- | --- | --- | --- | 
| '`true`' | (N/A) | True | 無條件啟動線上可解釋性。 | 
| '`false`' | (N/A) | False | 無條件停用線上可解釋性。 | 
| '[1]>`0.5`' | '1,0.6' | True | 對於每筆記錄，模型容器輸出其預測的標籤和機率。如果記錄的機率 (索引 1) 大於 0.5，則解釋該記錄。 | 
| '機率 >`0.5`' | '{"predicted\_label":1,"probability":0.6}' | True | 對於每筆記錄，模型容器都會輸出 JSON 資料。如果一筆記錄的機率大於 0.5，則對其進行解釋。 | 
| '\!contains(probabilities[:-1], max(probabilities))' | '{"probabilities": [0.4, 0.1, 0.4], "labels":["cat","dog","fish"]}' | False | 對於多類別模型：如果記錄的預測標籤 (具有最大機率值的類別) 是最後一個類別，則解釋該記錄。從字面上看，該運算式意味著最大機率值不在機率清單中 (除了最後一個)。 | 