옵션
집 Skill DevOps 및 CI/CD deploy-model

deploy-model

microsoft/skills microsoft/skills

지능형 의도 기반 라우팅 기능을 갖춘 Azure OpenAI 모델 배포를 생성하며, 빠른 사전 설정, 완전한 사용자 지정, 그리고 리전 및 프로젝트 전반에 걸친 용량 탐색을 지원합니다.

...모든 것을 확장하십시오
1
업데이트 된 시간 2026년 9월 18일

모델 배포

범위 — 먼저 이 내용을 읽어보세요. 이 스킬은 Azure CLI/MCP/포털을 통해 아웃오브밴드 방식으로 모델 배포를 생성합니다. azd가 관리하는 Foundry 프로젝트( azd-ai-starter-basic을 사용하여 스캐폴딩되었거나 azd ai agent init을 통해 생성된 프로젝트)의 경우, azure.yaml의 services 섹션에서 배포를 선언해야 합니다 .. config.deployments[] 대신 — azd ai agent init는 샘플 매니페스트의 항목을 작성하고, azd provision은 Bicep을 통해 배포를 생성합니다. 권장 절차(Golden Path)에 대해서는 foundry-agent/create/create-hosted.md를 참조하십시오. 이 기능은 다음의 경우에만 사용하십시오: (a) azd 프로젝트로 관리되지 않는 Foundry 프로젝트, (b) azd 라이프사이클 외부의 임시 배포.

모든 Azure OpenAI 모델 배포 워크플로를 위한 통합 진입점입니다. 사용자의 의도를 분석하여 적절한 배포 모드로 안내합니다.

간편 참조

모드 사용 시점 하위 스킬
사전 설정 빠른 배포, 사용자 정의 불필요 preset/SKILL.md
사용자 정의 완전한 제어: 버전, SKU, 용량, RAI 정책 customize/SKILL.md
용량 탐색 특정 용량을 갖춘 배포 가능 위치 찾기 capacity/SKILL.md

의도 감지

사용자의 프롬프트를 분석하여 올바른 모드로 라우팅합니다:

사용자 프롬프트
    │
    ├─ 단순 배포 (수식어 없음)
    │  "deploy gpt-4o", "set up a model"
    │  └─> PRESET 모드
    │
    ├─ 사용자 지정 키워드 포함
    │  "사용자 지정 설정", "버전 선택", "SKU 선택",
    │  "용량을 X로 설정", "콘텐츠 필터 구성",
    │  "PTU 배포", "특정 할당량 적용"
    │  └─> 사용자 지정(CUSTOMIZE) 모드
    │
    ├─ 용량/가용성 조회
    │  "배포 가능한 지역 찾기", "용량 확인",
    │  "X 용량을 가진 리전은 어디인가", "10K TPM에 가장 적합한 리전",
    │  "이 모델은 어디에서 사용할 수 있는가"
    │  └─> 용량 탐색(CAPACITY DISCOVERY) 모드
    │
    └─ 모호한 경우 (용량 목표 + 배포 의도 포함)
       "최적의 리전에 10K 용량의 gpt-4o 배포"
       └─> 먼저 용량 탐색 → 그 다음 사전 설정 또는 사용자 정의

라우팅 규칙

프롬프트 내 신호 전송 대상 이유
모델 이름만 있고 옵션 없음 사전 설정 사용자가 신속한 배포를 원함
"사용자 지정", "구성", "선택", "지정" 사용자 지정 사용자가 직접 제어하기를 원함
"찾기", "확인", "어디", "어느 지역", "사용 가능" 용량 사용자는 탐색을 원함
구체적인 용량 수치 + "최적의 지역" 용량 → 사전 설정 탐지 후 신속한 배포
구체적인 용량 수치 + “사용자 지정” 키워드 용량 → 사용자 정의 탐지 후 옵션을 사용하여 배포
"PTU", "프로비저닝된 처리량" 사용자 지정 PTU를 사용하려면 SKU를 선택해야 함
"최적 리전", "최적 리전"(용량 목표 없음) 사전 설정 리전 최적화는 사전 설정의 특장점입니다

다중 모드 연쇄

일부 프롬프트는 두 가지 모드를 순차적으로 요구합니다:

패턴: 용량 → 배포 사용자가 용량 요구 사항을 지정하고 동시에 배포를 원하는 경우:

  1. 용량 탐색을 실행하여 충분한 할당량이 있는 리전/프로젝트를 찾습니다
  2. 결과를 사용자에게 제시
  3. " 빠른 기본값으로 배포하시겠습니까, 아니면 설정을 사용자 지정하시겠습니까?"라고 묻습니다
  4. 답변에 따라 ‘사전 설정 ’ 또는 ‘사용자 지정 ’으로 안내

💡 팁: 사용자가 어떤 모드를 원하는지 확실하지 않은 경우, 기본적으로 사전 설정 (빠른 배포)으로 설정합니다. 맞춤 설정을 원하는 사용자는 일반적으로 “custom”, “configure” 또는 “with specific settings”와 같은 명확한 키워드를 사용합니다.

프로젝트 선택 (모든 모드)

배포를 진행하기 전에, 어떤 프로젝트에 배포할지 결정해야 합니다. 이는 모든 모드(사전 설정, 사용자 지정, 용량 탐색 후)에 적용됩니다.

결정 순서

  1. PROJECT_RESOURCE_ID 환경 변수 확인 — 설정되어 있으면 이를 기본값으로 사용
  2. 사용자 입력 확인 — 사용자가 특정 프로젝트나 리전을 지정한 경우, 이를 사용합니다
  3. 둘 다 해당되지 않을 경우 — 사용자의 프로젝트를 조회하여 현재 프로젝트를 제안합니다

확인 단계(필수)

배포 전에 항상 대상을 확인하십시오. 사용자에게 어떤 항목이 사용될지 표시하고, 이를 변경할 기회를 제공하십시오:

배포 대상:
  프로젝트:  
  리전:   
  리소스: 

이 정보가 맞습니까? 아니면 다른 프로젝트를 선택하세요:
  1. ✅ 예, 여기에 배포 (기본값)
  2. 📋 이 리전의 다른 프로젝트 보기
  3. 🌍 다른 리전 선택

사용자가 옵션 2를 선택하면, 해당 리전의 상위 5개 프로젝트를 표시합니다:

  의 프로젝트:
  1. project-alpha (rg-alpha)
  2. project-beta (rg-beta)
  3. project-gamma (rg-gamma)
  ...

⚠️ 사용자에게 어떤 프로젝트가 사용될지 알려주지 않고는 절대 배포하지 마십시오. 이는 잘못된 리소스로의 실수 인한 배포를 방지합니다.

배포 전 유효성 검사 (모든 모드)

배포 옵션(SKU, 용량)을 제시하기 전에, 다음 두 가지를 항상 검증해야 합니다:

  1. 모델이 해당 SKU를 지원하는지 확인 — 모델 카탈로그를 조회하여 선택한 모델 및 버전이 대상 SKU를 지원하는지 확인하십시오:

    az cognitiveservices model list --location  --subscription  -o json
    

    모델을 필터링하고, .model.skus[].name을 추출하여 지원되는 SKU를 확인합니다.

  2. 구독에 사용 가능한 할당량이 있는지 확인 — 사용자의 구독에 해당 SKU+모델 조합에 대해 할당되지 않은 할당량이 있는지 확인하십시오:

    az cognitiveservices usage list --location  --subscription  -o json
    

    사용량 이름 패턴 OpenAI.. (예: OpenAI.GlobalStandard.gpt-4o)에 따라 일치시킵니다. 사용 가능량 = 한도 - 현재값입니다.

⚠️ 경고: 두 가지 검사를 모두 통과한 옵션만 표시하십시오. 하드코딩된 SKU 목록은 표시하지 마십시오 — 항상 동적으로 쿼리하십시오. 사용 가능한 할당량이 0인 SKU는 선택 가능한 옵션이 아닌 ❌ 정보 항목으로 표시되어야 합니다.

💡 할당량 관리: 할당량 증액 요청, 사용량 모니터링 및 할당량 오류 해결에 대해서는 해당 지침을 본문에 중복 기재하지 말고 할당량 관련 스킬을 참조하십시오.

필수 조건

모든 배포 모드에는 다음이 필요합니다.

  • Azure CLI 설치 및 인증 완료 (az login)
  • 배포 권한이 있는 활성 Azure 구독
  • Azure AI Foundry 프로젝트 리소스 ID(없을 경우 에이전트가 PROJECT_RESOURCE_ID 환경 변수를 통해 이를 자동으로 탐지합니다)

하위 스킬

  • preset/SKILL.md — 합리적인 기본값을 사용하여 최적의 리전에 빠르게 배포
  • customize/SKILL.md — 전체 구성 제어 기능을 갖춘 대화형 안내 흐름
  • capacity/SKILL.md — 리전 및 프로젝트 전반에 걸쳐 사용 가능한 용량 확인
GitHub에서 보기
---
name: deploy-model
description: Creates Azure OpenAI model deployments with intelligent intent-based routing, supporting quick presets, full customization, and capacity discovery across regions and projects.
license: MIT
---

# Deploy Model

> **Scope — read this first.** This skill creates model deployments **out-of-band** via Azure CLI / MCP / portal. For azd-managed Foundry projects (those scaffolded from `azd-ai-starter-basic` or via `azd ai agent init`), declare deployments in `azure.yaml services.<name>.config.deployments[]` instead — `azd ai agent init` writes the entry from the sample manifest and `azd provision` creates the deployment through Bicep. See [foundry-agent/create/create-hosted.md](../../foundry-agent/create/create-hosted.md) for the Golden Path. Use this skill only for: (a) Foundry projects not managed by an azd project, (b) ad-hoc deployments outside the azd lifecycle.

Unified entry point for all Azure OpenAI model deployment workflows. Analyzes user intent and routes to the appropriate deployment mode.

## Quick Reference

| Mode | When to Use | Sub-Skill |
|------|-------------|-----------|
| **Preset** | Quick deployment, no customization needed | [preset/SKILL.md](preset/SKILL.md) |
| **Customize** | Full control: version, SKU, capacity, RAI policy | [customize/SKILL.md](customize/SKILL.md) |
| **Capacity Discovery** | Find where you can deploy with specific capacity | [capacity/SKILL.md](capacity/SKILL.md) |

## Intent Detection

Analyze the user's prompt and route to the correct mode:

```
User Prompt
    │
    ├─ Simple deployment (no modifiers)
    │  "deploy gpt-4o", "set up a model"
    │  └─> PRESET mode
    │
    ├─ Customization keywords present
    │  "custom settings", "choose version", "select SKU",
    │  "set capacity to X", "configure content filter",
    │  "PTU deployment", "with specific quota"
    │  └─> CUSTOMIZE mode
    │
    ├─ Capacity/availability query
    │  "find where I can deploy", "check capacity",
    │  "which region has X capacity", "best region for 10K TPM",
    │  "where is this model available"
    │  └─> CAPACITY DISCOVERY mode
    │
    └─ Ambiguous (has capacity target + deploy intent)
       "deploy gpt-4o with 10K capacity to best region"
       └─> CAPACITY DISCOVERY first → then PRESET or CUSTOMIZE
```

### Routing Rules

| Signal in Prompt | Route To | Reason |
|------------------|----------|--------|
| Just model name, no options | **Preset** | User wants quick deployment |
| "custom", "configure", "choose", "select" | **Customize** | User wants control |
| "find", "check", "where", "which region", "available" | **Capacity** | User wants discovery |
| Specific capacity number + "best region" | **Capacity → Preset** | Discover then deploy quickly |
| Specific capacity number + "custom" keywords | **Capacity → Customize** | Discover then deploy with options |
| "PTU", "provisioned throughput" | **Customize** | PTU requires SKU selection |
| "optimal region", "best region" (no capacity target) | **Preset** | Region optimization is preset's specialty |

### Multi-Mode Chaining

Some prompts require two modes in sequence:

**Pattern: Capacity → Deploy**
When a user specifies a capacity requirement AND wants deployment:
1. Run **Capacity Discovery** to find regions/projects with sufficient quota
2. Present findings to user
3. Ask: "Would you like to deploy with **quick defaults** or **customize settings**?"
4. Route to **Preset** or **Customize** based on answer

> 💡 **Tip:** If unsure which mode the user wants, default to **Preset** (quick deployment). Users who want customization will typically use explicit keywords like "custom", "configure", or "with specific settings".

## Project Selection (All Modes)

Before any deployment, resolve which project to deploy to. This applies to **all** modes (preset, customize, and after capacity discovery).

### Resolution Order

1. **Check `PROJECT_RESOURCE_ID` env var** — if set, use it as the default
2. **Check user prompt** — if user named a specific project or region, use that
3. **If neither** — query the user's projects and suggest the current one

### Confirmation Step (Required)

**Always confirm the target before deploying.** Show the user what will be used and give them a chance to change it:

```
Deploying to:
  Project:  <project-name>
  Region:   <region>
  Resource: <resource-group>

Is this correct? Or choose a different project:
  1. ✅ Yes, deploy here (default)
  2. 📋 Show me other projects in this region
  3. 🌍 Choose a different region
```

If user picks option 2, show top 5 projects in that region:

```
Projects in <region>:
  1. project-alpha (rg-alpha)
  2. project-beta (rg-beta)
  3. project-gamma (rg-gamma)
  ...
```

> ⚠️ **Never deploy without showing the user which project will be used.** This prevents accidental deployments to the wrong resource.

## Pre-Deployment Validation (All Modes)

Before presenting any deployment options (SKU, capacity), always validate both of these:

1. **Model supports the SKU** — query the model catalog to confirm the selected model+version supports the target SKU:
   ```bash
   az cognitiveservices model list --location <region> --subscription <sub-id> -o json
   ```
   Filter for the model, extract `.model.skus[].name` to get supported SKUs.

2. **Subscription has available quota** — check that the user's subscription has unallocated quota for the SKU+model combination:
   ```bash
   az cognitiveservices usage list --location <region> --subscription <sub-id> -o json
   ```
   Match by usage name pattern `OpenAI.<SKU>.<model-name>` (e.g., `OpenAI.GlobalStandard.gpt-4o`). Compute `available = limit - currentValue`.

> ⚠️ **Warning:** Only present options that pass both checks. Do NOT show hardcoded SKU lists — always query dynamically. SKUs with 0 available quota should be shown as ❌ informational items, not selectable options.

> 💡 **Quota management:** For quota increase requests, usage monitoring, and troubleshooting quota errors, defer to the [quota skill](../../quota/quota.md) instead of duplicating that guidance inline.

## Prerequisites

All deployment modes require:
- Azure CLI installed and authenticated (`az login`)
- Active Azure subscription with deployment permissions
- Azure AI Foundry project resource ID (or agent will help discover it via `PROJECT_RESOURCE_ID` env var)

## Sub-Skills

- **[preset/SKILL.md](preset/SKILL.md)** — Quick deployment to optimal region with sensible defaults
- **[customize/SKILL.md](customize/SKILL.md)** — Interactive guided flow with full configuration control
- **[capacity/SKILL.md](capacity/SKILL.md)** — Discover available capacity across regions and projects

모든 파일

0개 파일

deploy-model 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/azure-skills/skills/microsoft-foundry/models/deploy-model # Copy SKILL.md to your .claude/skills/ directory

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하세요. Claude가 해당 스킬을 자동으로 감지하여 사용할 것입니다.
저장소 microsoft/skills

관련 스킬

Verification &amp; Quality Assurance
업데이트 된 시간 2026년 6월 29일
base44-cli
업데이트 된 시간 2026년 6월 29일
klingai-upgrade-migration
업데이트 된 시간 2026년 7월 3일
Railway CLI Management
업데이트 된 시간 2026년 7월 2일
OR