Depois de ajustar um modelo, convém testar sua qualidade por meio da API de conclusão do bate-papo ou do serviço de avaliações .
Uma implantação de camada de desenvolvedor permite que você implante seu novo modelo sem a taxa de hospedagem por hora incorrida por implantações Standard ou Global. Os únicos encargos incorridos são por token. Consulte a página de preços para obter os preços mais up-todata.
Importante
O nível de desenvolvedor não oferece SLA de disponibilidade e nenhuma garantia de residência de dados . Se você precisar de um SLA ou residência de dados, escolha um tipo de implantação alternativo para testar seu modelo.
As implantações da camada de desenvolvedor têm uma vida útil fixa de 24 horas. Saiba mais abaixo sobre o ciclo de vida da implantação.
Implante o seu modelo afinado
Para implantar seu candidato a modelo, selecione o modelo ajustado a ser implantado e, em seguida, selecione Implantar.
A caixa de diálogo Implantar modelo é aberta. Na caixa de diálogo, digite seu Nome de implantação e selecione Desenvolvedor na lista suspensa Tipo de implantação. Selecione Criar para iniciar a implantação do seu modelo personalizado.
Você pode monitorar o progresso de sua nova implantação no painel Implantações no portal do Azure AI Foundry.
import json
import os
import requests
token = os.getenv("<TOKEN>")
subscription = "<YOUR_SUBSCRIPTION_ID>"
resource_group = "<YOUR_RESOURCE_GROUP_NAME>"
resource_name = "<YOUR_AZURE_OPENAI_RESOURCE_NAME>"
model_deployment_name = "gpt41-mini-candidate-01" # custom deployment name that you will use to reference the model when making inference calls.
deploy_params = {'api-version': "2024-10-21"}
deploy_headers = {'Authorization': 'Bearer {}'.format(token), 'Content-Type': 'application/json'}
deploy_data = {
"sku": {"name": "developer", "capacity": 50},
"properties": {
"model": {
"format": "OpenAI",
"name": <"fine_tuned_model">, #retrieve this value from the previous call, it will look like gpt41-mini-candidate-01.ft-b044a9d3cf9c4228b5d393567f693b83
"version": "1"
}
}
}
deploy_data = json.dumps(deploy_data)
request_url = f'https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resource_group}/providers/Microsoft.CognitiveServices/accounts/{resource_name}/deployments/{model_deployment_name}'
print('Creating a new deployment...')
r = requests.put(request_url, params=deploy_params, headers=deploy_headers, data=deploy_data)
print(r)
print(r.reason)
print(r.json())
variável |
Definição |
token |
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 az account get-access-token . Você pode usar esse token como seu token de autorização temporária para testes de API. Recomendamos armazená-lo em uma nova variável de ambiente. |
subscrição |
A ID de assinatura para o recurso associado do Azure OpenAI. |
grupo_de_recursos |
O nome do grupo de recursos para seu recurso do Azure OpenAI. |
nome_do_recurso |
O nome de recurso do Microsoft Azure OpenAI. |
Nome_de_implantação_do_modelo |
O nome personalizado para a sua nova implementação de modelo ajustado. Este é o nome que será referenciado no seu código ao fazer chamadas de conclusão de chat. |
modelo ajustado |
Recupere esse valor dos resultados do trabalho de ajuste fino na etapa anterior. Vai parecer gpt41-mini-candidate-01.ft-b044a9d3cf9c4228b5d393567f693b83 . Você precisará agregar esse valor ao deploy_data json. Como alternativa, você também pode implantar um ponto de verificação, passando o ID do ponto de verificação que aparecerá no formato ftchkpt-e559c011ecc04fc68eaa339d8227d02d |
O exemplo a seguir mostra como usar a API REST para criar uma implantação de modelo para seu modelo personalizado. A API REST gera um nome para a implantação do seu modelo personalizado.
curl -X POST "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>api-version=2024-10-21" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"sku": {"name": "developer", "capacity": 50},
"properties": {
"model": {
"format": "OpenAI",
"name": "<FINE_TUNED_MODEL>",
"version": "1"
}
}
}'
variável |
Definição |
token |
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 az account get-access-token . Você pode usar esse token como seu token de autorização temporária para testes de API. Recomendamos armazená-lo em uma nova variável de ambiente. |
subscrição |
A ID de assinatura para o recurso associado do Azure OpenAI. |
grupo_de_recursos |
O nome do grupo de recursos para seu recurso do Azure OpenAI. |
nome_do_recurso |
O nome de recurso do Microsoft Azure OpenAI. |
Nome_de_implantação_do_modelo |
O nome personalizado para a sua nova implementação de modelo ajustado. Este é o nome que será referenciado no seu código ao fazer chamadas de conclusão de chat. |
modelo ajustado |
Recupere esse valor dos resultados do trabalho de ajuste fino na etapa anterior. Vai parecer gpt-35-turbo-0125.ft-b044a9d3cf9c4228b5d393567f693b83 . Você precisará agregar esse valor ao deploy_data json. Como alternativa, você também pode implantar um ponto de verificação, passando o ID do ponto de verificação que aparecerá no formato ftchkpt-e559c011ecc04fc68eaa339d8227d02d |
Implantar um modelo com a CLI do Azure
O exemplo a seguir mostra como usar a CLI do Azure para implantar seu modelo personalizado. Com a CLI do Azure, você deve especificar um nome para a implantação do seu modelo personalizado. Para obter mais informações sobre como usar a CLI do Azure para implantar modelos personalizados, consulte az cognitiveservices account deployment
.
Para executar este comando da CLI do Azure numa janela de consola, deve substituir os seguintes <placeholders> pelos valores correspondentes para o seu modelo personalizado:
Marcador de posição |
Valor |
<YOUR_AZURE_SUBSCRIPTION> |
O nome ou ID da sua assinatura do Azure. |
<YOUR_RESOURCE_GROUP> |
O nome do seu grupo de recursos do Azure. |
<YOUR_RESOURCE_NAME> |
O nome do recurso do Azure OpenAI. |
<O_NOME_DO_SEU_DESDOBRAMENTO> |
O nome que se deseja usar para a implantação do modelo. |
<YOUR_FINE_TUNED_MODEL_ID> |
O nome do seu modelo personalizado. |
az cognitiveservices account deployment create
--resource-group <YOUR_RESOURCE_GROUP>
--name <YOUR_RESOURCE_NAME>
--deployment-name <YOUR_DEPLOYMENT_NAME>
--model-name <YOUR_FINE_TUNED_MODEL_ID>
--model-version "1"
--model-format OpenAI
--sku-capacity "50"
--sku-name "Developer"
Utilize o seu modelo implantado e refinado
Depois que seu modelo personalizado for implantado, você poderá usá-lo como qualquer outro modelo implantado. Você pode usar os Playgrounds no portal do Azure AI Foundry para experimentar sua nova implantação. Você pode continuar a usar os mesmos parâmetros com seu modelo personalizado, como temperature
e max_tokens
, como pode fazer com outros modelos implantados.
Você também pode usar o serviço Avaliações para criar e executar avaliações de modelo em relação ao candidato a modelo implantado, bem como em outras versões do modelo.
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01"
)
response = client.chat.completions.create(
model="gpt41-mini-candidate-01", # model = "Custom deployment name you chose for your fine-tuning model"
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
print(response.choices[0].message.content)
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/<deployment_name>/chat/completions?api-version=2024-10-21 \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'
Limpe sua implantação
As implantações de desenvolvedores serão excluídas automaticamente, independentemente da atividade. Cada implantação tem uma vida útil fixa de 24 horas , após a qual está sujeita a remoção. A exclusão de uma implantação não exclui nem afeta o modelo personalizado subjacente e o modelo personalizado pode ser reimplantado a qualquer momento.
Para excluir uma implantação manualmente, você pode usar o portal do Azure AI Foundry ou usar a CLI do Azure.
Para usar a API Deployments - Delete REST , envie um HTTP DELETE
para o recurso de implantação. Assim como na criação de implantações, você deve incluir os seguintes parâmetros:
- Id de subscrição do Azure
- Nome do grupo de recursos do Azure
- Nome do recurso do Azure OpenAI
- Nome da implantação a ser excluída
Abaixo está o exemplo da API REST para excluir uma implantação:
curl -X DELETE "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>api-version=2024-10-21" \
-H "Authorization: Bearer <TOKEN>"
Próximos passos