可以通过 boto3 中的 SageMaker Runtime API 在部署的 Flask Web 服务中进行 SageMaker 推理调用。下面是一个简单的示例:
import boto3
from flask import Flask, request, jsonify
app = Flask(__name__)
sm_client = boto3.client('sagemaker-runtime')
ENDPOINT_NAME = 'your-sagemaker-endpoint-name'
CONTENT_TYPE = 'text/csv'
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_data().decode('utf-8')
response = sm_client.invoke_endpoint(
EndpointName=ENDPOINT_NAME,
ContentType=CONTENT_TYPE,
Body=data,
)
result = response['Body'].read().decode('utf-8')
return jsonify({'result': result})
if __name__ == '__main__':
app.run()
在这个示例中,我们通过 POST 请求向 Flask Web 服务发送数据。服务在收到请求后,会将数据作为输入,利用 SageMaker Runtime API 调用预先部署好的 SageMaker Endpoint,并将结果返回给客户端。