通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Microsoft Foundry 模型资源中创建和部署 Azure OpenAI (经典)

仅适用于:Foundry(经典版)门户。 本文不适用于新的 Foundry 门户。 详细了解新门户

注释

本文中的链接可能会打开新 Microsoft Foundry 文档中的内容,而不是你现在正在查看的 Foundry (经典)文档。

部署到 Azure

本文介绍如何开始使用 Azure OpenAI,并提供创建资源和部署模型的分步说明。 可以通过多种不同的方式在Azure中创建资源:

  • Azure 门户
  • REST API、Azure CLI、PowerShell 或客户端库
  • Azure 资源管理器 (ARM) 模板

在本文中,你将使用 Azure CLI 和 PowerShell 查看有关在 Azure 门户中创建和部署资源的示例。

先决条件

创建资源

以下步骤演示如何在 Azure 门户中创建 Azure OpenAI 资源。

识别资源

  1. 在 Azure 门户中使用Azure订阅登录。

  2. 选择 创建资源并搜索 Azure OpenAI。 找到该服务后,选择“创建”

    截图展示如何在 Azure 门户中为 Microsoft Foundry Models 资源创建新的 Azure OpenAI。

  3. Create Azure OpenAI 页上,为 Basics 选项卡上的字段提供以下信息:

    字段 Description
    Subscription 在您的 Azure OpenAI 入门应用程序中使用的 Azure 订阅。
    资源组 包含 Azure OpenAI 资源的 Azure 资源组。 可以创建新组或使用预先存在的组。
    Region 实例的位置。 位置不同可能会导致延迟,但不会影响资源的运行时可用性。
    名称 Azure OpenAI 资源的描述性名称,例如 MyOpenAIResource
    定价层 资源的定价层。 目前,只有标准层可用于 Azure OpenAI。 有关定价的详细信息,请访问 Azure OpenAI 定价页

    显示如何在 Azure 门户中配置 Azure OpenAI 资源的截图。

  4. 选择“下一步”。

配置网络安全

“网络”选项卡提供了三个安全“类型”选项

  • 选项 1:所有网络(包括互联网)都可以访问此资源。
  • 选项 2: 所选网络,为 Foundry Tools 资源配置网络安全。
  • 选项 3:禁用,任何网络都无法访问此资源。可以配置专用终结点连接,这是访问此资源的唯一方式。

显示 Azure 门户中 Azure OpenAI 资源的网络安全选项的屏幕截图。

根据选择的选项,可能需要提供其他信息。

选项 1:允许所有网络

第一个选项允许所有网络(包括互联网在内)连接到您的资源。 此选项是默认设置。 此选项不需要额外的设置。

选项 2:仅允许特定网络

第二个选项允许识别可以access资源的特定网络。 选择此选项时,页面会更新为包含以下必填字段:

字段 Description
虚拟网络 指定可以访问您资源的虚拟网络。 可以在Azure门户中编辑默认虚拟网络名称。
子网 指定允许访问您资源的子网。 可以在Azure门户中编辑默认子网名称。

Screenshot 演示如何配置 Azure OpenAI 资源的网络安全,以仅允许特定网络。

“防火墙”部分提供了一个可选的“地址范围”字段,可用于配置资源的防火墙设置

选项 3:禁用网络访问

第三个选项使您可以禁用对资源的网络访问。 选择此选项时,页面会更新为包含“专用终结点”表

显示如何在 Azure 门户中禁用 Azure OpenAI 资源网络安全的屏幕截图。

您可以选择添加一个专用终结点来访问您的资源。 选择“添加专用终结点”,然后完成终结点配置

确认配置并创建资源

  1. 选择“下一步”,并根据需要为资源配置任何标记

  2. 选择“下一步”,转到流程中的最后阶段:“查看 + 提交”

  3. 确认你的配置设置,然后选择“创建”

  4. 当新资源可用时,Azure门户会显示通知。 选择 转到资源

    Screenshot 显示 Azure 门户中的“转到资源”按钮。

部署模型

在生成文本或推理之前,需要先部署一个模型。 可以从 Foundry 门户中的多个可用模型之一中进行选择。

