Compartilhar via


Implantar modelos do Microsoft Foundry usando código

Observação

Este documento refere-se ao portal do Microsoft Foundry (clássico ).

🔄 Alterne para a documentação nova do Microsoft Foundry se você estiver usando o novo portal.

Observação

Este documento refere-se ao portal do Microsoft Foundry (novo ).

Importante

Se você estiver usando um SDK beta de Inferência de IA do Azure com o Microsoft Foundry Models ou o serviço Azure OpenAI, é altamente recomendável fazer a transição para a API OpenAI/v1, que usa um SDK estável do OpenAI.

Para obter mais informações sobre como migrar para a API OpenAI/v1 usando um SDK em sua linguagem de programação de sua escolha, consulte Migrar do SDK de Inferência de IA do Azure para o SDK do OpenAI.

Você pode decidir e configurar quais modelos estão disponíveis para inferência em seu recurso do Microsoft Foundry. Ao configurar um modelo, você pode gerar previsões dele especificando seu nome de modelo ou nome de implantação em suas solicitações. Você não precisa fazer outras alterações no código para usar o modelo.

Neste artigo, você aprenderá a adicionar um novo modelo a um endpoint do Foundry Models.

Pré-requisitos

Para concluir este artigo, você precisa do seguinte:

  • Instale a CLI do Azure e a extensão cognitiveservices para Foundry Tools.

    az extension add -n cognitiveservices
    
  • Alguns dos comandos neste tutorial usam a jq ferramenta, que pode não estar instalada em seu sistema. Para obter instruções de instalação, confira Baixar jq.

  • Identifique as seguintes informações:

    • Sua ID da assinatura do Azure.

    • O nome do recurso Foundry Tools.

    • O grupo de recursos onde você implantou o recurso de Ferramentas Foundry.

Adicionar modelos

Para adicionar um modelo, primeiro identifique o modelo que você deseja implantar. Você pode consultar os modelos disponíveis da seguinte maneira:

  1. Entre em sua assinatura do Azure.

    az login
    
  2. Se você tiver mais de uma assinatura, selecione a assinatura em que o recurso está localizado.

    az account set --subscription $subscriptionId
    
  3. Defina as seguintes variáveis de ambiente com o nome do recurso Ferramentas Foundry que você planeja usar e o grupo de recursos.

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Se você ainda não criou uma conta de Foundry Tools, crie uma.

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    
  5. Verifique quais modelos estão disponíveis para você e em qual SKU. OS SKUs, também conhecidos como tipos de implantação, definem como a infraestrutura do Azure é usada para processar solicitações. Os modelos podem oferecer diferentes tipos de implantação. O comando a seguir lista todas as definições de modelo disponíveis:

    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. As saídas são as seguintes:

    {
      "name": "Phi-3.5-vision-instruct",
      "format": "Microsoft",
      "version": "2",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    
  7. Identifique o modelo que você deseja implantar. Você precisa das propriedades name, format, version e sku. A propriedade format indica o provedor que oferece o modelo. Você também pode precisar de capacidade dependendo do tipo de implantação.

  8. Adicione a implantação de modelo ao recurso. O exemplo a seguir adiciona 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. O modelo está pronto para uso.

Você pode implantar o mesmo modelo várias vezes, se necessário, desde que ele esteja em um nome de implantação diferente. Essa funcionalidade poderá ser útil se você quiser testar configurações diferentes para um determinado modelo, incluindo filtros de conteúdo.

Usar o modelo

Os modelos implantados podem ser consumidos usando o Ponto de extremidade de inferência do modelo de IA do Azure do recurso. Ao construir sua solicitação, indique o parâmetro model e insira o nome de implantação do modelo que você criou. Você pode obter programaticamente o URI para o ponto de extremidade de inferência usando o seguinte código:

Ponto de extremidade de inferência

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

Para fazer solicitações ao endpoint de modelos do Microsoft Foundry, acrescente a rota models, por exemplo https://<resource>.services.ai.azure.com/models. Você pode ver a referência de API para o ponto de extremidade na página de referência da API de Inferência de Modelo de IA do Azure.

Chaves de inferência

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

Administrar implantações

Você pode ver todas as implantações disponíveis usando a CLI:

  1. Execute o seguinte comando para ver todas as implantações ativas:

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    
  2. Você pode ver os detalhes de uma determinada implantação:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    
  3. Você pode excluir uma determinada implantação da seguinte maneira:

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

Você pode decidir e configurar quais modelos estão disponíveis para inferência em seu recurso do Microsoft Foundry. Ao configurar um modelo, você pode gerar previsões dele especificando seu nome de modelo ou nome de implantação em suas solicitações. Você não precisa fazer outras alterações no código para usar o modelo.

Neste artigo, você aprenderá a adicionar um novo modelo a um endpoint do Foundry Models.

Pré-requisitos

Para concluir este artigo, você precisa do seguinte:

  • Instale a CLI do Azure.

  • Identifique as seguintes informações:

    • Sua ID da assinatura do Azure.

    • O nome do recurso Microsoft Foundry (anteriormente conhecido como recurso dos Serviços de IA do Azure).

    • O grupo de recursos em que o recurso Foundry é implantado.

    • O nome do modelo, provedor, versão e SKU que você deseja implantar. Você pode usar o portal do Foundry ou a CLI do Azure para encontrar essas informações. Neste exemplo, você implanta o seguinte modelo:

      • Nome do modelo:: Phi-3.5-vision-instruct
      • Provedor: Microsoft
      • Versão:2
      • Tipo de implantação: padrão global

Sobre este tutorial

O exemplo neste artigo baseia-se em exemplos de código contidos no repositório Azure-Samples/azureai-model-inference-bicep. Para executar os comandos localmente sem precisar copiar ou colar o conteúdo do arquivo, use os seguintes comandos para clonar o repositório e ir para a pasta do idioma de codificação:

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

Os arquivos desse exemplo estão em:

cd azureai-model-inference-bicep/infra

Permissões necessárias para assinar Modelos de Parceiros e Comunidade

Modelos da Fábrica de parceiros e da comunidade disponíveis para implantação (por exemplo, modelos Cohere) exigem Azure Marketplace. Os provedores de modelo definem os termos de licença e definem o preço para o uso de seus modelos usando o Azure Marketplace.

Ao implantar modelos de terceiros, verifique se você tem as seguintes permissões em sua conta:

  • Na assinatura do 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
  • No grupo de recursos, para criar e utilizar o recurso SaaS:
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

Adicionar o modelo

  1. Use o modelo ai-services-deployment-template.bicep para descrever implantações de modelo:

    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. Execute a implantação:

    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
    

Usar o modelo

Os modelos implantados podem ser consumidos usando o Ponto de extremidade de inferência do modelo de IA do Azure do recurso. Ao construir sua solicitação, indique o parâmetro model e insira o nome de implantação do modelo que você criou. Você pode obter programaticamente o URI para o ponto de extremidade de inferência usando o seguinte código:

Ponto de extremidade de inferência

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

Para fazer solicitações ao ponto de extremidade dos Modelos da Fábrica, acrescente a rota models, por exemplo, https://<resource>.services.ai.azure.com/models. Você pode ver a referência de API para o ponto de extremidade na página de referência da API de Inferência de Modelo de IA do Azure.

Chaves de inferência

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

Próxima etapa