Compartir a través de


Implementación de modelos de Microsoft Foundry mediante código

Nota:

Este documento hace referencia al portal de Microsoft Foundry (clásico).

🔄 Cambie a la documentación de Microsoft Foundry (nueva) si usa el nuevo portal.

Nota:

Este documento hace referencia al portal de Microsoft Foundry (nuevo).

Importante

Si actualmente usa un SDK beta de inferencia de Azure AI con los modelos de Microsoft Foundry o el servicio Azure OpenAI, se recomienda encarecidamente realizar la transición a la API openAI/v1 disponible con carácter general, que usa un SDK estable de OpenAI.

Para más información sobre cómo migrar a la API de OpenAI/v1 mediante un SDK en el lenguaje de programación que prefiera, consulte Migración del SDK de inferencia de Azure AI a OpenAI SDK.

Puede decidir y configurar qué modelos están disponibles para la inferencia en el recurso de Microsoft Foundry. Al configurar un modelo, puede generar predicciones a partir de él especificando su nombre de modelo o nombre de implementación en las solicitudes. No es necesario realizar ningún otro cambio en el código para usar el modelo.

En este artículo, aprendé cómo agregar un nuevo modelo a un punto de conexión de Foundry Models.

Prerrequisitos

Para completar este artículo, necesitará lo siguiente:

  • Instale la CLI de Azure y la cognitiveservices extensión para Foundry Tools.

    az extension add -n cognitiveservices
    
  • Algunos de los comandos de este tutorial usan la jq herramienta , que podría no instalarse en el sistema. Para obtener las instrucciones de instalación, consulte Descargar jq.

  • Identifique la siguiente información:

    • Su identificador de suscripción de Azure.

    • Nombre del recurso de Foundry Tools.

    • El grupo de recursos donde implementó el recurso Foundry Tools.

Agregar modelos

