Zodra uw model is afgestemd, kunt u het model implementeren en gebruiken in uw eigen toepassing.
Wanneer u het model implementeert, wordt het beschikbaar voor inferentie, wat een uurelijkse hostingvergoeding met zich meebrengt. Aangepaste modellen kunnen echter zonder kosten worden opgeslagen in Azure AI Foundry totdat u er klaar voor bent om ze te gebruiken.
Azure OpenAI biedt opties voor implementatietypen voor verfijnde modellen in de hostingstructuur die past bij verschillende bedrijfs- en gebruikspatronen: Standard, Global Standard (preview) en Ingerichte doorvoer (preview). Meer informatie over implementatietypen voor nauwkeurig afgestemde modellen en de concepten van alle implementatietypen.
Uw nauwkeurig afgestemde model implementeren
Als u uw aangepaste model wilt implementeren, selecteert u het aangepaste model dat u wilt implementeren en selecteert u Vervolgens Implementeren.
Het dialoogvenster Model implementeren wordt geopend. Voer in het dialoogvenster uw implementatienaam in en selecteer Vervolgens Maken om de implementatie van uw aangepaste model te starten.
              
              
              
              
              
              
            
U kunt de voortgang van uw implementatie bewaken in het deelvenster Implementaties in de Azure AI Foundry-portal.
De gebruikersinterface biedt geen ondersteuning voor implementatie in meerdere regio's, terwijl Python SDK of REST wordt ondersteund.
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 = "gpt-35-turbo-ft" # 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": "standard", "capacity": 1}, 
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": <"fine_tuned_model">, #retrieve this value from the previous call, it will look like gpt-35-turbo-0125.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())
| variable | 
Definition | 
| token | 
Er zijn meerdere manieren om een autorisatietoken te genereren. De eenvoudigste methode voor eerste tests is het starten van Cloud Shell vanuit Azure Portal. Voer vervolgens az account get-access-tokenuit. U kunt dit token gebruiken als uw tijdelijke autorisatietoken voor API-tests. We raden u aan dit op te slaan in een nieuwe omgevingsvariabele. | 
| subscription | 
De abonnements-id voor de bijbehorende Azure OpenAI-resource. | 
| resource_group | 
De naam van de resourcegroep voor uw Azure OpenAI-resource. | 
| resource_name | 
De naam van de Azure OpenAI-resource. | 
| model_deployment_name | 
De aangepaste naam voor de nieuwe uitrol van je fijn afgestelde model. Dit is de naam waarnaar wordt verwezen in uw code bij het maken van chat-voltooiingsgesprekken. | 
| fine_tuned_model | 
Haal deze waarde op uit je verfijningstaakresultaten in de vorige stap. Het zal eruitzien als gpt-35-turbo-0125.ft-b044a9d3cf9c4228b5d393567f693b83. U moet die waarde toevoegen aan de deploy_data json. Als alternatief kunt u ook een controlepunt implementeren door de controlepunt-id door te geven die in het formaat ftchkpt-e559c011ecc04fc68eaa339d8227d02d verschijnt. | 
Regio-overschrijdende implementatie
Fine-tuning ondersteunt het implementeren van een fijn afgesteld model in een andere regio dan waar het model oorspronkelijk is gefinetuned. U kunt ook implementeren in een ander abonnement/een andere regio.
De enige beperkingen zijn dat de nieuwe regio ook ondersteuning moet bieden voor het afstemmen en bij het implementeren van meerdere abonnementen moet het account dat het autorisatietoken voor de implementatie genereert, toegang hebben tot zowel de bron- als doelabonnementen.
Hieronder ziet u een voorbeeld van het implementeren van een model dat is afgestemd op het ene abonnement of de andere regio.
import json
import os
import requests
token= os.getenv("<TOKEN>") 
subscription = "<DESTINATION_SUBSCRIPTION_ID>"  
resource_group = "<DESTINATION_RESOURCE_GROUP_NAME>"
resource_name = "<DESTINATION_AZURE_OPENAI_RESOURCE_NAME>"
source_subscription = "<SOURCE_SUBSCRIPTION_ID>"
source_resource_group = "<SOURCE_RESOURCE_GROUP>"
source_resource = "<SOURCE_RESOURCE>"
source = f'/subscriptions/{source_subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.CognitiveServices/accounts/{source_resource}'
model_deployment_name = "gpt-35-turbo-ft" # 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": "standard", "capacity": 1}, 
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": <"FINE_TUNED_MODEL_NAME">, # This value will look like gpt-35-turbo-0125.ft-0ab3f80e4f2242929258fff45b56a9ce 
            "version": "1",
            "source": source
        }
    }
}
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())
Als u binnen hetzelfde abonnement, maar in verschillende regio's wilt implementeren, moeten de abonnementen en resourcegroepen voor zowel bron- als doelvariabelen identiek zijn. Alleen de namen van de bron- en doelresources moeten uniek zijn.
Implementatie tussen tenants
Het account dat wordt gebruikt om toegangstokens te genereren met az account get-access-token --tenant moet de Cognitive Services OpenAI Contributor-machtigingen hebben voor zowel de bron- als de doel-Azure OpenAI-resources. U moet twee verschillende tokens genereren, één voor de brontenant en één voor de doeltenant.
import requests
subscription = "DESTINATION-SUBSCRIPTION-ID"
resource_group = "DESTINATION-RESOURCE-GROUP"
resource_name = "DESTINATION-AZURE-OPENAI-RESOURCE-NAME"
model_deployment_name = "DESTINATION-MODEL-DEPLOYMENT-NAME"
fine_tuned_model = "gpt-4o-mini-2024-07-18.ft-f8838e7c6d4a4cbe882a002815758510" #source fine-tuned model id example id provided
source_subscription_id = "SOURCE-SUBSCRIPTION-ID"
source_resource_group = "SOURCE-RESOURCE-GROUP" 
source_account = "SOURCE-AZURE-OPENAI-RESOURCE-NAME"
dest_token = "DESTINATION-ACCESS-TOKEN" # az account get-access-token --tenant DESTINATION-TENANT-ID
source_token = "SOURCE-ACCESS-TOKEN"  # az account get-access-token --tenant SOURCE-TENANT-ID
headers = {
    "Authorization": f"Bearer {dest_token}", 
    "x-ms-authorization-auxiliary": f"Bearer {source_token}", 
    "Content-Type": "application/json"
}
url = f"https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resource_group}/providers/Microsoft.CognitiveServices/accounts/{resource_name}/deployments/{model_deployment_name}?api-version=2024-10-01"
payload = {
    "sku": {
        "name": "standard",
        "capacity": 1
    },
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": fine_tuned_model,
            "version": "1",
            "sourceAccount": f"/subscriptions/{source_subscription_id}/resourceGroups/{source_resource_group}/providers/Microsoft.CognitiveServices/accounts/{source_account}"
        }
    }
}
response = requests.put(url, headers=headers, json=payload)
# Check response
print(f"Status Code: {response.status_code}")
print(f"Response: {response.json()}")
In het volgende voorbeeld ziet u hoe u de REST API gebruikt om een modelimplementatie te maken voor uw aangepaste model. De REST API genereert een naam voor de implementatie van uw aangepaste model.
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": "standard", "capacity": 1},
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": "<FINE_TUNED_MODEL>",
            "version": "1"
        }
    }
}'
| variable | 
Definition | 
| token | 
Er zijn meerdere manieren om een autorisatietoken te genereren. De eenvoudigste methode voor eerste tests is het starten van Cloud Shell vanuit Azure Portal. Voer vervolgens az account get-access-tokenuit. U kunt dit token gebruiken als uw tijdelijke autorisatietoken voor API-tests. We raden u aan dit op te slaan in een nieuwe omgevingsvariabele. | 
| subscription | 
De abonnements-id voor de bijbehorende Azure OpenAI-resource. | 
| resource_group | 
De naam van de resourcegroep voor uw Azure OpenAI-resource. | 
| resource_name | 
De naam van de Azure OpenAI-resource. | 
| model_deployment_name | 
De aangepaste naam voor de nieuwe uitrol van je fijn afgestelde model. Dit is de naam waarnaar wordt verwezen in uw code bij het maken van chat-voltooiingsgesprekken. | 
| fine_tuned_model | 
Haal deze waarde op uit je verfijningstaakresultaten in de vorige stap. Het zal eruitzien als gpt-35-turbo-0125.ft-b044a9d3cf9c4228b5d393567f693b83. U moet die waarde toevoegen aan de deploy_data json. Als alternatief kunt u ook een controlepunt implementeren door de controlepunt-id door te geven die in het formaat ftchkpt-e559c011ecc04fc68eaa339d8227d02d verschijnt. | 
Regio-overschrijdende implementatie
Fine-tuning ondersteunt het implementeren van een fijn afgesteld model in een andere regio dan waar het model oorspronkelijk is gefinetuned. U kunt ook implementeren in een ander abonnement/een andere regio.
De enige beperkingen zijn dat de nieuwe regio ook ondersteuning moet bieden voor het afstemmen en bij het implementeren van meerdere abonnementen moet het account dat het autorisatietoken voor de implementatie genereert, toegang hebben tot zowel de bron- als doelabonnementen.
Hieronder ziet u een voorbeeld van het implementeren van een model dat is afgestemd op het ene abonnement of de andere regio.
curl -X PUT "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": "standard", "capacity": 1},
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": "<FINE_TUNED_MODEL>", 
            "version": "1",
            "source": "/subscriptions/{sourceSubscriptionID}/resourceGroups/{sourceResourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{sourceAccount}" 
        }
    }
}'
Als u wilt implementeren tussen hetzelfde abonnement, maar verschillende regio's, hebt u alleen een abonnement en resourcegroepen die identiek zijn voor zowel bron- als doelvariabelen. Alleen de bron- en doelresourcenamen moeten uniek zijn.
Implementatie tussen tenants
Het account dat wordt gebruikt om toegangstokens te genereren met az account get-access-token --tenant moet de Cognitive Services OpenAI Contributor-machtigingen hebben voor zowel de bron- als de doel-Azure OpenAI-resources. U moet twee verschillende tokens genereren, één voor de brontenant en één voor de doeltenant.
curl -X PUT "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>?api-version=2024-10-01" \
  -H "Authorization: Bearer <DESTINATION TOKEN>" \
  -H "x-ms-authorization-auxiliary: Bearer <SOURCE TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "sku": {"name": "standard", "capacity": 1},
    "properties": {
        "model": {
            "format": "OpenAI",
            "name": "<FINE_TUNED_MODEL>", 
            "version": "1",
            "sourceAccount": "/subscriptions/{sourceSubscriptionID}/resourceGroups/{sourceResourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{sourceAccount}" 
        }
    }
}'
In het volgende voorbeeld ziet u hoe u de Azure CLI gebruikt om uw aangepaste model te implementeren. Met de Azure CLI moet u een naam opgeven voor de implementatie van uw aangepaste model. Zie voor meer informatie over het gebruik van de Azure CLI om aangepaste modellen az cognitiveservices account deploymentte implementeren.
Als u deze Azure CLI-opdracht wilt uitvoeren in een consolevenster, moet u de volgende <tijdelijke aanduidingen> vervangen door de bijbehorende waarden voor uw aangepaste model:
| Placeholder | 
Value | 
| 
              
              <YOUR_AZURE_SUBSCRIPTION> | 
