SuperAPI AI 工具集

model-deployment

部署与运维

查看项目

更新于 10-15 12:00

技能介绍

用途

Model Deployment 技能用于为通过 SageMaker Serverless Model Customization 微调的模型生成部署代码,将其部署到 SageMaker 端点或 Bedrock。技能会根据模型特征识别正确的部署路径,并生成对应的部署代码。

适用范围

该技能仅支持部署通过 SageMaker Serverless Model Customization 微调的 Nova 和 OSS 模型。

不支持以下情况:

  • 基础模型(未经微调)
  • 通过其他流程微调的模型
  • 全量微调(FFT)——仅支持 LoRA 微调模型

前置条件

SDK 环境已验证(SDK 版本、区域、执行角色)。如果尚未完成,需先激活 sdk-getting-started 技能。

工作原则

  • 一次只做一件事:每次回复只推进一个决策。
  • 继续前先确认:等待用户同意后再继续,但不要重复询问对话中已回答的问题。
  • 需要时才读取文件:仅在路径确认后才读取路径参考文件。
  • 利用已知信息:如果对话历史或产物已能回答某问题,确认理解而非再次询问。

工作流程

步骤 1:识别训练任务

需要训练任务名称或 ARN。先检查对话历史,用户可能已提及,或可从工作流早期步骤(如微调)获取。如果没有,则询问用户。

获取训练任务名称或 ARN 后,使用 AWS MCP 工具查询:

使用 AWS MCP 工具 describe-training-job,提取:

  • S3 输出路径(来自 ModelArtifacts.S3ModelArtifacts 或 OutputDataConfig.S3OutputPath)
  • IAM 角色 ARN(来自 RoleArn)
  • 区域

使用 AWS MCP 工具 list-tags 查询训练任务 ARN,提取:

  • 从 sagemaker-studio:jumpstart-model-id 标签获取模型 ID

根据模型 ID 判断模型类型:

  • 包含 "nova"(nova-micro、nova-lite、nova-pro)→ Nova
  • Llama、Mistral、Qwen、GPT-OSS、DeepSeek 等 → OSS

不支持的模型:该技能仅支持通过 SageMaker Serverless Model Customization 进行 LoRA 微调的 OSS 和 Nova 模型。如果模型不匹配,告知用户该技能无法处理,并建议使用 finetuning 技能。

步骤 2:确定可用的部署目标

使用下表:

模型类型 可用目标
OSS SageMaker、Bedrock
Nova SageMaker、Bedrock

如果只有一个目标可用,与用户确认。使用步骤 5 的详细信息。

如果有多个目标可用,帮助用户决定。使用步骤 5 的详细信息。

如果没有可用目标,告知用户并解释原因。

步骤 3:让用户选择部署目标

向用户展示可用选项。如果 SageMaker 和 Bedrock 都可用,展示以下详细信息帮助用户决定:

SageMaker 端点:

  • 专用计算资源,性能一致
  • 可控制实例类型和扩缩容
  • 最适合具有特定延迟要求的可预测工作负载

Bedrock:

  • 全托管无服务器推理
  • 即时自动扩缩容,无需容量规划
  • 按请求付费
  • 最适合需求波动的可变工作负载

不要给出推荐。让用户自行选择。

除非用户询问,否则不要提及合并/未合并权重、参考文件或 API 等技术细节。

⏸ 等待用户选择部署选项。

步骤 4:展示许可协议

在继续部署之前,向用户展示模型的许可或服务条款。

读取 references/model-licenses.md,根据模型 ID(在步骤 1 中确定)查找模型。

按照 Notes 列中的说明操作——使用提供的准确措辞。

如果在表中找不到模型 ID,警告用户无法找到其模型的许可信息,并建议在继续之前独立核实许可。

⏸ 等待用户确认后再继续。

步骤 5:遵循路径工作流

读取所选路径的参考文件并遵循其说明。

模型类型 部署目标 参考文件
OSS SageMaker references/deploy-oss-sagemaker.md
OSS Bedrock references/deploy-oss-bedrock.md
Nova SageMaker references/deploy-nova-sagemaker.md
Nova Bedrock references/deploy-nova-bedrock.md

步骤 6:部署后总结

部署完成后,向用户提供总结。使用步骤 5 中所遵循路径参考文档的详细信息,涵盖以下主题:

  • 部署了什么——端点或模型名称、ARN、状态
  • 如何使用——针对特定部署目标的示例调用代码
  • 费用——计费模式(基于实例 vs. 按请求付费)及预期
  • 清理——完成后如何删除端点或模型

故障排除

如何检查模型是 LoRA 还是 FFT 微调:

如果部署意外失败,模型可能是全量微调(FFT)而非 LoRA。要检查,请从训练任务的 S3 输出路径下载 hydra 配置,位于 .hydra/config.yaml:

  • peft_config 已填充(r、alpha、dropout 等)→ LoRA(支持)
  • peft_config: null → FFT(该技能不支持)