

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エンドポイントの呼び出し
<a name="clarify-online-explainability-invoke-endpoint"></a>

エンドポイントが実行されたら、SageMaker AI ランタイムサービスの SageMaker AI ランタイム [InvokeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) API を使用して、エンドポイントにリクエストを送信したり、エンドポイントを呼び出したりします。それに応じて、リクエストは SageMaker Clarify 説明機能によって説明可能性リクエストとして処理されます。

**注記**  
エンドポイントを呼び出すには、次のオプションのいずれかを選択します。  
Boto3 または を使用してエンドポイントを AWS CLI 呼び出す手順については、「」を参照してください[リアルタイム推論用のモデルを呼び出す](realtime-endpoints-test-endpoints.md)。
SageMaker SDK for Python を使用してエンドポイントを呼び出すには、「[予想子](https://sagemaker.readthedocs.io/en/stable/api/inference/predictors.html) API」を参照してください。

## リクエスト
<a name="clarify-online-explainability-request"></a>

`InvokeEndpoint` API にはオプションパラメータ `X-Amzn-SageMaker-Enable-Explanations` があり、HTTP ヘッダー `EnableExplanations` にマッピングされています。このパラメータを指定すると、`ClarifyExplainerConfig` の `EnableExplanations` のパラメータが上書きされます。

**注記**  
`InvokeEndpoint` API の `ContentType` パラメータと `Accept` パラメータは必須です。サポートされている形式には、MIME タイプ `text/csv` と `application/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` パラメータを渡して、エンドポイントでどのモデルをターゲットにするかを指定します。マルチモデルエンドポイントは、必要に応じてターゲットモデルを動的にロードします。マルチモデルエンドポイントの詳細については、「[マルチモデルエンドポイント](multi-model-endpoints.md)」を参照してください。単一のエンドポイントから複数のターゲットモデルを設定して呼び出す方法の例については、「[マルチモデルエンドポイントの SageMaker Clarify オンライン説明可能性サンプルノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-clarify/online_explainability/tabular_multi_model_endpoint/multi_model_xgboost_with_online_explainability.ipynb)」を参照してください。

## 応答
<a name="clarify-online-explainability-response"></a>

エンドポイントが `ExplainerConfig` で作成された場合、新しいレスポンススキーマが使用されます。この新しいスキーマは、指定された `ExplainerConfig` パラメータがないエンドポイントとは異なり、互換性がありません。

レスポンスの MIME タイプは `application/json` で、レスポンスペイロードは UTF-8 バイトから JSON オブジェクトにデコードできます。この JSON オブジェクトのメンバーを次に示します。
+ `version`: 文字列形式のレスポンススキーマのバージョン。例えば、`1.0`。
+ `predictions`: リクエストが行う予測は以下のとおりです。
  + `content_type`: モデルコンテナレスポンスの `ContentType` を参照した、予測の MIME タイプ。
  + `data`: リクエストに対するモデルコンテナレスポンスのペイロードとして配信される予測データ文字列。
+ `label_headers`: `LabelHeaders` パラメータのラベルヘッダー。これは説明機能の設定またはモデルコンテナ出力で提供されます。
+ `explanations`: リクエストペイロードで提供される説明。レコードが説明されていない場合、このメンバーは空のオブジェクト `{}` を返します。
+ 
  + `kernel_shap`: リクエスト内にある各レコードのカーネル SHAP 説明の配列を参照するキー。レコードが説明されていない場合、対応する説明は `null` です。

`kernel_shap` 要素には以下のメンバーがあります。
+ `feature_header`: 説明機能設定 `ExplainerConfig` の `FeatureHeaders` パラメータで提供される特徴量のヘッダー名。
+ `feature_type`: 説明機能が推測した、または `ExplainerConfig` の `FeatureTypes` パラメータで提供された特徴量タイプ。この要素は NLP の説明可能性問題でのみ使用できます。
+ `attributions`: 属性オブジェクトの配列。テキスト特徴量には、それぞれ 1 つの単位に対応する複数の属性オブジェクトを含めることができます。属性オブジェクトには以下のメンバーがあります。
  + `attribution`: クラスごとに指定された確率値のリスト。
  + `description`: NLP の説明可能性問題にのみ使用できるテキスト単位の説明。
    + `partial_text`: 説明機能が説明したテキストの部分。
    + `start_idx`: 部分的テキストフラグメントの先頭の配列位置を識別するゼロベースのインデックス。