Trabajar con modelos de Azure OpenAI

Azure OpenAI Service cuenta con una amplia gama de modelos con diferentes funcionalidades y puntos de precio. La disponibilidad de los modelos varía según la región.

Puede obtener una lista de los modelos que están disponibles para inferencia y optimización por el recurso Azure OpenAI mediante la API de lista de modelos.

Actualizaciones del modelo

Azure OpenAI ahora admite actualizaciones automáticas para las implementaciones de modelos seleccionados. En los modelos en los que está disponible la compatibilidad con las actualizaciones automáticas, aparecerá una lista desplegable de versión del modelo en Azure OpenAI Studio en Crear nueva implementación y Editar implementación:

Screenshot of the deploy model UI of Azure OpenAI Studio.

Puede obtener más información sobre las versiones del modelo de Azure OpenAI y cómo funcionan en el artículo Versiones del modelo de Azure OpenAI.

Actualizar automáticamente al valor predeterminado

Al establecer la implementación en Actualización automática en predeterminada, la implementación de modelo se actualiza automáticamente en un plazo de dos semanas después de un cambio en la versión predeterminada. Para una versión preliminar, se actualiza automáticamente cuando una nueva versión preliminar esté disponible a partir de dos semanas después de que se publique la nueva versión preliminar.

Si todavía está en las primeras fases de las pruebas de modelos de inferencia, se recomienda implementar los modelos con la opción Actualización automática a la versión predeterminada activada siempre que esté disponible.

Versión específica del modelo

A medida que el uso de Azure OpenAI evoluciona y empieza a compilar e integrar con aplicaciones, es posible que quiera controlar manualmente las actualizaciones del modelo. En primer lugar, puede probar y validar que el comportamiento de la aplicación es coherente para el caso de uso antes de actualizar.

Al seleccionar una versión de modelo específica para una implementación, esta versión permanecerá seleccionada hasta que elija actualizar manualmente o una vez que se alcance la fecha de retirada del modelo. Cuando se alcance la fecha de retirada, el modelo se actualizará automáticamente a la versión predeterminada en el momento de la retirada.

Visualización de fechas de retirada

Para los modelos implementados actualmente, en Azure OpenAI Studio, seleccione Implementaciones:

Screenshot of the deployment UI of Azure OpenAI Studio.

Para ver las fechas de retirada de todos los modelos disponibles en una región determinada de Azure OpenAI Studio, seleccione Modelos>Opciones de columna> Seleccione Ajuste preciso del desuso e Inferencia del desuso:

Screenshot of the models UI of Azure OpenAI Studio.

Configuración de actualización de la implementación de modelos

Puede comprobar qué opciones de actualización de modelos se establecen para los modelos implementados previamente en Azure OpenAI Studio. Seleccione Implementaciones>. En la columna Nombre de implementación, seleccione uno de los nombres de implementación resaltados en azul.

Screenshot of the deployments pane with a deployment name highlighted.

Al seleccionar un nombre de implementación, se abren las Propiedades de la implementación de modelo. Puede ver qué opciones de actualización están establecidas para la implementación en Directiva de actualización de versiones:

Screenshot of the model deployments property UI.

También se puede acceder a la propiedad correspondiente mediante REST, Azure PowerShelly la CLI de Azure.

Opción Leído Actualizar
REST Sí. Si no se devuelve versionUpgradeOption, significa que es null
Azure PowerShell Sí.Se puede comprobar $null en VersionUpgradeOption
CLI de Azure Sí. Muestra null si versionUpgradeOption no se ha establecido. No. Actualmente no es posible actualizar la opción de actualización de versión.

Hay tres opciones de actualización de implementación de modelos distintas:

Nombre Descripción
OnceNewDefaultVersionAvailable Una vez que se ha designado una nueva versión como predeterminada, la implementación de modelo se actualiza automáticamente a la versión predeterminada en un plazo de dos semanas después de que se haya cambiado esa designación.
OnceCurrentVersionExpired Cuando se alcanza la fecha de la retirada, la implementación de modelo se actualiza automáticamente a la versión predeterminada actual.
NoAutoUpgrade La implementación de modelo nunca se actualizará automáticamente. Una vez alcanzada la fecha de la retirada, la implementación de modelo deja de funcionar. Deberá actualizar el código que hace referencia a esa implementación para que apunte a una implementación de modelos que no haya expirado.

Nota:

null equivale a AutoUpgradeWhenExpired. Si la opción Directiva de actualización de versiones no está presente en las propiedades de un modelo que admite actualizaciones, significa que el valor es actualmente null. Una vez que modifique explícitamente este valor, la propiedad estará visible en la página de propiedades de Estudio, así como a través de la API de REST.

Ejemplos

Revise la guía de introducción de Azure PowerShell para instalar Azure PowerShell localmente, o bien puede usar Azure Cloud Shell.

En los pasos siguientes se muestra cómo comprobar la propiedad de opción VersionUpgradeOption así como actualizarla:

// 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.

Actualización e implementación de modelos mediante la API

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
acountname string Obligatorio Nombre del recurso de Azure OpenAI.
deploymentName string Obligatorio Nombre de la implementación que eligió al implementar un modelo existente o el nombre que desea que tenga una nueva implementación de modelo.
resourceGroupName string Obligatorio Nombre del grupo de recursos asociado para esta implementación de modelo.
subscriptionId string Obligatorio Identificador de suscripción de la suscripción asociada.
api-version string Obligatorio Versión de API que se usará para la operación. Sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Este es solo un subconjunto de los parámetros del cuerpo de la solicitud disponibles. Para obtener la lista completa de los parámetros, puede consultar la Documentación de referencia de API de REST.

Parámetro Tipo Descripción
versionUpgradeOption String Opciones de actualización de la versión del modelo de implementación:
OnceNewDefaultVersionAvailable
OnceCurrentVersionExpired
NoAutoUpgrade
capacity integer Esto representa la cantidad de cuota que va a asignar a esta implementación. Un valor de 1 es igual a 1000 tokens por minuto (TPM)

Solicitud de ejemplo

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"}}'

Nota:

Hay varias maneras de generar un token de autorización. El método más sencillo para las pruebas iniciales es iniciar Cloud Shell desde Azure Portal. A continuación, ejecute az account get-access-token. Puede usar este token como token de autorización temporal para las pruebas de API.

Respuesta de ejemplo

 {
  "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\""
}

Pasos siguientes