# Capacity > Descubre la capacidad disponible de modelos de Azure OpenAI entre regiones y proyectos. Analiza cuotas, compara disponibilidad y recomienda dónde desplegar. Es de solo lectura: no despliega. Fuente: https://skillsagentes.com/skills/microsoft/azure-skills/capacity Markdown: https://skillsagentes.com/skills/microsoft/azure-skills/capacity.md Repositorio: https://github.com/microsoft/azure-skills Autor: microsoft Licencia: MIT Actualizado: el mes pasado Coste de contexto: 145 tok instalada, 1.8k tok al activarse, 5.6k tok con todos los archivos del bundle Bundle: 5 archivos, 22 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add microsoft/azure-skills --skill capacity --agent claude-code # Cursor npx -y skills add microsoft/azure-skills --skill capacity --agent cursor # Codex npx -y skills add microsoft/azure-skills --skill capacity --agent codex # Gemini CLI npx -y skills add microsoft/azure-skills --skill capacity --agent gemini # Windsurf npx -y skills add microsoft/azure-skills --skill capacity --agent windsurf # Cline npx -y skills add microsoft/azure-skills --skill capacity --agent cline ``` ## Qué hace - Descubre la capacidad disponible de modelos de Azure OpenAI en todas las regiones y proyectos accesibles. - Analiza límites de cuota, compara disponibilidad y recomienda la mejor ubicación según los requisitos de capacidad. - Es un análisis de **solo lectura**: no despliega nada, y traspasa a `preset` o `customize` cuando toca actuar. - Devuelve una tabla ordenada de regiones y proyectos con la capacidad disponible. ## Cuándo usarla - Se quiere encontrar capacidad, comprobar cuota o saber dónde se puede desplegar. - Se quiere comparar regiones o comprobar disponibilidad de TPM. ## Cuándo no - Para desplegar de verdad, que traspasa a `preset` o `customize`. - Para solicitar aumentos de cuota, que remite al portal de Azure. - Para listar despliegues existentes. ## Qué la activa - "¿dónde tengo capacidad para este modelo?" - "compara la cuota entre regiones" - "¿cuánto TPM me queda?" ## Antes de instalar - Solo lee: el propio archivo subraya que no despliega y que traspasa a otro skill para actuar. - Necesita en el PATH: az, jq, python3 - Variables de entorno: CAPACITY_JSON, CAPACITY_RESULT, MIN_CAPACITY, MODEL_NAME, MODEL_VERSION, PROJECTS_JSON, QUOTA_JSON, QUOTA_MAP, REGION, REGIONS, REGIONS_WITH_CAP, SUBSCRIPTION_ID, SUB_ID - makes network requests - reads environment config ## Archivos - SKILL.md — 7 KB - scripts/discover_and_rank.ps1 — 5 KB - scripts/discover_and_rank.sh — 5 KB - scripts/query_capacity.ps1 — 3 KB - scripts/query_capacity.sh — 3 KB ## SKILL.md Reproducido tal cual desde microsoft/azure-skills bajo MIT. Esta sección es el documento original y está en inglés. # Capacity Discovery Finds available Azure OpenAI model capacity across all accessible regions and projects. Recommends the best deployment location based on capacity requirements. ## Quick Reference | Property | Description | |----------|-------------| | **Purpose** | Find where you can deploy a model with sufficient capacity | | **Scope** | All regions and projects the user has access to | | **Output** | Ranked table of regions/projects with available capacity | | **Action** | Read-only analysis — does NOT deploy. Hands off to preset or customize | | **Authentication** | Azure CLI (`az login`) | ## When to Use This Skill - ✅ User asks "where can I deploy gpt-4o?" - ✅ User specifies a capacity target: "find a region with 10K TPM for gpt-4o" - ✅ User wants to compare availability: "which regions have gpt-4o available?" - ✅ User got a quota error and needs to find an alternative location - ✅ User asks "best region and project for deploying model X" **After discovery → hand off to [preset](../preset/SKILL.md) or [customize](../customize/SKILL.md) for actual deployment.** ## Scripts Pre-built scripts handle the complex REST API calls and data processing. Use these instead of constructing commands manually. | Script | Purpose | Usage | |--------|---------|-------| | `scripts/discover_and_rank.ps1` | Full discovery: capacity + projects + ranking | Primary script for capacity discovery | | `scripts/discover_and_rank.sh` | Same as above (bash) | Primary script for capacity discovery | | `scripts/query_capacity.ps1` | Raw capacity query (no project matching) | Quick capacity check or version listing | | `scripts/query_capacity.sh` | Same as above (bash) | Quick capacity check or version listing | ## Workflow ### Phase 1: Validate Prerequisites ```bash az account show --query "{Subscription:name, SubscriptionId:id}" --output table ``` ### Phase 2: Identify Model and Version Extract model name from user prompt. If version is unknown, query available versions: ```powershell .\scripts\query_capacity.ps1 -ModelName ``` ```bash ./scripts/query_capacity.sh ``` This lists available versions. Use the latest version unless user specifies otherwise. ### Phase 3: Run Discovery Run the full discovery script with model name, version, and minimum capacity target: ```powershell .\scripts\discover_and_rank.ps1 -ModelName -ModelVersion -MinCapacity ``` ```bash ./scripts/discover_and_rank.sh ``` > 💡 The script automatically queries capacity across ALL regions, cross-references with the user's existing projects, and outputs a ranked table sorted by: meets target → project count → available capacity. ### Phase 3.5: Validate Subscription Quota After discovery identifies candidate regions, validate that the user's subscription actually has available quota in each region. Model capacity (from Phase 3) shows what the platform can support, but subscription quota limits what this specific user can deploy. ```powershell # For each candidate region from discovery results: $usageData = az cognitiveservices usage list --location --subscription $SUBSCRIPTION_ID -o json 2>$null | ConvertFrom-Json # Check quota for each SKU the model supports # Quota names follow pattern: OpenAI.. $usageEntry = $usageData | Where-Object { $_.name.value -eq "OpenAI.." } if ($usageEntry) { $quotaAvailable = $usageEntry.limit - $usageEntry.currentValue } else { $quotaAvailable = 0 # No quota allocated } ``` ```bash # For each candidate region from discovery results: usage_json=$(az cognitiveservices usage list --location --subscription "$SUBSCRIPTION_ID" -o json 2>/dev/null) # Extract quota for specific SKU+model quota_available=$(echo "$usage_json" | jq -r --arg name "OpenAI.." \ '.[] | select(.name.value == $name) | .limit - .currentValue') ``` **Annotate discovery results:** Add a "Quota Available" column to the ranked output from Phase 3: | Region | Available Capacity | Meets Target | Projects | Quota Available | |--------|-------------------|--------------|----------|-----------------| | eastus2 | 120K TPM | ✅ | 3 | ✅ 80K | | westus3 | 90K TPM | ✅ | 1 | ❌ 0 (at limit) | | swedencentral | 100K TPM | ✅ | 0 | ✅ 100K | Regions/SKUs where `quotaAvailable = 0` should be marked with ❌ in the results. If no region has available quota, hand off to the [quota skill](../../../quota/quota.md) for increase requests and troubleshooting. ### Phase 4: Present Results and Hand Off After the script outputs the ranked table (now annotated with quota info), present it to the user and ask: 1. 🚀 **Quick deploy** to top recommendation with defaults → route to [preset](../preset/SKILL.md) 2. ⚙️ **Custom deploy** with version/SKU/capacity/RAI selection → route to [customize](../customize/SKILL.md) 3. 📊 **Check another model** or capacity target → re-run Phase 2 4. ❌ Cancel ### Phase 5: Confirm Project Before Deploying Before handing off to preset or customize, **always confirm the target project** with the user. See the [Project Selection](../SKILL.md#project-selection-all-modes) rules in the parent router. If the discovery table shows a sample project for the chosen region, suggest it as the default. Otherwise, query projects in that region and let the user pick. ## Error Handling | Error | Cause | Resolution | |-------|-------|------------| | "No capacity found" | Model not available or all at quota | Hand off to [quota skill](../../../quota/quota.md) for increase requests and troubleshooting | | Script auth error | `az login` expired | Re-run `az login` | | Empty version list | Model not in region catalog | Try a different region: `./scripts/query_capacity.sh "" eastus` | | "No projects found" | No AI Services resources | Guide to `project/create` skill or Azure Portal | ## Related Skills - **[preset](../preset/SKILL.md)** — Quick deployment after capacity discovery - **[customize](../customize/SKILL.md)** — Custom deployment after capacity discovery - **[quota](../../../quota/quota.md)** — For quota viewing, increase requests, and troubleshooting quota errors, defer to this skill instead of duplicating guidance ## Dónde encaja - Categoría: [DevOps e infraestructura](https://skillsagentes.com/categorias/devops-infraestructura.md) — Despliegues, contenedores, IaC y flujos de gestión de incidentes. - Creador: [microsoft](https://skillsagentes.com/creators/microsoft.md) — 43 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Microsoft Foundry](https://skillsagentes.com/skills/microsoft/azure-skills/microsoft-foundry.md): Despliega, evalúa, ajusta y gestiona agentes de Foundry de punta a punta con azd: agentes hospedados, evaluación por lotes y continua, optimizador de prompts y fine-tuning (SFT/DPO/RFT). - [Azure Prepare](https://skillsagentes.com/skills/microsoft/azure-skills/azure-prepare.md): Prepara proyectos Azure basados en azd para desplegar: genera azure.yaml, la infraestructura (Bicep o Terraform) y los Dockerfiles del flujo del Azure Developer CLI. - [Azure Diagnostics](https://skillsagentes.com/skills/microsoft/azure-skills/azure-diagnostics.md): Depura incidencias de producción en Azure con AppLens, Azure Monitor, resource health y triaje seguro. Cubre App Service, Container Apps, Functions, AKS, VMs y mensajería. - [Azure Validate](https://skillsagentes.com/skills/microsoft/azure-skills/azure-validate.md): Validación previa al despliegue en Azure. Comprueba en profundidad la configuración, la infraestructura (Bicep o Terraform), los roles RBAC, los permisos de identidad administrada y los prerrequisitos. - [Deploy Model](https://skillsagentes.com/skills/microsoft/azure-skills/deploy-model.md): Skill unificado de despliegue de modelos de Azure OpenAI con enrutado por intención: despliegues rápidos con preset, despliegues personalizados y descubrimiento de capacidad entre regiones y proyectos. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)