mcpField
M
model-deployment

model-deployment

github.com/awslabs云与 DevOps931152 次安装3 周前更新
代码仓库

关于 model-deployment

此技能根据 SageMaker Serverless Model Customization 的 LoRA 微调模型,选择并生成部署路径,支持 Nova 和 OSS 模型。它会检查训练任务信息、呈现 SageMaker 或 Bedrock 选项,并在关键步骤等待用户确认。

主要功能

  1. 01查询训练任务详情和模型类型
  2. 02支持符合条件的 LoRA 微调 Nova 与 OSS 模型
  3. 03引导选择 SageMaker 或 Bedrock
  4. 04部署前展示模型许可条款
  5. 05提供部署摘要与清理指引

适用场景

  1. 01为符合条件的微调模型选择部署目标
  2. 02根据 SageMaker 训练任务信息生成部署流程
  3. 03部署前核查模型支持情况和许可信息

MCP 相关

使用 AWS MCP 工具查询训练任务详情和标签。项目本身未说明提供 MCP 服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/awslabs/agent-plugins --skill model-deployment

安装后在 Claude Code 中输入/model-deployment确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

code_templates/
deploy-nova-bedrock.py
deploy-nova-sagemaker.py
deploy-oss-bedrock.py
deploy-oss-sagemaker.py
references/
code_output_guide.md
deploy-nova-bedrock.md
deploy-nova-sagemaker.md
deploy-oss-bedrock.md
deploy-oss-sagemaker.md
model-licenses.md

详细介绍

模型部署

根据模型特征确定合适的部署路径,并生成部署代码。

范围

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

不支持:

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

先决条件

  • SDK 环境已通过验证(SDK 版本、区域、执行角色)。如果尚未完成,请先启用 sdk-getting-started 技能。

原则

  1. 一次只做一件事。 每次回复只推进一个决策。
  2. 确认后再继续。 等待用户同意后再继续。但不要重复询问对话中已经回答的问题——使用你已掌握的信息。
  3. 需要时再读取文件。 仅在确认部署路径后读取相关参考资料。
  4. 利用已知信息。 如果对话历史或已有材料已经回答了某个问题,请先确认你的理解,而不是再次提问。

工作流

步骤 1:确定训练任务

你需要训练任务名称或 ARN。先检查对话历史——用户可能已经提到过,或可从工作流前面的步骤(例如微调)中获取。如果没有,请询问用户。

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

  1. 使用 AWS MCP 工具 describe-training-job 并提取:
    • S3 输出路径(来自 ModelArtifacts.S3ModelArtifacts 或 OutputDataConfig.S3OutputPath)
    • IAM 角色 ARN(来自 RoleArn)
    • 区域
  2. 使用 AWS MCP 工具对训练任务 ARN 调用 list-tags 并提取:
    • 模型 ID,来自 sagemaker-studio:jumpstart-model-id 标签
  3. 根据模型 ID 确定模型类型:
    • 包含 “nova”(nova-micro、nova-lite、nova-pro)→ Nova
    • Llama、Mistral、Qwen、GPT-OSS、DeepSeek 等 → OSS

不支持的模型: 此技能仅支持通过 SageMaker Serverless Model Customization 进行 LoRA 微调的 OSS 和 Nova 模型。如果模型不符合要求,请告知用户此技能无法提供帮助,并建议使用微调技能。

步骤 2:确定符合条件的部署目标

使用下表:

模型类型符合条件的目标
OSSSageMaker、Bedrock
NovaSageMaker、Bedrock

如果只有一个符合条件的目标,请向用户确认。使用步骤 5 中的详细信息。

如果有多个符合条件的目标,请帮助用户进行选择。使用步骤 5 中的详细信息。

如果没有符合条件的目标,请告知用户并说明原因。

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

向用户展示符合条件的选项。如果 SageMaker 和 Bedrock 都可选,请提供以下详细信息,帮助用户进行选择:

SageMaker 端点:

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

Bedrock:

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

不要提出建议,让用户自行选择。

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

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

步骤 4:显示许可协议

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

  1. 阅读 references/model-licenses.md,并根据模型 ID(在步骤 1 中确定)查找模型。
  2. 遵循 Notes 列中的说明,使用其中提供的确切措辞。
  3. 如果表格中没有找到该模型 ID,告知用户未能找到其模型的许可信息,并建议他们在继续之前自行核实许可。

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

步骤 5:遵循部署路径工作流

阅读所选部署路径的参考文件并遵循其中的说明。

模型类型部署目标参考文件
OSSSageMakerreferences/deploy-oss-sagemaker.md
OSSBedrockreferences/deploy-oss-bedrock.md
NovaSageMakerreferences/deploy-nova-sagemaker.md
NovaBedrockreferences/deploy-nova-bedrock.md
步骤 6:部署后总结

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

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

故障排除

如何检查模型是否经过 LoRA 或 FFT 微调

如果部署意外失败,模型可能经过了完整微调(FFT),而非 LoRA。要进行检查,请从其 S3 输出路径下载训练任务的 hydra 配置文件 .hydra/config.yaml:

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

评论

支持 Markdown