调用端点 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

调用端点

当端点运行后,使用 SageMaker Runtime 服务中的 SageMaker Runtime InvokeEndpoint API,向该端点发送请求或调用该端点。作为响应,SageMaker Clarify 解释器会将这些请求作为解释能力请求进行处理。

注意

要调用端点,请选择以下选项之一:

  • 有关使用 Boto3 或 Amazon CLI 调用端点的说明,请参阅实时端点

  • 要使用 SageMaker SDK for Python 调用端点,请参阅 Predictor API。

请求

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 在线解释能力

响应

如果使用 ExplainerConfig 创建端点,则使用新的响应架构。这个新的架构与缺少提供的 ExplainerConfig 参数的端点不同,并且不兼容。

响应的 MIME 类型为 application/json,响应负载可以从 UTF-8 字节解码为 JSON 对象。此 JSON 对象的成员如下所示:

  • version:字符串格式的响应架构版本。例如,1.0

  • predictions:该请求做出的预测如下:

    • content_type:预测的 MIME 类型,指的是模型容器响应的 ContentType

    • data:作为请求模型容器响应的负载进行传递的预测数据字符串。

  • label_headersLabelHeaders 参数中的标签标头。这在解释器配置或模型容器输出中提供。

  • explanations:请求负载中提供的解释。如果没有解释任何记录,则此成员返回空对象 {}

    • kernel_shap:一个键,该键引用请求中每个记录的 Kernel SHAP 解释数组。如果没有对某个记录做出解释,则相应的解释是 null

kernel_shap 元素具有以下成员:

  • feature_header:解释器配置 ExplainerConfig 中的 FeatureHeaders 参数提供的特征的标头名称。

  • feature_type:由解释器推断的特征类型,或者在 ExplainerConfig 中的 FeatureTypes 参数提供的特征类型。此元素仅适用于 NLP 解释能力问题。

  • attributions:一个归因对象数组。文本特征可以有多个归因对象,每个对象用于一个单元。归因对象具有以下成员:

    • attribution:为每个分类给出的概率值列表。

    • description:文本单元的描述,仅适用于 NLP 解释能力问题。

      • partial_text:解释器做出解释的文本部分。

      • start_idx:从零开始的索引,用于标识部分文本片段开头的数组位置。