You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SageMaker Autopilot生成Endpoint调用异常问题咨询

解决AWS SageMaker Autopilot Endpoint调用的两个常见错误

咱们先逐个拆解你遇到的问题,然后给出完整的正确调用方法:

错误1:415 Unsupported Content Type

An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (415) from container-1 with message "'application/json' is an unsupported content type."

这个问题的核心是你没指定模型期望的Content-Type。AWS SageMaker Autopilot训练的文本类模型,默认不接受application/json格式的输入,通常期望的是text/plain(单条文本输入)或者text/csv(多特征/批量输入)。

解决方案:

调用命令时添加--content-type参数,指定模型支持的类型。比如如果是单条文本输入,用:

--content-type 'text/plain'

错误2:Invalid base64

Invalid base64: "Im happy!"

这个问题很明确:SageMaker Runtime的invoke-endpoint命令要求--body参数必须是base64编码后的字符串,你直接传入了原始文本,所以触发了编码错误。

解决方案:

先把你的输入文本转成base64编码。在Linux/macOS终端可以用这个命令生成编码结果:

echo -n "I'm happy!" | base64

执行后会得到类似SSdtIGhhcHB5IQ==的字符串,这才是你要传给--body的值。


完整的正确调用命令示例

把上面两个修正点结合起来,最终的调用命令应该是这样的:

aws sagemaker-runtime invoke-endpoint \
    --endpoint-name autopilottest \
    --content-type 'text/plain' \
    --body 'SSdtIGhhcHB5IQ==' \
    output.txt
  • output.txt是存放模型预测结果的文件,你可以换成任意文件名。
  • 如果你的模型需要CSV格式输入(比如包含多个特征列),把--content-type改成text/csv,并将输入整理成CSV格式后再base64编码(比如"feature1,feature2,feature3"转成base64)。

额外验证小技巧

你可以查看Autopilot训练作业的「模型推理规范」,里面会明确标注模型支持的输入Content-Type和数据格式,确保和你传入的参数匹配。

内容的提问来源于stack exchange,提问作者DeadSec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:52:32