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

SageMaker自定义推理容器部署报No module named 'model_handler'错误

报错根因与修复方案

ModuleNotFoundError: No module named 'model_handler' 核心是Python模块搜索路径缺失、handler入口配置错误、类定义逻辑错误三类问题,按以下步骤逐一修复即可:

1. 修正入口文件配置

在入口文件中新增Python搜索路径添加逻辑,同时补全handler服务的入口类指向,修改后代码如下:

import sys
import os
# 将当前文件所在目录加入Python模块搜索路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from sagemaker_inference import model_server
# 格式要求:文件路径:入口类名,使用绝对路径可避免路径匹配异常
HANDLER_SERVICE = "/home/model-server/model_handler.py:ModelHandler"
model_server.start_model_server(handler_service=HANDLER_SERVICE)

2. 修正model_handler.py类继承逻辑

原代码中super调用传入了不存在的类名HandlerService,需修正为实际定义的类名ModelHandler:

from sagemaker_inference.default_handler_service import DefaultHandlerService
from sagemaker_inference.transformer import Transformer
from CustomHandler import CustomHandler


class ModelHandler(DefaultHandlerService):
    def __init__(self):
        transformer = Transformer(default_inference_handler=CustomHandler())
        super(ModelHandler, self).__init__(transformer=transformer)

3. 修复CustomHandler.py潜在报错

原代码存在未定义变量all_item1、all_item2、process_item1、process_item2,需补充对应变量初始化、自定义处理函数的实现;同时建议补充非application/json格式请求的异常处理逻辑,避免后续部署触发新报错。

4. 确认Dockerfile配置正确

构建镜像时需确保所有业务代码文件被复制到对应路径,且工作目录配置正确,Dockerfile参考配置片段如下:

# 复制所有代码文件到model server工作目录
COPY serve.py /home/model-server/
COPY model_handler.py /home/model-server/
COPY CustomHandler.py /home/model-server/
# 设置工作目录
WORKDIR /home/model-server
# 赋予入口文件执行权限
RUN chmod +x /home/model-server/serve.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:54:03