Partager via


Travailler avec des modèles Azure OpenAI

Azure OpenAI Service est fourni avec par un ensemble diversifié de modèles proposant des fonctionnalités variées et des prix différents. La disponibilité des modèles varie selon les régions.

Vous pouvez obtenir la liste des modèles disponibles pour l’inférence et l’optimisation par votre ressource Azure OpenAI en utilisant l’API Liste de modèles.

Mises à jour de modèle

Azure OpenAI prend désormais en charge les mises à jour automatiques pour certains modèles de déploiement. Sur les modèles où la prise en charge de la mise à jour automatique est disponible, une liste déroulante de versions de modèle est visible dans le portail Azure AI Foundry sous Déploiements et Modifier :

Capture d’écran de l’IU de déploiement de modèle sur le Portail Azure AI Foundry.

Vous pouvez en savoir plus sur les versions du modèle Azure OpenAI et leur fonctionnement dans l’article sur les versions du modèle Azure OpenAI.

Remarque

Les mises à jour automatiques des modèles sont uniquement prises en charge pour les types de déploiement standards. Pour plus d'informations sur la façon de gérer les mises à niveau et les migrations de modèles pour les types de déploiement approvisionnés, consultez la section Gestion des modèles sur les types de déploiement approvisionnés

Mise à jour automatique vers la valeur par défaut

Lorsque vous définissez votre déploiement sur Mise à jour automatique vers la valeur par défaut, votre modèle de déploiement est automatiquement mis à jour dans les deux semaines suivant une modification de la version par défaut. Dans le cas d’une version préliminaire, la mise à jour se fait automatiquement lorsqu’une nouvelle version préliminaire est disponible, deux semaines après la publication de la nouvelle version préliminaire.

Si vous en êtes encore aux premières phases de test des modèles d'inférence, nous vous recommandons de déployer des modèles avec une mise à jour automatique par défaut dès qu'elle est disponible.

Version de modèle spécifique

À mesure que votre utilisation d’Azure OpenAI évolue et que vous commencez à créer et à intégrer des applications, vous pouvez vouloir contrôler manuellement les mises à jour du modèle. Vous pouvez d’abord tester et valider que le comportement de votre application est cohérent pour votre cas d’usage avant d’effectuer la mise à niveau.

Lorsque vous sélectionnez une version de modèle spécifique à un déploiement, elle reste celle qui est sélectionnée jusqu’à ce que vous choisissiez d’effectuer vous-même une mise à jour manuelle ou une fois la date de mise hors service du modèle atteinte. Lorsque la date de retrait est atteinte, le modèle sera automatiquement mis à niveau vers la version par défaut au moment du retrait.

Affichage des dates de mise hors service

Pour les modèles actuellement déployés, depuis le Portail Azure AI Foundry, sélectionnez Déploiements :

Capture d’écran de l’IU de déploiement du Portail Azure AI Foundry.

Configuration de la mise à niveau du déploiement du modèle

Vous pouvez vérifier quelles options de mise à niveau de modèle sont définies pour les modèles précédemment déployés sur le Portail Azure AI Foundry. Sélectionnez Déploiements> Sous la colonne nom de déploiement, sélectionnez l'un des noms de déploiement mis en surbrillance en bleu.

Sélectionner le nom d’un déploiement ouvre les Propriétés du modèle de déploiement. Vous pouvez afficher les options de mise à niveau définies pour votre déploiement sous Stratégie de mise à jour de version :

Capture d’écran de l’interface utilisateur de la propriété des modèles de déploiements.

La propriété correspondante est également accessible via REST, Azure PowerShell et Azure CLI.

Option Lire Mettre à jour
REST Oui. Si versionUpgradeOption n’est pas retourné, cela signifie qu’il est null Oui
Azure PowerShell Oui. VersionUpgradeOption peut être vérifié pour $null Oui
Azure CLI Oui. Il indique null si versionUpgradeOption n’est pas défini. Nombre Il n’est actuellement pas possible de mettre à jour l’option de mise à niveau de version.

