capacity

Découvre la capacité disponible des modèles Azure OpenAI dans les régions et projets. Analyse les limites de quota, compare la disponibilité et recommande les emplacements de déploiement optimaux en fonction des besoins en capacité. UTILISER POUR : trouver de la capacité, vérifier les quotas, où puis-je déployer, découverte de capacité, meilleure région pour la capacité, recherche de capacité multi-projet, analyse de quota, disponibilité des modèles, comparaison de régions, vérifier la disponibilité TPM. NE PAS UTILISER POUR : le déploiement effectif (déléguer à un preset ou personnaliser après la découverte), les demandes d'augmentation de quota (rediriger l'utilisateur vers le portail Azure), la liste des déploiements existants.

npx skills add https://github.com/microsoft/skills --skill capacity

Découverte de capacité

Trouve la capacité disponible des modèles Azure OpenAI dans toutes les régions et projets accessibles. Recommande le meilleur emplacement de déploiement en fonction des besoins en capacité.

Référence rapide

Propriété Description
Objectif Trouver où déployer un modèle avec une capacité suffisante
Périmètre Toutes les régions et projets auxquels l'utilisateur a accès
Sortie Tableau classé des régions/projets avec capacité disponible
Action Analyse en lecture seule — NE déploie PAS. Passe à preset ou customize
Authentification Azure CLI (az login)

Quand utiliser cette compétence

  • ✅ L'utilisateur demande « où puis-je déployer gpt-4o ? »
  • ✅ L'utilisateur spécifie une cible de capacité : « trouve une région avec 10K TPM pour gpt-4o »
  • ✅ L'utilisateur veut comparer la disponibilité : « quelles régions ont gpt-4o disponible ? »
  • ✅ L'utilisateur a reçu une erreur de quota et a besoin de trouver un emplacement alternatif
  • ✅ L'utilisateur demande « meilleure région et projet pour déployer le modèle X »

Après la découverte → passe à preset ou customize pour le déploiement réel.

Scripts

Des scripts pré-construits gèrent les appels REST API complexes et le traitement des données. Utilise-les au lieu de construire manuellement les commandes.

Script Objectif Utilisation
scripts/discover_and_rank.ps1 Découverte complète : capacité + projets + classement Script principal pour la découverte de capacité
scripts/discover_and_rank.sh Identique (bash) Script principal pour la découverte de capacité
scripts/query_capacity.ps1 Requête de capacité brute (pas de matching de projets) Vérification rapide de capacité ou listage de versions
scripts/query_capacity.sh Identique (bash) Vérification rapide de capacité ou listage de versions

Workflow

Phase 1 : Valider les prérequis

az account show --query "{Subscription:name, SubscriptionId:id}" --output table

Phase 2 : Identifier le modèle et la version

Extrais le nom du modèle à partir du message de l'utilisateur. Si la version est inconnue, interroge les versions disponibles :

.\scripts\query_capacity.ps1 -ModelName <model-name>
./scripts/query_capacity.sh <model-name>

Ceci liste les versions disponibles. Utilise la dernière version sauf si l'utilisateur en spécifie une autre.

Phase 3 : Exécuter la découverte

Exécute le script de découverte complète avec le nom du modèle, la version et la cible de capacité minimale :

.\scripts\discover_and_rank.ps1 -ModelName <model-name> -ModelVersion <version> -MinCapacity <target>
./scripts/discover_and_rank.sh <model-name> <version> <min-capacity>

💡 Le script interroge automatiquement la capacité dans TOUTES les régions, croise avec les projets existants de l'utilisateur, et affiche un tableau classé par : répond à la cible → nombre de projets → capacité disponible.

Phase 3.5 : Valider le quota de l'abonnement

Après que la découverte identifie les régions candidates, valide que l'abonnement de l'utilisateur a effectivement un quota disponible dans chaque région. La capacité du modèle (Phase 3) montre ce que la plateforme peut supporter, mais le quota d'abonnement limite ce que cet utilisateur spécifique peut déployer.

# Pour chaque région candidate dans les résultats de découverte :
$usageData = az cognitiveservices usage list --location <region> --subscription $SUBSCRIPTION_ID -o json 2>$null | ConvertFrom-Json

# Vérifie le quota pour chaque SKU que le modèle supporte
# Les noms de quota suivent le motif : OpenAI.<SKU>.<model-name>
$usageEntry = $usageData | Where-Object { $_.name.value -eq "OpenAI.<SKU>.<model-name>" }

if ($usageEntry) {
  $quotaAvailable = $usageEntry.limit - $usageEntry.currentValue
} else {
  $quotaAvailable = 0  # Aucun quota alloué
}
# Pour chaque région candidate dans les résultats de découverte :
usage_json=$(az cognitiveservices usage list --location <region> --subscription "$SUBSCRIPTION_ID" -o json 2>/dev/null)

# Extrait le quota pour un SKU+modèle spécifique
quota_available=$(echo "$usage_json" | jq -r --arg name "OpenAI.<SKU>.<model-name>" \
  '.[] | select(.name.value == $name) | .limit - .currentValue')

Annote les résultats de découverte :

Ajoute une colonne « Quota disponible » au résultat classé de la Phase 3 :

Région Capacité disponible Répond à la cible Projets Quota disponible
eastus2 120K TPM 3 ✅ 80K
westus3 90K TPM 1 ❌ 0 (à la limite)
swedencentral 100K TPM 0 ✅ 100K

Les régions/SKU où quotaAvailable = 0 doivent être marqués avec ❌ dans les résultats. Si aucune région n'a de quota disponible, passe à la compétence quota pour les demandes d'augmentation et la résolution de problèmes.

Phase 4 : Présenter les résultats et passer à la phase suivante

Après que le script affiche le tableau classé (maintenant annoté avec les infos de quota), présente-le à l'utilisateur et demande :

  1. 🚀 Déploiement rapide vers la meilleure recommandation avec les valeurs par défaut → route vers preset
  2. ⚙️ Déploiement personnalisé avec sélection version/SKU/capacité/RAI → route vers customize
  3. 📊 Vérifier un autre modèle ou cible de capacité → ré-exécute Phase 2
  4. ❌ Annuler

Phase 5 : Confirmer le projet avant de déployer

Avant de passer à preset ou customize, confirme toujours le projet cible avec l'utilisateur. Voir les règles Project Selection dans le routeur parent.

Si le tableau de découverte affiche un exemple de projet pour la région choisie, suggère-le par défaut. Sinon, interroge les projets dans cette région et laisse l'utilisateur choisir.

Gestion des erreurs

Erreur Cause Résolution
« Aucune capacité trouvée » Modèle non disponible ou tous au quota Passe à la compétence quota pour les demandes d'augmentation et la résolution de problèmes
Erreur d'authentification du script az login expiré Ré-exécute az login
Liste de versions vide Modèle absent du catalogue régional Essaye une région différente : ./scripts/query_capacity.sh <model> "" eastus
« Aucun projet trouvé » Aucune ressource AI Services Guide vers la compétence project/create ou Azure Portal

Compétences connexes

  • preset — Déploiement rapide après découverte de capacité
  • customize — Déploiement personnalisé après découverte de capacité
  • quota — Pour la visualisation du quota, les demandes d'augmentation et la résolution de problèmes de quota, défère à cette compétence au lieu de dupliquer les conseils

Skills similaires