deploy-model
microsoft/skills
Erstellt Azure OpenAI-Modellbereitstellungen mit intelligentem, absichtsbasiertem Routing und unterstützt dabei Schnellvoreinstellungen, vollständige Anpassbarkeit sowie die Ermittlung von Kapazitäten über Regionen und Projekte hinweg.
...Alle erweiternModell bereitstellen
Geltungsbereich – bitte zuerst lesen. Diese Funktion erstellt Modellbereitstellungen außerhalb des normalen Betriebsablaufs über die Azure-CLI, MCP oder das Portal. Für von azd verwaltete Foundry-Projekte (die mit
„azd-ai-starter-basic“oder über„azd ai agent init“erstellt wurden) müssen Bereitstellungen inden „azure.yaml“-Dienstendeklariert werden..config.deployments[]stattdessen –„azd ai agent init“schreibt den Eintrag aus dem Beispiel-Manifest und„azd provision“erstellt die Bereitstellung über Bicep. Siehe foundry-agent/create/create-hosted.md für den Golden Path. Verwenden Sie diese Funktion nur für: (a) Foundry-Projekte, die nicht von einem azd-Projekt verwaltet werden, (b) Ad-hoc-Bereitstellungen außerhalb des azd-Lebenszyklus.
Einheitlicher Einstiegspunkt für alle Workflows zur Bereitstellung von Azure OpenAI-Modellen. Analysiert die Absicht des Benutzers und leitet ihn an den entsprechenden Bereitstellungsmodus weiter.
Kurzanleitung
| Modus | Verwendungszweck | Unterfunktion |
|---|---|---|
| Voreinstellung | Schnelle Bereitstellung, keine Anpassung erforderlich | Voreinstellung/SKILL.md |
| Anpassen | Volle Kontrolle: Version, SKU, Kapazität, RAI-Richtlinie | Anpassen/SKILL.md |
| Kapazitätsermittlung | Ermitteln Sie, wo Sie mit einer bestimmten Kapazität bereitstellen können | capacity/SKILL.md |
Absichtserkennung
Analysieren Sie die Eingabe des Benutzers und leiten Sie diese an den richtigen Modus weiter:
Benutzereingabe
│
├─ Einfache Bereitstellung (ohne Modifikatoren)
│ „deploy gpt-4o“, „set up a model“
│ └─> PRESET-Modus
│
├─ Schlüsselwörter für die Anpassung vorhanden
│ „custom settings“, „choose version“, „select SKU“,
│ „set capacity to X“, „configure content filter“,
│ „PTU-Bereitstellung“, „mit bestimmter Quote“
│ └─> CUSTOMIZE-Modus
│
├─ Abfrage zu Kapazität/Verfügbarkeit
│ „Finde heraus, wo ich bereitstellen kann“, „Kapazität prüfen“,
│ „Welche Region verfügt über X Kapazität“, „Beste Region für 10.000 TPM“,
│ „Wo ist dieses Modell verfügbar?“
│ └─> Modus „KAPAZITÄTSERMITTLUNG“
│
└─ Mehrdeutig (enthält Kapazitätsziel + Bereitstellungsabsicht)
„GPT-4o mit einer Kapazität von 10.000 in der besten Region bereitstellen“
└─> Zuerst KAPAZITÄTSERMITTLUNG → dann VOREINSTELLUNG oder ANPASSUNG
Routing-Regeln
| Signal in der Eingabeaufforderung | Weiterleiten an | Grund |
|---|---|---|
| Nur Modellname, keine Optionen | Voreinstellung | Der Benutzer wünscht eine schnelle Bereitstellung |
| „benutzerdefiniert“, „konfigurieren“, „auswählen“, „selektieren“ | Anpassen | Der Benutzer möchte die Kontrolle haben |
| „finden“, „prüfen“, „wo“, „welche Region“, „verfügbar“ | Kapazität | Der Nutzer möchte eine Ermittlung |
| Konkrete Kapazitätsangabe + „beste Region“ | Kapazität → Voreinstellung | Ermitteln und anschließend schnell bereitstellen |
| Konkrete Kapazitätsangabe + „benutzerdefinierte“ Schlüsselwörter | Kapazität → Anpassen | Erkennen und anschließend mit Optionen bereitstellen |
| „PTU“, „bereitgestellter Durchsatz“ | Anpassen | PTU erfordert die Auswahl einer SKU |
| „optimale Region“, „beste Region“ (kein Kapazitätsziel) | Voreinstellung | Die Regionsoptimierung ist die Spezialität der Voreinstellung |
Multi-Mode-Verkettung
Einige Eingabeaufforderungen erfordern zwei nacheinander folgende Modi:
Muster: Kapazität → Bereitstellung Wenn ein Benutzer eine Kapazitätsanforderung angibt UND eine Bereitstellung wünscht:
- Führen Sie die Kapazitätsermittlung durch, um Regionen/Projekte mit ausreichender Quote zu finden
- Ergebnisse dem Benutzer präsentieren
- Frage: „Möchten Sie die Bereitstellung mit Schnellvoreinstellungen durchführen oder die Einstellungen anpassen?“
- Je nach Antwort zu „Voreinstellung“ oder „Anpassen“ weiterleiten
💡 Tipp: Wenn Sie sich nicht sicher sind, welchen Modus der Benutzer wünscht, wählen Sie standardmäßig „Voreinstellung“ (Schnellbereitstellung). Benutzer, die eine individuelle Anpassung wünschen, verwenden in der Regel explizite Schlüsselwörter wie „benutzerdefiniert“, „konfigurieren“ oder „mit spezifischen Einstellungen“.
Projektauswahl (alle Modi)
Legen Sie vor jeder Bereitstellung fest, in welchem Projekt die Bereitstellung erfolgen soll. Dies gilt für alle Modi („Voreinstellung“, „Anpassen“ und nach der Kapazitätsermittlung).
Reihenfolge der Festlegung
- Umgebungsvariable `
PROJECT_RESOURCE_ID`prüfen – falls gesetzt, als Standard verwenden - Benutzerabfrage prüfen – wenn der Benutzer ein bestimmtes Projekt oder eine bestimmte Region angegeben hat, diese verwenden
- Falls beides nicht zutrifft – fragen Sie die Projekte des Benutzers ab und schlagen Sie das aktuelle vor
Bestätigungsschritt (erforderlich)
Bestätigen Sie vor der Bereitstellung immer das Ziel. Zeigen Sie dem Benutzer, was verwendet wird, und geben Sie ihm die Möglichkeit, dies zu ändern:
Bereitstellung in:
Projekt:
Region:
Ressource:
Ist das korrekt? Oder wählen Sie ein anderes Projekt:
1. ✅ Ja, hier bereitstellen (Standard)
2. 📋 Andere Projekte in dieser Region anzeigen
3. 🌍 Eine andere Region auswählen
Wenn der Benutzer Option 2 wählt, zeige die Top-5-Projekte in dieser Region an:
Projekte in „ “:
1. project-alpha (rg-alpha)
2. project-beta (rg-beta)
3. project-gamma (rg-gamma)
...
⚠️ Führen Sie niemals eine Bereitstellung durch, ohne dem Benutzer anzuzeigen, welches Projekt verwendet wird. Dies verhindert versehentliche Bereitstellungen auf der falschen Ressource.
Validierung vor der Bereitstellung (alle Modi)
Bevor Sie Bereitstellungsoptionen (SKU, Kapazität) anzeigen, überprüfen Sie stets beide Punkte:
Das Modell unterstützt die SKU – fragen Sie den Modellkatalog ab, um zu bestätigen, dass das ausgewählte Modell und die Version die Ziel-SKU unterstützen:
az cognitiveservices model list --location--subscription -o json Filtern Sie nach dem Modell und extrahieren Sie
`.model.skus[].name`, um die unterstützten SKUs zu erhalten.Das Abonnement verfügt über verfügbare Kontingente – überprüfen Sie, ob das Abonnement des Benutzers über nicht zugewiesene Kontingente für die Kombination aus SKU und Modell verfügt:
az cognitiveservices usage list --location--subscription -o json Suche nach dem Nutzungsnamensmuster
„OpenAI.“ (z. B.. „OpenAI.GlobalStandard.gpt-4o“).VerfügbareRechenleistung= Limit – aktueller Wert.
⚠️ Warnung: Zeige nur Optionen an, die beide Prüfungen bestehen. Zeige KEINE fest codierten SKU-Listen an – führe immer eine dynamische Abfrage durch. SKUs mit einer verfügbaren Quote von 0 sollten als ❌ Informationselemente angezeigt werden, nicht als auswählbare Optionen.
💡 Kontingentverwaltung: Verweisen Sie bei Anfragen zur Kontingenterhöhung, zur Nutzungsüberwachung und zur Fehlerbehebung bei Kontingentfehlern auf den Kontingent-Skill, anstatt diese Anleitungen direkt im Text zu wiederholen.
Voraussetzungen
Alle Bereitstellungsmodi erfordern:
- Azure CLI installiert und authentifiziert (
az login) - Aktives Azure-Abonnement mit Bereitstellungsberechtigungen
- Azure AI Foundry-Projektressourcen-ID (oder der Agent hilft bei der Ermittlung über die Umgebungsvariable `
PROJECT_RESOURCE_ID`)
Unterfähigkeiten
- preset/SKILL.md – Schnelle Bereitstellung in der optimalen Region mit sinnvollen Standardwerten
- customize/SKILL.md – Interaktiver, geführter Ablauf mit vollständiger Konfigurationskontrolle
- capacity/SKILL.md – Ermitteln der verfügbaren Kapazität über Regionen und Projekte hinweg
---
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
Alle Dateien
0 Dateiendeploy-model installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
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
Kopieren





Heim