Il existe trois options distinctes de mise à niveau du modèle de déploiement :

Nom Description
OnceNewDefaultVersionAvailable Une fois qu’une nouvelle version est désignée comme version par défaut, le modèle de déploiement est automatiquement mis à niveau vers la version par défaut dans les deux semaines suivant la modification de cette désignation.
OnceCurrentVersionExpired Une fois la date de mise hors service atteinte, le modèle de déploiement est automatiquement mis à niveau vers la version par défaut actuelle.
NoAutoUpgrade Le modèle de déploiement n’est jamais automatiquement mis à niveau. Une fois la date de mise hors service atteinte, le modèle de déploiement cesse de fonctionner. Vous devez mettre à jour votre code en référençant ce déploiement pour qu’il pointe vers un modèle de déploiement non expiré.

Remarque

null est équivalent à OnceCurrentVersionExpired. Si l'option Stratégie de mise à jour de version n'est pas présente dans les propriétés d'un modèle qui prend en charge les mises à niveau de modèle, c'est que la valeur actuelle est null. Une fois que vous modifiez explicitement cette valeur, la propriété est visible sur la page des propriétés du studio, ainsi que via l’API REST.

Exemples

Passez en revue le guide de prise en main d’Azure PowerShell pour installer Azure PowerShell localement ou vous pouvez utiliser Azure Cloud Shell.

Les étapes ci-dessous illustrent la vérification de la propriété d’option VersionUpgradeOption et sa mise à jour :

// Step 1: Get Deployment
$deployment = Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName}
 
// Step 2: Show Deployment VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption
 
// VersionUpgradeOption can be null - one way to check is
$null -eq $deployment.Properties.VersionUpgradeOption
 
// Step 3: Update Deployment VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption = "NoAutoUpgrade"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku
 
// repeat step 1 and 2 to confirm the change.
// If not sure about deployment name, use this command to show all deployments under an account
Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName}
// To update to a new model version

// Step 1: Get Deployment
$deployment = Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName}

// Step 2: Show Deployment Model properties
$deployment.Properties.Model.Version

// Step 3: Update Deployed Model Version
$deployment.Properties.Model.Version = "0613"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku

// repeat step 1 and 2 to confirm the change.

Mettre à jour et déployer des modèles via l’API

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

Paramètres de chemin d’accès

Paramètre Type Requis ? Description
acountname string Obligatoire Nom de votre ressource Azure OpenAI.
deploymentName string Obligatoire Nom de déploiement choisi lorsque vous avez déployé un modèle existant ou nom que vous souhaitez donner à un nouveau modèle de déploiement.
resourceGroupName string Obligatoire Nom du groupe de ressources associé pour ce modèle de déploiement.
subscriptionId string Obligatoire ID d’abonnement de l’abonnement associé.
api-version string Obligatoire Version de l’API à utiliser pour cette opération. Cela suit le format AAAA-MM-JJ.

Versions prises en charge

Corps de la demande

Il s’agit uniquement d’un sous-ensemble des paramètres disponibles du corps de la demande. Pour obtenir la liste complète des paramètres, consultez la documentation de référence sur l’API REST.

Paramètre Type Description
versionUpgradeOption String Options de mise à niveau d’une version du modèle de déploiement :
OnceNewDefaultVersionAvailable
OnceCurrentVersionExpired
NoAutoUpgrade
capacité entier Représente la part de quota que vous affectez à ce déploiement. Une valeur de 1 équivaut à 1 000 jetons par minute (TPM)

Exemple de requête

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":120},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"},"versionUpgradeOption":"OnceCurrentVersionExpired"}}'

Notes

Il existe plusieurs façons de générer un jeton d’autorisation. La méthode la plus simple pour le test initial consiste à lancer le service Cloud Shell à partir du Portail Azure. Exécutez ensuite az account get-access-token. Vous pouvez utiliser ce jeton comme jeton d’autorisation temporaire pour le test d’API.

