Partilhar via


Implementar Modelos Microsoft Foundry usando código

Observação

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

🔄 Altere para a nova documentação do Microsoft Foundry se estiver a utilizar o novo portal.

Observação

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

Importante

Se está atualmente a usar um SDK beta Azure AI Inference com Microsoft Foundry Models ou o serviço Azure OpenAI, recomendamos vivamente que faça a transição para a API OpenAI/v1 geralmente disponível, que utiliza um SDK estável da OpenAI.

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

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

Neste artigo, aprende como adicionar um novo modelo a um endpoint da Foundry Models.

Pré-requisitos

Para concluir este artigo, precisa de:

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

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

  • Identifique as seguintes informações:

    • O seu ID de subscrição do Azure.

    • O nome do seu recurso Foundry Tools.

    • O grupo de recursos onde implementaste o recurso Foundry Tools.

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 na sua assinatura do Azure.

    az login
    
  2. Se você tiver mais de uma assinatura, selecione a assinatura onde seu recurso está localizado.

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

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Se ainda não criaste uma conta no Foundry Tools, cria 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 sob qual SKU. Os SKUs, também conhecidos como tipos de implementação, definem como a infraestrutura do Azure é utilizada para processar pedidos. 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. Os resultados aparecem da seguinte forma:

    {
      "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 fornecedor que oferece o modelo. Você também pode precisar de capacidade, dependendo do tipo de implantação.

  8. Adicione a implantação do 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 esteja sob um nome de implantação diferente. Esse recurso pode ser útil se você quiser testar configurações diferentes para um determinado modelo, incluindo filtros de conteúdo.

Use o modelo

Os modelos implantados podem ser consumidos usando o ponto de extremidade de inferência do modelo de IA do Azure para o 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 final de inferência

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

Para fazer pedidos ao endpoint Microsoft Foundry Models, anexe 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

Gerenciar 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
    

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

Neste artigo, aprende como adicionar um novo modelo a um endpoint da Foundry Models.

Pré-requisitos

Para concluir este artigo, precisa de:

  • Instale a CLI do Azure.

  • Identifique as seguintes informações:

    • O seu ID de subscrição do Azure.

    • O nome do seu recurso Microsoft Foundry (anteriormente conhecido como recurso Azure AI Services).

    • O grupo de recursos onde o recurso Foundry é implementado.

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

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

Acerca deste tutorial

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

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

Os arquivos para este exemplo estão em:

cd azureai-model-inference-bicep/infra

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

Modelos Foundry de parceiros e da comunidade disponíveis para implantação (por exemplo, modelos Cohere) necessitam do Azure Marketplace. Os fornecedores de modelos definem os termos de licença e definem o preço para a utilização dos seus modelos utilizando 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 usar 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. Inicie 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
    

Use o modelo

Os modelos implantados podem ser consumidos usando o ponto de extremidade de inferência do modelo de IA do Azure para o 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 final de inferência

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

Para fazer pedidos ao endpoint Foundry Models, anexe 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óximo passo