調用端點 - Amazon SageMaker

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

調用端點

端點執行後,請在 SageMaker 執行期服務InvokeEndpoint API中使用 SageMaker 執行期將請求傳送至或叫用端點。為了回應,Clarify SageMaker 解釋程式會將請求視為可解釋性請求來處理。

注意

若要調用端點,請選擇下列其中一種選項:

請求

InvokeEndpoint API 有一個選用參數 EnableExplanations,會映射到HTTP標頭 X-Amzn-SageMaker-Enable-Explanations。如果提供此參數,它會覆寫 ClarifyExplainerConfigEnableExplanations 參數。

注意

InvokeEndpoint API 需要 ContentTypeAccept 參數。支援的格式包括MIME類型 text/csvapplication/jsonlines

使用 sagemaker_runtime_client 將請求傳送至端點,如下所示:

response = sagemaker_runtime_client.invoke_endpoint( EndpointName='name-of-your-endpoint', EnableExplanations='`true`', ContentType='text/csv', Accept='text/csv', Body='1,2,3,4', # single record (of four numerical features) )

對於多模型端點,在先前的範例請求中傳遞其他TargetModel參數,以指定要在端點鎖定的模型。多模型端點會視需要動態載入目標模型。如需多模型端點的詳細資訊,請參閱 多模型端點。如需如何從單一端點設定和叫用多個目標模型的範例,請參閱 SageMaker Clarify Online Explainability on Multi-Model Endpoint Sample Notebook

回應

如果使用 ExplainerConfig 建立端點,則會使用新的回應結構描述,此新架構與缺少提供的 ExplainerConfig 參數的端點不同且不相容。

回應的MIME類型為 application/json,且回應承載可以從 UTF-8 位元組解碼至JSON物件。下列顯示此JSON物件的成員如下:

  • version:以字串格式顯示的回應結構描述版本。例如:1.0

  • predictions:請求做出的預測如下:

    • content_type:預測的MIME類型,請參閱模型容器回應ContentType的 。

    • data:作為請求的模型容器回應承載傳遞的預測資料字串。

  • label_headers:來自 LabelHeaders 參數的標籤標題。這在解釋器組態或模型容器輸出所提供。

  • explanations:請求承載提供的解釋。如果沒有解釋任何記錄,則該成員傳回空物件 {}

    • kernel_shap:指請求中每個記錄的核心SHAP說明陣列的金鑰。如果沒有解釋記錄,則相應的解釋為 null

kernel_shap 元素具有下列成員:

  • feature_header:解釋器組態 ExplainerConfigFeatureHeaders 參數提供的特徵的標題名稱。

  • feature_type:由解釋器推斷或在 ExplainerConfig 中的 FeatureTypes 參數提供的特徵類型。此元素僅適用於可NLP解釋性問題。

  • attributions:屬性物件的陣列。文字特徵可以有多個屬性物件,每個屬性物件對應一個單位。屬性物件具有下列成員:

    • attribution:為每個類別提供的機率值清單。

    • description:文字單位的描述,僅適用於可NLP解釋性問題。

      • partial_text:解釋者解釋的文字部分。

      • start_idx:從零開始的索引,用於標識部分文字片段開頭的陣列位置。