Exemple de réponse

 {
  "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo",
  "type": "Microsoft.CognitiveServices/accounts/deployments",
  "name": "gpt-35-turbo",
  "sku": {
    "name": "Standard",
    "capacity": 120
  },
  "properties": {
    "model": {
      "format": "OpenAI",
      "name": "gpt-35-turbo",
      "version": "0613"
    },
    "versionUpgradeOption": "OnceCurrentVersionExpired",
    "capabilities": {
      "chatCompletion": "true"
    },
    "provisioningState": "Succeeded",
    "rateLimits": [
      {
        "key": "request",
        "renewalPeriod": 10,
        "count": 120
      },
      {
        "key": "token",
        "renewalPeriod": 60,
        "count": 120000
      }
    ]
  },
  "systemData": {
    "createdBy": "docs@contoso.com",
    "createdByType": "User",
    "createdAt": "2023-02-28T02:57:15.8951706Z",
    "lastModifiedBy": "docs@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-10-31T15:35:53.082912Z"
  },
  "etag": "\"GUID\""
}

Gestion des modèles pour les types de déploiement approvisionnés

Les déploiements approvisionnés prennent en charge des pratiques distinctes de gestion des modèles. Les pratiques de gestion des modèles de déploiement approvisionnés sont censées vous donner le meilleur contrôle sur le moment et la façon dont vous migrez entre les versions et familles de modèles. Actuellement, il existe deux approches pour gérer les modèles sur les déploiements approvisionnés : (1) les migrations sur place et (2) les migrations à multidéploiement.

Prérequis

  • Vérifiez que la version ou famille de modèle cible est prise en charge pour votre type de déploiement existant. Les migrations peuvent uniquement se produire entre des déploiements approvisionnés qui ont le même type de déploiement. Pour plus d’informations sur les types de déploiement, consultez la documentation sur le type de déploiement.
  • Validez la disponibilité de capacité pour votre version ou famille de modèle cible avant de tenter une migration. Pour plus d’informations sur comment déterminer la disponibilité de la capacité, consultez la documentation sur la transparence de capacité.
  • Pour les migrations à multidéploiement, vous devez valider que vous disposez d’un quota suffisant pour prendre en charge plusieurs déploiements simultanés. Pour plus d’informations sur la validation du quota pour chaque type de déploiement approvisionné, consultez la documentation sur le quota approvisionné.

Migrations sur place pour les déploiements approvisionnés

Les migrations sur place vous permettent de conserver le même nom et la même taille de déploiement approvisionné lorsque vous modifiez la version ou la famille de modèle affectée à ce déploiement. Les migrations sur place permettent à Azure OpenAI Service de s’occuper de migrer tout le trafic existant entre les versions ou familles de modèles tout au long de la migration, dans un créneau de 20 à 30 minutes. Pendant ce créneau de migration, votre déploiement approvisionné affiche l’état approvisionné « mise à jour ». Vous pouvez continuer d’utiliser votre déploiement approvisionné comme d’habitude. Une fois la migration sur place terminée, l’état approvisionné est actualisé à l’état « réussi », indiquant que tout le trafic a été migré vers la version ou la famille du modèle cible.

Migration sur place : mise à jour de version du modèle

Les migrations sur place qui ciblent la mise à jour d’un déploiement approvisionné existant vers une nouvelle version de modèle dans la même famille de modèles sont prises en charge via Azure AI Foundry, l’API REST et Azure CLI. Pour effectuer une migration sur place qui cible une mise à jour de version de modèle dans Azure AI Foundry, sélectionnez Déploiements> sous la colonne du nom de déploiement, puis sélectionnez le nom de déploiement du déploiement approvisionné que vous souhaitez migrer.

Sélectionner le nom d’un déploiement ouvre les Propriétés du modèle de déploiement. Dans cet affichage, sélectionnez le bouton modifier pour afficher la boîte de dialogue Mettre à jour le déploiement. Sélectionnez la liste déroulante de version du modèle pour définir une nouvelle version de modèle pour le déploiement approvisionné. Comme nous l’avons déjà indiqué, l’état d’approvisionnement passe à « mise à jour » pendant la migration et repasse sur « réussi » une fois la migration terminée.