Para agregar un modelo, primero identifique el modelo que desea implementar. Puede consultar los modelos disponibles de la siguiente manera:

  1. Inicio de sesión en la suscripción de Azure.

    az login
    
  2. Si tiene más de una suscripción, seleccione la suscripción donde se encuentra el recurso.

    az account set --subscription $subscriptionId
    
  3. Establezca las siguientes variables de entorno con el nombre del recurso de Foundry Tools que planea usar y el grupo de recursos.

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Si aún no ha creado una cuenta de Foundry Tools, cree una.

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    
  5. Compruebe qué modelos están disponibles para usted y en qué SKU. Las SKU, también conocidas como tipos de implementación, definen cómo se usa la infraestructura de Azure para procesar solicitudes. Los modelos pueden ofrecer diferentes tipos de implementación. El siguiente comando enumera todas las definiciones de modelo disponibles:

    az cognitiveservices account list-models \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'
    
  6. Las salidas tienen el siguiente aspecto:

    {
      "name": "Phi-3.5-vision-instruct",
      "format": "Microsoft",
      "version": "2",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    
  7. Identifique el modelo que quiere implementar. Necesita las propiedades name, format, version y sku. La propiedad format indica el proveedor que ofrece el modelo. También puede necesitar capacidad en función del tipo de implementación.

  8. Agregue la implementación de modelo al recurso. En el siguiente ejemplo se agrega Phi-3.5-vision-instruct:

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-3.5-vision-instruct \
        --model-name Phi-3.5-vision-instruct \
        --model-version 2 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    
  9. El modelo está listo para usarse.

Puede implementar el mismo modelo varias veces si es necesario siempre que esté bajo un nombre de implementación diferente. Esta funcionalidad puede ser útil si desea probar configuraciones diferentes para un modelo determinado, incluidos los filtros de contenido.

Uso del modelo

Los modelos implementados en se pueden consumir mediante el punto de conexión de inferencia del modelo de Azure AI para el recurso. Al construir la solicitud, indique el parámetro model e inserte el nombre de la implementación de modelo que ha creado. Puede obtener mediante programación el URI del punto de conexión de la inferencia mediante el siguiente código:

Extremo de inferencia

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Para realizar solicitudes al punto de conexión de Microsoft Foundry Models, anexe la ruta models, por ejemplo https://<resource>.services.ai.azure.com/models. Puede ver la referencia de API para el punto de conexión en la página de referencia de la API de inferencia de modelos de Azure AI.

Claves de la inferencia

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

Administración de implementaciones

Puede ver todas las implementaciones disponibles con la CLI:

  1. Ejecute el comando siguiente para ver todas las implementaciones activas:

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    
  2. Puede ver los detalles de una implementación determinada:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    
  3. Puede eliminar una implementación determinada de la siguiente manera:

    az cognitiveservices account deployment delete \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

Puede decidir y configurar qué modelos están disponibles para la inferencia en el recurso de Microsoft Foundry. Al configurar un modelo, puede generar predicciones a partir de él especificando su nombre de modelo o nombre de implementación en las solicitudes. No es necesario realizar ningún otro cambio en el código para usar el modelo.

En este artículo, aprendé cómo agregar un nuevo modelo a un punto de conexión de Foundry Models.

Prerrequisitos

Para completar este artículo, necesitará lo siguiente:

  • Instale la CLI de Azure.

  • Identifique la siguiente información:

    • Su identificador de suscripción de Azure.

    • Nombre del recurso de Microsoft Foundry (anteriormente conocido como recurso de Azure AI Services).

    • El grupo de recursos donde se implementa el recurso Foundry.

    • Nombre del modelo, proveedor, versión y SKU que desea implementar. Puede usar el portal de Foundry o la CLI de Azure para encontrar esta información. En este ejemplo, implementará el siguiente modelo:

      • Nombre del modelo:: Phi-3.5-vision-instruct
      • Proveedor: Microsoft
      • Versión:2
      • Tipo de implementación: estándar global

Acerca de este tutorial

El ejemplo de este artículo se basa en los ejemplos de código incluidos en el repositorio Azure-Samples/azureai-model-inference-bicep. Para ejecutar los comandos localmente sin tener que copiar o pegar contenido de archivo, use los siguientes comandos para clonar el repositorio y vaya a la carpeta del lenguaje de codificación:

git clone https://github.com/Azure-Samples/azureai-model-inference-bicep

Los archivos de este ejemplo están en:

cd azureai-model-inference-bicep/infra

Permisos necesarios para suscribirse a modelos de asociados y comunidad

Los modelos Foundry de socios y de la comunidad disponibles para el despliegue (por ejemplo, modelos Cohere) requieren Azure Marketplace. Los proveedores de modelos definen los términos de licencia y establecen el precio para su uso de sus modelos mediante Azure Marketplace.

Al implementar modelos de terceros, asegúrese de que tiene los permisos siguientes en su cuenta:

  • En la suscripción de Azure:
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • En el grupo de recursos, para crear y usar el recurso de SaaS:
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

Agregar el modelo

  1. Use la plantilla ai-services-deployment-template.bicep para describir las implementaciones de modelos:

    ai-services-deployment-template.bicep

    @description('Name of the Azure AI services account')
    param accountName string
    
    @description('Name of the model to deploy')
    param modelName string
    
    @description('Version of the model to deploy')
    param modelVersion string
    
    @allowed([
      'AI21 Labs'
      'Cohere'
      'Core42'
      'DeepSeek'
      'xAI'
      'Meta'
      'Microsoft'
      'Mistral AI'
      'OpenAI'
    ])
    @description('Model provider')
    param modelPublisherFormat string
    
    @allowed([
        'GlobalStandard'
        'DataZoneStandard'
        'Standard'
        'GlobalProvisioned'
        'Provisioned'
    ])
    @description('Model deployment SKU name')
    param skuName string = 'GlobalStandard'
    
    @description('Content filter policy name')
    param contentFilterPolicyName string = 'Microsoft.DefaultV2'
    
    @description('Model deployment capacity')
    param capacity int = 1
    
    resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = {
      name: '${accountName}/${modelName}'
      sku: {
        name: skuName
        capacity: capacity
      }
      properties: {
        model: {
          format: modelPublisherFormat
          name: modelName
          version: modelVersion
        }
        raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName
      }
    }
    
  2. Ejecute la implementación:

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-3.5-vision-instruct"
    PROVIDER="Microsoft"
    VERSION=2
    
    az deployment group create \
        --resource-group $RESOURCE_GROUP \
        --template-file ai-services-deployment-template.bicep \
        --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
    

Uso del modelo

Los modelos implementados en se pueden consumir mediante el punto de conexión de inferencia del modelo de Azure AI para el recurso. Al construir la solicitud, indique el parámetro model e inserte el nombre de la implementación de modelo que ha creado. Puede obtener mediante programación el URI del punto de conexión de la inferencia mediante el siguiente código:

Extremo de inferencia

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Para realizar solicitudes al punto de conexión de Foundry Models, anexe la ruta models, por ejemplo https://<resource>.services.ai.azure.com/models. Puede ver la referencia de API para el punto de conexión en la página de referencia de la API de inferencia de modelos de Azure AI.

Claves de la inferencia

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

Paso siguiente