All skills
microsoft avatar

/deploy-model

@54c2a28 official

Unified Azure OpenAI model deployment skill with intelligent intent-based routing. Handles quick preset deployments, fully customized deployments (version/SKU/capacity/RAI policy), and capacity discovery across regions and projects. USE FOR: deploy model, deploy gpt, create deployment, model deployment, deploy openai model, set up model, provision model, find capacity, check model availability, where can I deploy, best region for model, capacity analysis. DO NOT USE FOR: listing existing deployments (use foundry_models_deployments_list MCP tool), deleting deployments, agent creation (use agent/create), project creation (use project/create).

Use this Skill: https://skilld.dev/gh/microsoft/github-copilot-for-azure/deploy-model

This session only. Nothing lands on disk.

presetSKILL.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Deploy Model to Optimal Region

Automates intelligent Azure OpenAI model deployment by checking capacity across regions and deploying to the best available option.

What This Skill Does

  1. Verifies Azure authentication and project scope
  2. Checks capacity in current project's region
  3. If no capacity: analyzes all regions and shows available alternatives
  4. Filters projects by selected region
  5. Supports creating new projects if needed
  6. Deploys model with GlobalStandard SKU
  7. Monitors deployment progress

Prerequisites

  • Azure CLI installed and configured
  • Active Azure subscription with Cognitive Services read/create permissions
  • Microsoft Foundry project resource ID (PROJECT_RESOURCE_ID env var or provided interactively)
    • Format: /subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}
    • Found in: Microsoft Foundry portal → Project → Overview → Resource ID

Quick Workflow

Fast Path (Current Region Has Capacity)

1. Check authentication → 2. Get project → 3. Check current region capacity
→ 4. Deploy immediately

Alternative Region Path (No Capacity)

1. Check authentication → 2. Get project → 3. Check current region (no capacity)
→ 4. Query all regions → 5. Show alternatives → 6. Select region + project
→ 7. Deploy

Deployment Phases

Phase Action Key Commands
1. Verify Auth Check Azure CLI login and subscription az account show, az login
2. Get Project Parse PROJECT_RESOURCE_ID ARM ID, verify exists az cognitiveservices account show
3. Get Model List available models, user selects model + version az cognitiveservices account list-models
4. Check Current Region Query capacity using GlobalStandard SKU az rest --method GET .../modelCapacities
5. Multi-Region Query If no local capacity, query all regions Same capacity API without location filter
6. Select Region + Project User picks region; find or create project az cognitiveservices account list, az cognitiveservices account create
7. Deploy Generate unique name, calculate capacity (50% available, min 50 TPM), create deployment az cognitiveservices account deployment create

For detailed step-by-step instructions, see workflow reference.


Error Handling

Error Symptom Resolution
Auth failure az account show returns error Run az login then az account set --subscription <id>
No quota All regions show 0 capacity Defer to the quota skill for increase requests and troubleshooting; check existing deployments; try alternative models
Model not found Empty capacity list Verify model name with az cognitiveservices account list-models; check case sensitivity
Name conflict "deployment already exists" Append suffix to deployment name (handled automatically by generate_deployment_name script)
Region unavailable Region doesn't support model Select a different region from the available list
Permission denied "Forbidden" or "Unauthorized" Verify Cognitive Services Contributor role: az role assignment list --assignee <user>

Advanced Usage

# Custom capacity
az cognitiveservices account deployment create ... --sku-capacity <value>

# Check deployment status
az cognitiveservices account deployment show --name <acct> --resource-group <rg> --deployment-name <name> --query "{Status:properties.provisioningState}"

# Delete deployment
az cognitiveservices account deployment delete --name <acct> --resource-group <rg> --deployment-name <name>

Notes

  • SKU: GlobalStandard only — API Version: 2024-10-01 (GA stable)

Related Skills

  • microsoft-foundry - Parent skill for Microsoft Foundry operations
  • quota — For quota viewing, increase requests, and troubleshooting quota errors, defer to this skill
  • azure-quick-review - Review Azure resources for compliance
  • cost-estimation - Estimate costs through the separately installed azure-cost plugin
  • azure-validate - Validate Azure infrastructure before deployment

Source: SKILL.md on GitHub

No alerts6mo3 checks · Risk SAFE
  • Gen Agent Trust Hub6mo

    This skill provides a unified workflow for deploying Azure OpenAI models using the Azure CLI. It includes intelligent routing, capacity discovery across regions, and support for both standard OpenAI models and Anthropic models on Azure while maintaining security best practices like mandatory project confirmation.

  • Socket6mo

    No alerts

  • Snyk6mo

    Risk: LOW · No issues

Signed by skilld at 54c2a28. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 20 hours ago.

Activeupdated 2 months ago
metadata
{
  "author": "Microsoft",
  "version": "1.0.0"
}
  • azure
  • openai
  • deployment
  • model
  • capacity
  • sku
  • foundry
  • azure-cli
  • provisioning

README badge

README badge for microsoft/github-copilot-for-azure/deploy-model

Deploys Azure OpenAI models with intent-based routing to preset deployment, customized configuration, or capacity discovery workflows. Routes user requests to the appropriate mode based on whether they want quick defaults, custom SKU/capacity/RAI settings, or to find available capacity across regions and projects.

Generated from the current SKILL.md.

Does this skill handle deployments in azd-managed Foundry projects?
No. For azd projects (those scaffolded from azd-ai-starter-basic or via azd ai agent init), declare deployments in azure.yaml instead — azd provision will create them through Bicep. Use this skill only for standalone Foundry projects or ad-hoc deployments outside the azd lifecycle.
What happens if I don't specify a project?
The skill checks the PROJECT_RESOURCE_ID environment variable first, then looks for clues in your prompt. If neither exists, it queries your projects and suggests the current one, with a confirmation step before deploying.
Can this skill list or delete existing deployments?
No. This skill creates deployments only. Use the foundry_models_deployments_list MCP tool to list existing deployments, or the Azure portal to delete them.
Does this skill validate quota and SKU support before deploying?
Yes. It queries the model catalog to confirm the model supports your chosen SKU, and checks your subscription's available quota via Azure CLI before presenting any deployment options.
What should I do if I hit a quota limit?
Defer to the quota skill (quota/quota.md) for quota increase requests, usage monitoring, and troubleshooting quota errors.

Generated from the current SKILL.md. These answers refresh after source changes.