Capture d’écran de la boîte de dialogue de mise à jour du déploiement avec le sélecteur de champ de version du modèle ouvert pour afficher les options de version du modèle disponibles pour la sélection.

Migration sur place : modification de la famille du modèle

La migration sur place qui cible la mise à jour d’un déploiement approvisionné existant vers une nouvelle famille de modèle est prise en charge via l’API REST et Azure CLI. Pour effectuer une migration sur place qui cible une modification de famille de modèle, utilisez l’exemple de requête ci-dessous comme guide. Dans la requête, vous devez mettre à jour le nom et la version du modèle pour le modèle cible vers lequel vous migrez.

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-4o-ptu-deployment?api-version=2024-10-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"GlobalProvisionedManaged","capacity":100},"properties": {"model": {"format": "OpenAI","name": "gpt-4o-mini","version": "2024-07-18"}}}'

Exemple de réponse

 {
  "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-4o-ptu-deployment",
  "type": "Microsoft.CognitiveServices/accounts/deployments",
  "name": "gpt-4o-ptu-deployment",
  "sku": {
    "name": "GlobalProvisionedManaged",
    "capacity": 100
  },
  "properties": {
    "model": {
      "format": "OpenAI",
      "name": "gpt-4o-mini",
      "version": "2024-07-18"
    },
    "versionUpgradeOption": "OnceCurrentVersionExpired",
    "currentCapacity": 100
    "capabilities": {
      "area": "EUR",
      "chatCompletion": "true"
      "jsonObjectResponse": "true",
      "maxContextToken": "128000",
      "maxOutputToken": "16834",
      "assistants": "true"
    },
    "provisioningState": "Updating",
    "rateLimits": [
      {
        "key": "request",
        "renewalPeriod": 10,
        "count": 300
      }
    ]
  },
  "systemData": {
    "createdBy": "docs@contoso.com",
    "createdByType": "User",
    "createdAt": "2025-01-28T02:57:15.8951706Z",
    "lastModifiedBy": "docs@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2025-01-29T15:35:53.082912Z"
  },
  "etag": "\"GUID\""
}

Remarque

Il existe plusieurs façons de générer un jeton d’autorisation. La méthode la plus simple pour le test initial consiste à lancer le service Cloud Shell à partir du Portail Azure. Exécutez ensuite az account get-access-token. Vous pouvez utiliser ce jeton comme jeton d’autorisation temporaire pour le test d’API.

Migrations multidéploiement pour déploiements approvisionnés

Les migrations multidéploiement vous permettent d’avoir plus de contrôle sur le processus de migration de modèle. Avec les migrations multidéploiement, vous pouvez dicter la rapidité avec laquelle vous souhaitez migrer votre trafic existant vers la version ou la famille de modèle cible sur un nouveau déploiement approvisionné. Le processus de migration vers une nouvelle version ou famille de modèle avec la méthode de migration multidéploiement est le suivant :

  • Créez un déploiement approvisionné. Pour ce nouveau déploiement, vous pouvez choisir de conserver le même type de déploiement approvisionné que votre déploiement existant ou sélectionner un nouveau type de déploiement si vous le souhaitez.
  • Transitionnez le trafic depuis le déploiement approvisionné existant vers le nouveau déploiement approvisionné avec votre version ou famille de modèle cible, jusqu’à ce que tout le trafic soit déchargé du déploiement d’origine.
  • Une fois le trafic migré vers le nouveau déploiement, vérifiez qu’aucune demande d’inférence n’est traitée sur le déploiement approvisionné précédent en veillant à ce que la métrique Demandes Azure OpenAI n’affiche aucun appel d’API effectué dans les 5 à 10 minutes suivant la migration du trafic d’inférence vers le nouveau déploiement. Pour plus d’informations sur cette métrique, consultez la documentation Surveiller Azure OpenAI.
  • Une fois que vous confirmez qu’aucun appel d’inférence n’a été effectué, supprimez le déploiement approvisionné d’origine.

Étapes suivantes