若要部署模型,请执行以下步骤:

  1. 登录到 Microsoft Foundry。 确保 New Foundry 开关处于关闭状态。 这些步骤涉及到 Foundry(经典)。

  2. “持续构建 Foundry” 部分中,选择 “查看所有资源”

  3. 查找并选择资源。

    重要

    在此步骤中,可能会被介绍升级您的 Azure OpenAI 资源至 Foundry。 有关两种资源类型的比较以及资源升级和回滚的详细信息,请参阅此页。 选择“取消”以在不进行资源类型升级的情况下继续。 或者选择 “下一步”。

    请参阅 本文中有关 Foundry 资源的其他信息。

  4. 在左窗格中的“共享资源”部分选择“部署”。 (如果在上一步骤中升级到 Foundry,请在左窗格中从“我的资产”部分选择“模型 + 终结点”。

  5. 选择 “+ 部署模型>部署基本模型 ”以打开部署窗口。

  6. 选择所需的模型,然后选择“ 确认”。 有关每个区域的可用模型的列表,请参阅 Model 摘要表和区域可用性

  7. 在下一个窗口中配置以下字段:

    字段 Description
    部署名称 请谨慎选择名称。 部署名称用于在代码中通过这些客户端库和 REST API 来调用模型。
    部署类型 标准、全局批量、全局标准、预配托管。 详细了解部署类型选项
    部署详细信息 (可选) 可以根据需要为资源设置可选高级设置。
    - 对于内容筛选器,请为部署分配内容筛选器
    - 对于每分钟标记数速率上限,请调整每分钟标记数 (TPM),为你的部署设置有效的速率上限。 可以随时通过使用“配额”菜单来修改此值 动态配额可让你在有额外容量时利用更多配额。

    重要

    通过 API 访问模型时,需要在 API 调用中引用部署名称而不是基础模型名称,这是 OpenAI 与 Azure OpenAI 之间的键差异之一。 OpenAI 只需要模型名称。 Azure OpenAI 始终需要部署名称,即使使用模型参数也是如此。 在我们的文档中,我们通常有一些示例,其中部署名称表示为与模型名称相同,以帮助指示哪个模型适用于特定 API 终结点。 最终,部署名称可以遵循最适合你的用例的任何命名约定。

  8. 选择“部署”。

  9. 部署 详细信息 显示新部署的所有信息。 部署完成后,模型 预配 状态将更改为 “成功”。

先决条件

登录到Azure CLI

登录到 Azure CLI 或在以下步骤中选择 打开 Cloudshell

创建Azure资源组

若要创建 Azure OpenAI 资源,需要一个Azure资源组。 通过Azure CLI创建新资源时,还可以创建新的资源组或指示Azure使用现有组。 以下示例演示如何使用 az group createOAIResourceGroup0> 的新资源组。 该资源组是在美国东部位置创建的。

az group create \
--name OAIResourceGroup \
--location eastus

创建资源

使用 az cognitiveservices 帐户 create 命令在资源组中创建 Azure OpenAI 资源。 在以下示例中,在 OAIResourceGroup 资源组中创建名为 MyOpenAIResource 的资源。 尝试该示例时,请更新代码以使用您期望的资源组和资源名称值,以及您的Azure订阅ID <subscriptionID>

az cognitiveservices account create \
--name MyOpenAIResource \
--resource-group OAIResourceGroup \
--location eastus \
--kind OpenAI \
--sku s0 \
--subscription <subscriptionID>
--custom-domain MyOpenAIResource
--yes

检索有关资源的信息

创建资源后,可以使用不同的命令在 Microsoft Foundry Models 实例中查找有关 Azure OpenAI 的有用信息。 以下示例演示如何检索新资源的 REST API 终结点基础 URL 和 access 密钥。

获取终结点 URL

使用 az recognizeservices account show 命令检索资源的 REST API 终结点基 URL。 在此示例中,我们将命令输出定向到 jq JSON 处理器以查找 .properties.endpoint 值。

尝试该示例时,请更新代码以使用资源组 <myResourceGroupName> 和资源 myResourceName< 的值>

az cognitiveservices account show \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .properties.endpoint

获取主 API 密钥

若要检索资源的access密钥,请使用 az cognitiveservices 帐户密钥列表命令。 在此示例中,我们将命令输出定向到 jq JSON 处理器以查找 .key1 值。

尝试该示例时,请更新代码以使用资源组和资源的值。

az cognitiveservices account keys list \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .key1

部署模型

若要部署模型,请使用 az cognitiveservices 帐户部署 create 命令。 在以下示例中,部署 gpt-4o 模型的实例,并将其命名为 MyModel。 尝试该示例时,请更新代码以使用资源组和资源的值。 无需更改 model-versionmodel-formatsku-capacitysku-name 值。

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel \
--model-name gpt-4o \
--model-version "2024-11-20"  \
--model-format OpenAI \
--sku-capacity "1" \
--sku-name "Standard"

--sku-name 接受以下部署类型:StandardGlobalBatchGlobalStandardProvisionedManaged。 详细了解部署类型选项

重要

通过 API 访问模型时,需要在 API 调用中引用部署名称而不是基础模型名称,这是 OpenAI 与 Azure OpenAI 之间的键差异之一。 OpenAI 只需要模型名称。 Azure OpenAI 始终需要部署名称,即使使用模型参数也是如此。 在我们的文档中,经常有一些示例,其中部署名称表示为与模型名称相同的名称,这样有助于指示哪个模型适用于特定 API 终结点。 最终,部署名称可以遵循最适合你的用例的任何命名约定。

从资源中删除模型

可以使用 az cognitiveservices account deployment delete 命令删除从资源部署的任何模型。 在以下示例中,删除名为 MyModel 的模型。 尝试该示例时,请更新代码以使用资源组、资源和部署的模型的值。

az cognitiveservices account deployment delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel

删除资源

如果要在这些练习后进行清理,可以通过 Azure CLI 删除资源,从而移除 Azure OpenAI 资源。 还可以删除资源组。 如果选择删除资源组,则会同时删除该组中包含的所有资源。

若要删除资源组及其关联的资源,请使用 az cognitiveservices 帐户 delete 命令。

如果不打算继续使用在这些练习中创建的资源,请运行以下命令以删除资源组。 请务必更新示例代码以使用资源组和资源的值。

az cognitiveservices account delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName>

先决条件

登录到Azure PowerShell

登录到 Azure PowerShell,或在以下步骤中选择打开 Cloudshell

创建Azure资源组

若要创建 Azure OpenAI 资源,需要一个Azure资源组。 通过Azure PowerShell创建新资源时,还可以创建新的资源组或指示Azure使用现有组。 以下示例演示如何使用 New-AzResourceGroup 命令创建名为 OAIResourceGroup 的新资源组。 该资源组是在美国东部位置创建的。

New-AzResourceGroup -Name OAIResourceGroup -Location eastus

创建资源

使用 New-AzCognitiveServicesAccount 命令在资源组中创建 Azure OpenAI 资源。 在以下示例中,在 OAIResourceGroup 资源组中创建名为 MyOpenAIResource 的资源。 尝试该示例时,请更新代码以使用您期望的资源组和资源名称值,以及您的Azure订阅ID <subscriptionID>

New-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource -Type OpenAI -SkuName S0 -Location eastus

检索有关资源的信息

创建资源后,可以使用不同的命令在 Microsoft Foundry Models 实例中查找有关 Azure OpenAI 的有用信息。 以下示例演示如何检索新资源的 REST API 终结点基础 URL 和 access 密钥。

获取终结点 URL

使用 Get-AzCognitiveServicesAccount 命令检索资源的 REST API 终结点基 URL。 在此示例中,我们通过 Select-Object cmdlet 来引导命令输出,以查找 endpoint 值。

尝试该示例时,请更新代码以使用资源组 <myResourceGroupName> 和资源 <myResourceName> 的值。

Get-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource |
  Select-Object -Property endpoint

获取主 API 密钥

若要检索资源的access密钥,请使用 Get-AzCognitiveServicesAccountKey 命令。 在此示例中,我们通过 Select-Object cmdlet 来引导命令输出,以查找 Key1 值。

尝试该示例时,请更新代码以使用资源组和资源的值。

Get-AzCognitiveServicesAccountKey -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup |
  Select-Object -Property Key1

部署模型

若要部署模型,请使用 New-AzCognitiveServicesAccountDeployment 命令。 在以下示例中,部署 gpt-4o 模型的实例,并将其命名为 MyModel。 尝试该示例时,请更新代码以使用资源组和资源的值。 无需更改 model-versionmodel-formatsku-capacitysku-name 值。

$model = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentModel' -Property @{
    Name = 'gpt-4o'
    Version = '2024-11-20'
    Format = 'OpenAI'
}

