Trabalhar com modelos OpenAI do Azure
O Azure OpenAI Service tem a tecnologia diversificada de um conjunto de modelos com diferentes capacidades e níveis de preços. A disponibilidade do modelo varia de acordo com a região.
Você pode obter uma lista de modelos que estão disponíveis para inferência e ajuste fino pelo seu recurso do Azure OpenAI usando a API de Lista de Modelos.
Atualizações de modelo
O Azure OpenAI agora dá suporte a atualizações automáticas para implantações de modelos selecionados. Em modelos em que o suporte a atualizações automáticas está disponível, uma lista suspensa de versão do modelo é visível no portal do Azure AI Foundry em Implantações e Editar:
Você pode saber mais sobre as versões do modelo do Azure OpenAI e como elas funcionam no artigo Versões do modelo do Azure OpenAI.
Nota
As atualizações automáticas de modelo só são suportadas para tipos de implantação padrão. Para obter mais informações sobre como gerenciar atualizações de modelo e migrações em tipos de implantação provisionada, consulte a seção sobre gerenciamento de modelos em tipos de implantação provisionados
Atualização automática para padrão
Quando você define sua implantação como Atualização automática como padrão, sua implantação de modelo é atualizada automaticamente dentro de duas semanas após uma alteração na versão padrão. Para uma versão de visualização, ele é atualizado automaticamente quando uma nova versão de visualização está disponível a partir de duas semanas após o lançamento da nova versão de visualização.
Se você ainda estiver nas fases iniciais de teste para modelos de inferência, recomendamos implantar modelos com atualização automática para o conjunto padrão sempre que estiver disponível.
Versão específica do modelo
À medida que seu uso do Azure OpenAI evolui e você começa a criar e integrar com aplicativos, talvez queira controlar manualmente as atualizações do modelo. Você pode primeiro testar e validar se o comportamento do aplicativo é consistente para seu caso de uso antes de atualizar.
Quando você seleciona uma versão de modelo específica para uma implantação, essa versão permanece selecionada até que você opte por se atualizar manualmente ou quando atingir a data de desativação do modelo. Quando a data de aposentadoria for atingida, o modelo será automaticamente atualizado para a versão padrão no momento da aposentadoria.
Visualizando datas de aposentadoria
Para modelos atualmente implantados, no portal do Azure AI Foundry, selecione Implantações:
Configuração de atualização de implantação de modelo
Você pode verificar quais opções de atualização de modelo estão definidas para modelos implantados anteriormente no portal do Azure AI Foundry. Selecione Implantações> Na coluna Nome da implantação, selecione um dos nomes de implantação realçados em azul.
Selecionar um nome de implantação abre as Propriedades para a implantação do modelo. Você pode visualizar quais opções de atualização estão definidas para sua implantação em Política de atualização de versão:
A propriedade correspondente também pode ser acessada via REST, Azure PowerShell e Azure CLI.
Opção | Ler | Atualizar |
---|---|---|
REST | Sim. Se versionUpgradeOption não for devolvido, significa que é null |
Sim |
Azure PowerShell | Sim.
VersionUpgradeOption pode ser verificado para $null |
Sim |
CLI do Azure | Sim. Mostra null se versionUpgradeOption não está definido. |
N.º No momento, não é possível atualizar a opção de atualização de versão. |
Há três opções distintas de atualização de implantação de modelo:
Nome | Descrição |
---|---|
OnceNewDefaultVersionAvailable |
Quando uma nova versão é designada como padrão, a implantação do modelo é atualizada automaticamente para a versão padrão dentro de duas semanas após a alteração de designação ser feita. |
OnceCurrentVersionExpired |
Quando a data de desativação é atingida, a implantação do modelo atualiza automaticamente para a versão padrão atual. |
NoAutoUpgrade |
A implantação do modelo nunca é atualizada automaticamente. Quando a data de aposentadoria é atingida, a implantação do modelo para de funcionar. Você precisa atualizar seu código que faz referência a essa implantação para apontar para uma implantação de modelo não expirado. |
Nota
null
é equivalente a OnceCurrentVersionExpired
. Se a opção Política de atualização de versão não estiver presente nas propriedades de um modelo que ofereça suporte a atualizações de modelo, isso indica que o valor está no momento null
. Depois de modificar explicitamente esse valor, a propriedade fica visível na página de propriedades do estúdio, bem como por meio da API REST.
Exemplos
Consulte o guia de introdução do Azure PowerShell para instalar o Azure PowerShell localmente ou você pode usar o Azure Cloud Shell.
As etapas abaixo demonstram a verificação da propriedade da opção, bem como a VersionUpgradeOption
atualização:
// 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.
Atualizar e implantar modelos por meio da 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 caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
acountname |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
deploymentName |
string | Obrigatório | O nome da implantação que você escolheu quando implantou um modelo existente ou o nome que você gostaria que uma nova implantação de modelo tivesse. |
resourceGroupName |
string | Obrigatório | O nome do grupo de recursos associado para essa implantação de modelo. |
subscriptionId |
string | Obrigatório | ID da subscrição associada. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Segue o formato AAAA-MM-DD. |
Versões suportadas
-
2023-05-01
Especificações Swagger
Corpo do pedido
Este é apenas um subconjunto dos parâmetros disponíveis do corpo da solicitação. Para obter a lista completa dos parâmetros, consulte a documentação de referência da API REST.
Parâmetro | Tipo | Description |
---|---|---|
versionUpgradeOption | String | Opções de atualização da versão do modelo de implantação:OnceNewDefaultVersionAvailable OnceCurrentVersionExpired NoAutoUpgrade |
capacidade | integer | Isso representa a quantidade de cota que você está atribuindo a essa implantação. Um valor de 1 é igual a 1.000 Tokens por Minuto (TPM) |
Pedido de exemplo
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
Há várias maneiras de gerar um token de autorização. O método mais fácil para teste inicial é iniciar o Cloud Shell a partir do portal do Azure. Em seguida, execute o az account get-access-token
. Você pode usar esse token como seu token de autorização temporária para testes de API.
Resposta de exemplo
{
"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\""
}
Gerenciando modelos em tipos de implantação provisionados
As implantações provisionadas oferecem suporte a práticas distintas de gerenciamento de modelos. As práticas de gerenciamento de modelos de implantação provisionada destinam-se a oferecer o maior controle sobre quando e como migrar entre versões de modelos e famílias de modelos. Atualmente, há duas abordagens disponíveis para gerenciar modelos em implantações provisionadas: (1) migrações in-loco e (2) migrações multiimplantação.
Pré-requisitos
- Valide se a versão do modelo de destino ou a família de modelos é suportada para o seu tipo de implantação existente. As migrações só podem ocorrer entre implantações provisionadas do mesmo tipo de implantação. Para obter mais informações sobre tipos de implantação, consulte a documentação do tipo de implantação.
- Valide a disponibilidade de capacidade para sua versão de modelo de destino ou família de modelos antes de tentar uma migração. Para obter mais informações sobre como determinar a disponibilidade da capacidade, consulte a documentação de transparência da capacidade.
- Para migrações com várias implantações, valide se você tem cota suficiente para dar suporte a várias implantações simultaneamente. Para obter mais informações sobre como validar a cota para cada tipo de implantação provisionada, consulte a documentação da cota provisionada.
Migrações in-loco para implantações provisionadas
As migrações in-loco permitem que você mantenha o mesmo nome e tamanho de implantação provisionada enquanto altera a versão do modelo ou a família de modelos atribuída a essa implantação. Com migrações in-loco, o Serviço OpenAI do Azure cuida da migração de qualquer tráfego existente entre versões de modelo ou famílias de modelos durante toda a migração durante uma janela de 20 a 30 minutos. Durante toda a janela de migração, sua implantação provisionada exibirá um estado provisionado de "atualização". Você pode continuar a usar sua implantação provisionada como faria normalmente. Quando a migração in-loco estiver concluída, o estado provisionado será atualizado para "bem-sucedido", indicando que todo o tráfego foi migrado para a versão do modelo de destino ou família de modelos.
Migração in-loco: atualização da versão do modelo
As migrações in-loco destinadas à atualização de uma implantação provisionada existente para uma nova versão de modelo dentro da mesma família de modelos são suportadas por meio do Azure AI Foundry, da API REST e da CLI do Azure. Para executar uma migração in-loco direcionada a uma atualização de versão de modelo no Azure AI Foundry, selecione Implantações> na coluna nome da implantação, selecione o nome da implantação da implantação provisionada que você deseja migrar.
Selecionar um nome de implantação abre as Propriedades para a implantação do modelo. Nessa exibição, selecione o botão de edição , que mostrará a caixa de diálogo Atualizar implantação . Selecione a lista suspensa Versão do modelo para definir uma nova versão do modelo para a implantação provisionada. Conforme observado, o estado de provisionamento mudará para "atualização" durante a migração e será revertido para "bem-sucedido" assim que a migração for concluída.
Migração in-loco: mudança de família modelo
A migração in-loco destinada à atualização de uma implantação provisionada existente para uma nova família de modelos tem suporte por meio da API REST e da CLI do Azure. Para executar uma migração in-loco direcionada a uma alteração de família modelo, use a solicitação de exemplo abaixo como um guia. Na solicitação, você precisará atualizar o nome do modelo e a versão do modelo para o modelo de destino para o qual está migrando.
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"}}}'
Resposta de exemplo
{
"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\""
}
Nota
Há várias maneiras de gerar um token de autorização. O método mais fácil para teste inicial é iniciar o Cloud Shell a partir do portal do Azure. Em seguida, execute o az account get-access-token
. Você pode usar esse token como seu token de autorização temporária para testes de API.
Migrações de várias implantações para implantações provisionadas
As migrações de várias implantações permitem que você tenha maior controle sobre o processo de migração do modelo. Com migrações de várias implantações, você pode ditar a rapidez com que deseja migrar seu tráfego existente para a versão do modelo de destino ou família de modelos em uma nova implantação provisionada. O processo para migrar para uma nova versão de modelo ou família de modelos usando a abordagem de migração de várias implantações é o seguinte:
- Crie uma nova implantação provisionada. Para essa nova implantação, você pode optar por manter o mesmo tipo de implantação provisionada que a implantação existente ou selecionar um novo tipo de implantação, se desejar.
- Transfira o tráfego da implantação provisionada existente para a implantação provisionada recém-criada com sua versão de modelo de destino ou família de modelos até que todo o tráfego seja descarregado da implantação original.
- Depois que o tráfego for migrado para a nova implantação, valide se não há solicitações de inferência sendo processadas na implantação provisionada anterior, garantindo que a métrica Solicitações OpenAI do Azure não mostre nenhuma chamada de API feita dentro de 5 a 10 minutos do tráfego de inferência que está sendo migrado para a nova implantação. Para obter mais informações sobre essa métrica, consulte a documentação do Monitor Azure OpenAI.
- Depois de confirmar que nenhuma chamada de inferência foi feita, exclua a implantação provisionada original.