De naam of id van uw Azure-abonnement. | 
| 
              
              <YOUR_RESOURCE_GROUP> | 
De naam van uw Azure-resourcegroep. | 
| 
              
              <YOUR_RESOURCE_NAME> | 
De naam van uw Azure OpenAI-resource. | 
| 
              
              <YOUR_DEPLOYMENT_NAME> | 
De naam die u wilt gebruiken voor uw modelimplementatie. | 
| 
              
              <YOUR_FINE_TUNED_MODEL_ID> | 
De naam van uw aangepaste model. | 
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 "1" 
    --sku-name "Standard"
 
Important
Nadat u een aangepast model hebt geïmplementeerd, wordt de implementatie verwijderd als de implementatie langer dan vijftien (15) dagen inactief blijft. De uitrol van een aangepast model is inactief als het model meer dan vijftien (15) dagen geleden is uitgerold en er tijdens een aaneengesloten periode van 15 dagen geen voltooiingsoproepen of chatvoltooiingsoproepen zijn gedaan.
Het verwijderen van een inactieve implementatie is niet van invloed op het onderliggende aangepaste model en het aangepaste model kan op elk gewenst moment opnieuw worden geïmplementeerd.
Zoals beschreven in Prijzen van Azure OpenAI in Azure AI Foundry Models brengt elk aangepast (fijn afgestemd) model dat wordt geïmplementeerd, een uurlijkse hostingkost met zich mee, ongeacht of er aanvragen voor voltooien of chatvoltooien naar het model worden gedaan. Raadpleeg de richtlijnen in Plan voor het beheren van kosten voor Azure OpenAI voor meer informatie over het plannen en beheren van kosten voor Azure OpenAI.
 
