仅适用于:
Foundry (经典版)门户。 本文不适用于新的 Foundry 门户。
详细了解新门户。
注意
本文中的链接可能会打开新 Microsoft Foundry 文档中的内容,而不是你现在正在查看的 Foundry (经典)文档。
微调模型后,可能需要通过聊天完成 API 或 评估 服务来测试其质量。
开发者层级部署允许您部署新模型,而无需支付标准型或全球型部署所产生的按小时托管费用。 唯一产生的费用是按令牌收费。 有关最新定价,请参阅定价页。
重要
开发人员层不提供可用性 SLA,也没有 数据驻留 保证。 如果需要 SLA 或数据驻留,请选择用于测试模型的替代 部署类型 。
开发人员层部署的固定生存期为 24 小时。 在下方详细了解部署生命周期。
部署优化后的模型
若要部署候选模型,请选择要部署的微调模型,然后选择“ 部署”。
此时将打开 “部署模型 ”对话框。 在对话框中,输入 部署名称 ,然后从部署类型下拉列表中选择 “开发人员 ”。 选择“ 创建 ”以开始部署自定义模型。
可以在 Microsoft Foundry 门户的 Deployments 窗格中监视新部署的进度。
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': "2025-07-01-preview"}
deploy_headers = {'Authorization': 'Bearer {}'.format(token), 'Content-Type': 'application/json'}
deploy_data = {
"sku": {"name": "developertier", "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())
| 变量 |
定义 |
| 代币 |
有多种方法可以生成授权令牌。 初始测试的最简单方法是从 Azure 门户启动Cloud Shell。 然后运行 az account get-access-token。 可以将此令牌用作 API 测试的临时授权令牌。 建议将其存储在新的环境变量中。 |
| 套餐 |
关联的 Azure OpenAI 资源的订阅 ID。 |
| 资源组 |
Azure OpenAI 资源的资源组名称。 |
| resource_name |
Azure OpenAI 资源名称。 |
| model_deployment_name |
新微调模型部署的自定义名称。 这是在进行聊天补全调用时将在代码中引用的名称。 |
| 微调模型 |
在上一步中从微调作业结果中检索此值。 将会看起来像这样 gpt41-mini-candidate-01.ft-b044a9d3cf9c4228b5d393567f693b83。 需要将该值添加到 deploy_data json。 或者,也可以通过传递将以 ftchkpt-e559c011ecc04fc68eaa339d8227d02d 格式显示的检查点 ID 来部署检查点 |
以下示例演示如何使用 REST API 为自定义模型创建模型部署。 REST API 生成用于部署自定义模型的名称。
curl -X POST "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>?api-version=2025-07-01-preview" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"sku": {"name": "developertier", "capacity": 50},
"properties": {
"model": {
"format": "OpenAI",
"name": "<FINE_TUNED_MODEL>",
"version": "1"
}
}
}'
| 变量 |
定义 |
| 代币 |
有多种方法可以生成授权令牌。 初始测试的最简单方法是从 Azure 门户启动Cloud Shell。 然后运行 az account get-access-token。 可以将此令牌用作 API 测试的临时授权令牌。 建议将其存储在新的环境变量中。 |
| 套餐 |
关联的 Azure OpenAI 资源的订阅 ID。 |
| 资源组 |
Azure OpenAI 资源的资源组名称。 |
| resource_name |
Azure OpenAI 资源名称。 |
| model_deployment_name |
新微调模型部署的自定义名称。 这是在进行聊天补全调用时将在代码中引用的名称。 |
| 微调模型 |
在上一步中从微调作业结果中检索此值。 看起来会这样 gpt-4.1-mini-2025-04-14.ft-b044a9d3cf9c4228b5d393567f693b83。 需要将该值添加到 deploy_data json。 或者,您也可以通过传递将在格式ftchkpt-e559c011ecc04fc68eaa339d8227d02d中显示的检查点 ID 来部署检查点。 |
使用 Azure CLI 部署模型
以下示例演示如何使用Azure CLI部署自定义模型。 使用Azure CLI时,必须为自定义模型的部署指定名称。 有关如何使用Azure CLI部署自定义模型的详细信息,请参阅 az cognitiveservices account deployment。
若要在控制台窗口中运行此Azure CLI命令,必须将以下 <placeholders> 替换为自定义模型的相应值:
| 占位符 |
价值 |
|
<YOUR_AZURE_SUBSCRIPTION> |
Azure订阅的名称或 ID。 |
|
<YOUR_RESOURCE_GROUP> |
Azure资源组的名称。 |
|
<YOUR_RESOURCE_NAME> |
Azure OpenAI 资源的名称。 |
|
<YOUR_DEPLOYMENT_NAME> |
您希望在模型部署中使用的名称。 |
|
<YOUR_FINE_TUNED_MODEL_ID> |
自定义模型的名称。 |
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"
使用已部署的微调模型
自定义模型部署后,可以像使用任何其他已部署模型一样使用它。 可以使用 Foundry 门户中的 Playgrounds 来试验新部署。 可以继续对自定义模型使用相同的参数,例如 temperature 和 max_tokens,就像对其他已部署的模型一样。
还可以使用 评估 服务针对已部署的模型候选模型和其他模型版本创建和运行模型评估。
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
)
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 Foundry Tools support this too?"}
]
)
print(response.choices[0].message.content)
curl $AZURE_OPENAI_ENDPOINT/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '"model": "YOUR_MODEL_DEPLOYMENT_NAME", {"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 Foundry Tools support this too?"}]}'
清理部署
无论是什么活动,开发人员部署都会自行自动删除。 每个部署的固定生存期为 24 小时 ,之后将删除该部署。 删除部署不会删除或影响基础自定义模型,并且可以随时重新部署自定义模型。
若要手动删除部署,可以使用 Foundry 门户或使用 Azure CLI。
若要使用部署 - 删除 REST API,请将 HTTP DELETE 发送到部署资源。 与创建部署一样,必须包含以下参数:
- Azure订阅 ID
- Azure资源组名称
- Azure OpenAI 资源名称
- 要删除的部署的名称
下面是用于删除部署的 REST API 示例:
curl -X DELETE "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>?api-version=2025-07-01-preview" \
-H "Authorization: Bearer <TOKEN>"
后续步骤