

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

# 调用端点
<a name="canvas-deploy-model-invoke"></a>

**注意**  
我们建议您先[在 Amazon SageMaker Canvas 中测试您的模型部署](canvas-deploy-model-test.md)，然后再以编程方式调用 A SageMaker I 终端节点。

您可以将已部署到生产环境中的 SageMaker 人工智能终端节点的 Amazon C SageMaker anvas 模型与应用程序配合使用。以编程方式调用终端节点，方法与调用任何其他 [SageMaker AI 实时端点](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)相同。以编程方式调用端点会返回一个响应对象，其中包含 [测试部署](canvas-deploy-model-test.md) 中描述的相同字段。

有关如何以编程方式调用端点的更多详细信息，请参阅[调用模型进行实时推理](realtime-endpoints-test-endpoints.md)。

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

## JumpStart 基础模型
<a name="canvas-invoke-js-example"></a>

以下示例说明如何调用已部署到终端节点 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"
)
```

## 数值和分类预测模型
<a name="canvas-invoke-tabular-example"></a>

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

```
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"
)
```

## 时间序列预测模型
<a name="canvas-invoke-forecast-example"></a>

下面的示例显示了如何调用时间序列预测模型。有关如何测试调用时间序列预测模型的完整示例，请参阅[使用 Amazon A SageMaker utopilot 进行时间序列预测](https://github.com/aws/amazon-sagemaker-examples/blob/eef13dae197a6e588a8bc111aba3244f99ee0fbb/autopilot/autopilot_time_series.ipynb)。

```
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"
)
```

## 图像预测模型
<a name="canvas-invoke-cv-example"></a>

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

```
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"
    )
```

## 文本预测模型
<a name="canvas-invoke-nlp-example"></a>

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

```
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"
)
```