Het geïmplementeerde, nauwkeurig afgestemde model gebruiken
Nadat uw aangepaste model is geïmplementeerd, kunt u dit gebruiken zoals elk ander geïmplementeerd model. U kunt de Playgrounds in de Azure AI Foundry-portal gebruiken om te experimenteren met uw nieuwe implementatie. U kunt dezelfde parameters blijven gebruiken met uw aangepaste model, zoals temperature en max_tokens, zoals u kunt met andere geïmplementeerde modellen.
              
              
              
              
              
              
            
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="gpt-35-turbo-ft", # 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 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 services support this too?"}]}'
 
Prompt opslaan in cache
Het fine-tunen van Azure OpenAI ondersteunt het cachen van prompts met geselecteerde modellen. Met promptcaching kunt u de totale latentie van aanvragen en de kosten voor langere prompts met identieke inhoud aan het begin van de prompt verminderen. Zie Aan de slag met promptcaching voor meer informatie over het in de cache opslaan van prompts.
Implementatietypen
Azure OpenAI-afstemming ondersteunt de volgende implementatietypen.
Standard
              Standaardimplementaties bieden een factureringsmodel voor betalen per token met gegevenslocatie die is beperkt tot de geïmplementeerde regio.
| Models | 
Oostelijke VS2 | 
Noord-Centraal VS | 
Zweden - centraal | 
Switzerland West | 
| o4-mini | 
✅ | 
 | 
✅ | 
 | 
| GPT-4.1 | 
 | 
✅ | 
✅ | 
 | 
| GPT-4.1-mini | 
 | 
✅ | 
✅ | 
 | 
| GPT-4.1-nano | 
 | 
✅ | 
✅ | 
 | 
| GPT-4o | 
✅ | 
 | 
✅ | 
 | 
| GPT-4o-mini | 
 | 
✅ | 
✅ | 
 | 
| GPT-35-Turbo (1106) | 
✅ | 
✅ | 
✅ | 
✅ | 
| GPT-35-Turbo (0125) | 
✅ | 
✅ | 
✅ | 
✅ | 
Algemene standaard
              Globale standaardimplementaties bieden kostenbesparingen, maar aangepaste modelgewichten kunnen tijdelijk worden opgeslagen buiten de geografie van uw Azure OpenAI-resource.
Globale standaardimplementaties zijn beschikbaar in alle Azure OpenAI-regio's voor de volgende modellen:
- o4-mini
 
- GPT-4.1
 
- GPT-4.1-mini
 
- GPT-4.1-nano
 
- GPT-4o
 
- GPT-4o-mini
 
              
              
              
              
              
              
            
Ontwikkelaarslaag
              Door ontwikkelaars afgestemde implementaties bieden een vergelijkbare ervaring als Global Standard zonder hostingkosten per uur, maar bieden geen SLA voor beschikbaarheid. Ontwikkelaarsimplementaties zijn ontworpen voor modelkandidaat-evaluatie en niet voor productiegebruik.
Ontwikkelaarsimplementaties zijn beschikbaar in alle Azure OpenAI-regio's voor de volgende modellen:
- GPT-4.1
 
- GPT-4.1-mini
 
- GPT-4.1-nano
 
Geconfigureerde doorvoer
| Models | 
Noord-Centraal VS | 
Zweden - centraal | 
| GPT-4.1 | 
 | 
✅ | 
| GPT-4o | 
✅ | 
✅ | 
| GPT-4o-mini | 
✅ | 
✅ | 
              Verbeterde doorvoerimplementaties bieden voorspelbare prestaties voor latentiegevoelige agents en toepassingen. Ze gebruiken dezelfde regionale ingerichte doorvoercapaciteit (PTU) als basismodellen, dus als u al een regionaal PTU-quotum hebt, kunt u uw nauwkeurig afgestemde model implementeren in ondersteuningsregio's.
Maak uw implementatie schoon
Als u een implementatie wilt verwijderen, gebruikt u de implementaties - REST API verwijderen en verzendt u een HTTP DELETE naar de implementatieresource. Net als bij het maken van implementaties moet u de volgende parameters bevatten:
- Azure-abonnements-id
 
- Naam van Azure-resourcegroep
 
- Azure OpenAI-resourcenaam
 
- Naam van de implementatie die u wilt verwijderen
 
Hieronder ziet u het REST API-voorbeeld om een implementatie te verwijderen:
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>"
U kunt ook een implementatie verwijderen in de Azure AI Foundry-portal of Azure CLI gebruiken.
Volgende stappen