調用端點 - Amazon SageMaker

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

調用端點

端點執行後,請使用執行 SageMaker 階段服務中的 SageMaker 執行階段 InvokeEndpointAPI 將要求傳送至端點,或叫用端點。作為回應,這些請求被 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 釐清多模型端點範例筆記本上的線上解釋」。

回應

如果使用 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: 從零開始的索引,用於標識部分文字片段開頭的陣列位置。