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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

调用端点

注意

我们建议您先在 Amazon SageMaker Canvas 中测试您的模型部署,然后再以编程方式调用 SageMaker 终端节点。

您可以将已部署到生产 SageMaker 终端节点的 Amazon SageMaker Canvas 模型与应用程序配合使用。以编程方式调用终端节点,方法与调用任何其他SageMaker 实时端点相同。以编程方式调用端点会返回一个响应对象,该对象包含中描述的相同字段。测试部署

有关如何以编程方式调用端点的更多详细信息,请参阅调用模型进行实时推理

下面的 Python 示例向您展示了如何根据模型类型调用端点。

以下示例说明如何调用已部署到终端节点 JumpStart 的基础模型。

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame( [['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']] ).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

下面的示例展示了如何调用数值或分类预测模型。

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

以下示例向您展示如何调用时间序列预测模型。有关如何测试调用时间序列预测模型的完整示例,请参阅使用 Amazon A SageMaker utopilot 进行时间序列预测

import boto3 import pandas as pd csv_path = './real-time-payload.csv' data = pd.read_csv(csv_path) client = boto3.client("runtime.sagemaker") body = data.to_csv(index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

下面的示例展示了如何调用图像预测模型。

import boto3 client = boto3.client("runtime.sagemaker") with open("example_image.jpg", "rb") as file: body = file.read() response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="application/x-image", Body=body, Accept="application/json" )

下面的示例展示了如何调用文本预测模型。

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )