opción
HogarHogar Skill DevOps y CI/CD deploy-model

deploy-model

microsoft/skills microsoft/skills

Crea implementaciones de modelos de Azure OpenAI con enrutamiento inteligente basado en la intención, lo que permite utilizar configuraciones predefinidas rápidas, una personalización completa y la detección de capacidad en todas las regiones y proyectos.

...Expandir todo
1
Tiempo actualizado 18 de septiembre de 2026

Implementar modelo

Ámbito de aplicación: lee esto primero. Esta skill crea implementaciones de modelos fuera de banda a través de la CLI de Azure, MCP o el portal. Para los proyectos de Foundry gestionados por azd (aquellos generados a partir de azd-ai-starter-basic o mediante azd ai agent init), declara las implementaciones en los servicios de azure.yaml..config.deployments[] en su lugar: «azd ai agent init» escribe la entrada a partir del manifiesto de ejemplo y «azd provision» crea la implementación a través de Bicep. Consulte foundry-agent/create/create-hosted.md para conocer la ruta recomendada. Utilice esta habilidad únicamente para: (a) proyectos de Foundry no gestionados por un proyecto azd, (b) implementaciones ad hoc fuera del ciclo de vida de azd.

Punto de entrada unificado para todos los flujos de trabajo de implementación de modelos de Azure OpenAI. Analiza la intención del usuario y lo dirige al modo de implementación adecuado.

Referencia rápida

Modo Cuándo utilizarlo Subhabilidad
Preconfigurado Implementación rápida, no requiere personalización preajuste/SKILL.md
Personalizar Control total: versión, SKU, capacidad, política RAI personalizar/SKILL.md
Detección de capacidad Averigua dónde puedes realizar una implementación con una capacidad específica capacity/SKILL.md

Detección de intenciones

Analiza la solicitud del usuario y dirígelo al modo correcto:

Solicitud del usuario
    │
    ├─ Implementación sencilla (sin modificadores)
    │  «implementar gpt-4o», «configurar un modelo»
    │  └─> modo PRESET
    │
    ├─ Hay palabras clave de personalización
    │  «ajustes personalizados», «elegir versión», «seleccionar SKU»,
    │  «establecer la capacidad en X», «configurar filtro de contenido»,
    │  «implementación de PTU», «con una cuota específica»
    │  └─> modo CUSTOMIZE
    │
    ├─ Consulta de capacidad/disponibilidad
    │  «averiguar dónde puedo implementar», «comprobar la capacidad»,
    │  «qué región tiene una capacidad de X», «la mejor región para 10 000 TPM»,
    │  «dónde está disponible este modelo»
    │  └─> modo DETECCIÓN DE CAPACIDAD
    │
    └─ Ambiguo (tiene objetivo de capacidad + intención de implementación)
       «implementar gpt-4o con una capacidad de 10 000 en la mejor región»
       └─> Primero DESCUBRIMIENTO DE CAPACIDAD → luego PRECONFIGURACIÓN o PERSONALIZACIÓN

Reglas de enrutamiento

Señal en la indicación Enrutar a Motivo
Solo el nombre del modelo, sin opciones Preajuste El usuario desea una implementación rápida
«personalizar», «configurar», «elegir», «seleccionar» Personalizar El usuario quiere tener el control
«buscar», «comprobar», «dónde», «qué región», «disponible» Capacidad El usuario quiere conocerla
Cifra concreta de capacidad + «mejor región» Capacidad → Preconfiguración Detectar y, a continuación, implementar rápidamente
Cifra concreta de capacidad + palabras clave «personalizadas» Capacidad → Personalizar Descubre y luego implementa con opciones
«PTU», «rendimiento aprovisionado» Personalizar PTU requiere la selección de una SKU
«región óptima», «mejor región» (sin objetivo de capacidad) Preconfigurado La optimización de la región es la especialidad de los ajustes preestablecidos

Encadenamiento multimodo

Algunas solicitudes requieren dos modos en secuencia:

Patrón: Capacidad → Implementación Cuando un usuario especifica un requisito de capacidad Y desea la implementación:

  1. Ejecuta «Descubrimiento de capacidad » para encontrar regiones o proyectos con cuota suficiente
  2. Presentar los resultados al usuario
  3. Pregunta: «¿Desea realizar la implementación con los valores predeterminados rápidos o personalizar la configuración
  4. Dirigir a «Preconfigurado » o «Personalizar » según la respuesta

💡 Consejo: Si no estás seguro de qué modo prefiere el usuario, establece por defecto la opción «Preconfigurado» (implementación rápida). Los usuarios que deseen personalizar suelen utilizar palabras clave explícitas como «personalizado», «configurar» o «con ajustes específicos».

Selección del proyecto (todos los modos)

Antes de cualquier implementación, decide en qué proyecto se va a realizar. Esto se aplica a todos los modos (predefinido, personalizado y tras la detección de capacidad).

Orden de resolución

  1. Comprueba la variable de entorno PROJECT_RESOURCE_ID: si está definida, utilízala como valor por defecto
  2. Comprueba la solicitud del usuario: si el usuario ha indicado un proyecto o una región concretos, utilízalos
  3. Si no se cumple ninguno de los dos casos, consulta los proyectos del usuario y sugiere el actual

Paso de confirmación (obligatorio)

Confirma siempre el destino antes de la implementación. Muestra al usuario qué se va a utilizar y dale la oportunidad de cambiarlo:

Implementación en:
  Proyecto:  
  Región:   
  Recurso: 

¿Es correcto? O elige otro proyecto:
  1. ✅ Sí, implementar aquí (por defecto)
  2. 📋 Mostrarme otros proyectos en esta región
  3. 🌍 Elegir otra región

Si el usuario elige la opción 2, mostrar los 5 proyectos principales de esa región:

Proyectos en :
  1. project-alpha (rg-alpha)
  2. project-beta (rg-beta)
  3. project-gamma (rg-gamma)
  ...

⚠️ Nunca realices una implementación sin mostrar al usuario qué proyecto se va a utilizar. Esto evita implementaciones accidentales en el recurso equivocado.

Validación previa a la implementación (todos los modos)

Antes de presentar cualquier opción de implementación (SKU, capacidad), comprueba siempre estos dos aspectos:

  1. El modelo es compatible con la SKU: consulta el catálogo de modelos para confirmar que el modelo y la versión seleccionados son compatibles con la SKU de destino:

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

    Filtra por el modelo y extrae .model.skus[].name para obtener las SKU compatibles.

  2. La suscripción dispone de cuota disponible: compruebe que la suscripción del usuario cuenta con cuota no asignada para la combinación de SKU y modelo:

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

    Busca coincidencias según el patrón de nombre de uso OpenAI.. (p. ej., OpenAI.GlobalStandard.gpt-4o). Capacidad disponible = límite - valor actual.

⚠️ Advertencia: Muestra únicamente las opciones que superen ambas comprobaciones. NO muestres listas de SKU codificadas de forma fija; realiza siempre la consulta de forma dinámica. Los SKU con una cuota disponible de 0 deben mostrarse como ❌ elementos informativos, no como opciones seleccionables.

💡 Gestión de cuotas: para las solicitudes de aumento de cuota, la supervisión del uso y la resolución de errores de cuota, remite a la habilidad de cuotas en lugar de duplicar esas instrucciones en el propio texto.

Requisitos previos

Todos los modos de implementación requieren:

  • Azure CLI instalado y autenticado (az login)
  • Una suscripción a Azure activa con permisos de implementación
  • ID de recurso del proyecto de Azure AI Foundry (o el agente ayudará a detectarlo a través de la variable de entorno PROJECT_RESOURCE_ID )

Subhabilidades

  • preset/SKILL.md — Despliegue rápido en la región óptima con valores predeterminados razonables
  • customize/SKILL.md — Flujo interactivo guiado con control total de la configuración
  • capacity/SKILL.md — Detecta la capacidad disponible en todas las regiones y proyectos
Ver en 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

Todos los archivos

0 archivos

Instalar deploy-model

Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

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

Copiar Copiar
Configuración rápida: Copia la carpeta de la habilidad en .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio microsoft/skills

Habilidades relacionadas

Verification &amp; Quality Assurance
Tiempo actualizado 29 de junio de 2026
base44-cli
Tiempo actualizado 29 de junio de 2026
klingai-upgrade-migration
Tiempo actualizado 3 de julio de 2026
Railway CLI Management
Tiempo actualizado 2 de julio de 2026
OR