$properties = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentProperties' -Property @{
    Model = $model
}

$sku = New-Object -TypeName "Microsoft.Azure.Management.CognitiveServices.Models.Sku" -Property @{
    Name = 'Standard'
    Capacity = '1'
}

New-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel -Properties $properties -Sku $sku

Name 变量的 $sku 属性接受以下部署类型:StandardGlobalBatchGlobalStandardProvisionedManaged。 详细了解部署类型选项

重要

通过 API 访问模型时,需要在 API 调用中引用部署名称而不是基础模型名称,这是 OpenAI 与 Azure OpenAI 之间的键差异之一。 OpenAI 只需要模型名称。 Azure OpenAI 始终需要部署名称,即使使用模型参数也是如此。 在我们的文档中,经常有一些示例,其中部署名称表示为与模型名称相同的名称,这样有助于指示哪个模型适用于特定 API 终结点。 最终,部署名称可以遵循最适合你的用例的任何命名约定。

从资源中删除模型

可以使用 Remove-AzCognitiveServicesAccountDeployment 命令删除从资源部署的任何模型。 在以下示例中,删除名为 MyModel 的模型。 尝试该示例时,请更新代码以使用资源组、资源和部署的模型的值。

Remove-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel

删除资源

如果要在完成这些练习后进行清理,可以使用 Azure PowerShell 删除 Azure OpenAI 资源。 还可以删除资源组。 如果选择删除资源组,则会同时删除该组中包含的所有资源。

要移除资源组及其关联的资源,请使用 Remove-AzCognitiveServicesAccount 命令。

如果不打算继续使用在这些练习中创建的资源,请运行以下命令以删除资源组。 请务必更新示例代码以使用资源组和资源的值。

Remove-AzCognitiveServicesAccount -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup

后续步骤