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

如何在AWS Sagemaker中通过Flask部署基于CSV预计算结果的自定义模型端点

针对SageMaker预计算CSV结果部署端点的解决方案

核心结论

  • 可以创建基于预计算CSV文件提供查询结果的SageMaker模型端点,无需依赖sklearn/TensorFlow/PyTorch等主流框架
  • 完全支持通过Flask应用在SageMaker中实现该需求,可选择轻量脚本模式或自定义容器两种路径落地

具体实现方案

方案1:轻量无框架实现(无需额外封装Flask)

直接使用SageMaker官方提供的通用Python容器,仅需编写推理脚本即可完成部署,步骤如下:

  1. 将生成的结果CSV文件上传到S3存储桶,记录存储路径如s3://<你的桶名>/<路径>/result.csv
  2. 编写推理脚本inference.py,实现4个核心函数即可:
    • model_fn(model_dir):从容器内的模型目录读取CSV文件,转换为以id为键、对应结果为值的字典加载到内存,避免每次请求重读文件
    • input_fn(request_body, request_content_type):解析请求传入的id参数,支持JSON/表单等多种请求格式
    • predict_fn(input_data, model):根据传入的id从预加载的结果字典中查询对应值
    • output_fn(prediction, accept):将查询结果转换为请求要求的返回格式(如JSON、CSV)
  3. 使用SageMaker的PyTorchModel/SKLearnModel(仅用其容器,不需要用到对应框架)或者通用的Model类关联S3的CSV文件和推理脚本,直接部署端点即可

方案2:Flask自定义容器实现方案

如果需要完全自定义服务逻辑,可以自行封装Flask容器部署,满足SageMaker的容器规范即可:

  1. 编写Flask应用,必须满足两个路由要求:
    • 实现GET /ping接口:返回200状态码,用于SageMaker做服务健康检查
    • 实现POST /invocations接口:接收请求中的id参数,查询CSV对应结果后返回
  2. 容器配置要求:
    • Flask服务监听0.0.0.0的8080端口
    • 可以将CSV直接打包到容器镜像,也可以在容器启动时从S3下载到本地
  3. 将构建好的容器镜像推送到Amazon ECR,之后按照SageMaker自定义模型的部署流程创建模型、端点配置、运行端点即可

注意事项

  • 若结果CSV体积超过1G,建议提前转换为序列化字典或者Parquet格式存储,降低内存占用、提升加载速度
  • 高并发场景建议配置合适的实例规格,或者开启端点自动扩缩容保障可用性
  • CSV结果有更新需求时,可以直接更新端点关联的模型文件,无需重建整套服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:54:05