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

向 Azure AI Foundry 模型添加和配置模型

可以决定和配置哪些模型可用于 Azure AI Foundry 资源中的推理。 配置给定模型后,可以通过在请求中指明其模型名称或部署名称来从中生成预测。 无需在代码中进行进一步更改即可使用它。

本文介绍如何向 Azure AI Foundry 添加新模型。

先决条件

若要完成本文,需要做好以下准备:

  • 一个连接到 Azure AI Foundry 资源的 AI 项目,其“将模型部署到 Azure AI Foundry 模型服务”功能已启用。

添加模型

可以使用以下步骤将模型添加到 Foundry Models 终结点:

  1. 转到 Azure AI Foundry 门户中的“模型目录”部分

  2. 滚动到感兴趣的模型,然后选择它。

    显示如何在模型目录中搜索模型并选择一个以查看其详细信息的动画。

  3. 可以在模型卡中查看模型的详细信息。

  4. 选择“部署”。

  5. 对于需要更多合同条款的模型提供商,系统将要求你接受这些条款。 例如,对于 Mistral 模型,就是这种情况。 选择“订阅并部署”,即表示接受这些案例的条款。

    显示如何同意 Mistral-Large 模型的条款和条件的屏幕截图。

  6. 此时可以配置部署设置。 默认情况下,部署会接收正在部署的模型的名称。 部署名称用于请求路由到此特定模型部署的 model 参数中。 这也让你可以在附加特定配置时为模型配置特定名称。 例如 o1-preview-safe ,对于具有严格内容筛选器的模型。

    提示

    每种模型可支持不同的部署类型,提供不同的数据驻留或吞吐量保证。 有关更多详细信息,请参阅部署类型

  7. 我们根据项目自动选择 Azure AI Foundry 连接。 使用“自定义”选项根据需求更改连接。 如果要在 标准 部署类型下部署,则需要在 Azure AI Foundry 资源的区域中提供模型。

    显示如何根据需要自定义部署的屏幕截图。

    提示

    如果未列出所需的资源,则可能需要创建与其的连接。 请在 Azure AI Foundry 门户中查看在我的项目中配置 Azure AI Foundry 模型

  8. 选择“部署”。

  9. 部署完成后,新模型会在页面中列出并可供使用。

管理模型

可以使用 Azure AI Foundry 门户管理资源中的现有模型部署。

  1. 转到 Azure AI Foundry 门户中的“模型 + 终结点”部分。

  2. 滚动到与 Azure AI Foundry 资源的连接。 模型部署会按连接进行分组和显示。

    显示给定连接下可用的模型的列表的屏幕截图。

  3. 可以看到每个连接下可用的模型列表。 选择感兴趣的模型部署。

  4. 根据需要编辑或删除部署

在操场中测试部署

可以使用操场与 Azure AI Foundry 门户中的新模型进行交互:

注意

仅当在 Azure AI Foundry 中使用 AI 项目时,操场才可用。 创建 AI 项目,以完全访问 Azure AI Foundry 中的所有功能。

  1. 转到 Azure AI Foundry 门户中的“操场”部分

  2. 根据部署的模型类型,选择所需的操场。 在本例中,我们选择“聊天操场”。

  3. 在“部署”下拉列表中,“安装程序”选择已创建的模型部署的名称。

    显示如何选择要在操场中使用的模型部署的屏幕截图。

  4. 键入提示并查看输出。

  5. 此外,可以使用“查看代码”,以便查看有关如何以编程方式访问模型部署的详细信息。

可以决定和配置哪些模型可用于 Azure AI Foundry 资源中的推理。 配置给定模型后,可以通过在请求中指明其模型名称或部署名称来从中生成预测。 无需在代码中进行进一步更改即可使用它。

本文介绍如何向 Azure AI Foundry 添加新模型。

先决条件

若要完成本文,需要做好以下准备:

  • 安装适用于 Azure AI 服务的 Azure CLIcognitiveservices 扩展:

    az extension add -n cognitiveservices
    
  • 本教程中的某些命令使用 jq 工具,该工具可能未安装在系统中。 有关安装说明,请参阅下载 jq

  • 标识以下信息:

    • Azure 订阅 ID。

    • 你的 Azure AI 服务资源名称。

    • 在其中部署 Azure AI 服务资源的资源组。

添加模型

若要添加模型,首先需要标识要部署的模型。 可以按如下所示的方法查询可用模型:

  1. 登录到 Azure 订阅:

    az login
    
  2. 如果订阅多于 1 个,请选择资源所在的订阅:

    az account set --subscription $subscriptionId
    
  3. 使用计划使用的 Azure AI 服务资源的名称和资源组设置以下环境变量。

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    ___location="eastus2"
    
  4. 如果尚未创建 Azure AI 服务帐户,可以按如下所示创建一个帐户:

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-___domain $accountName --___location $___location --kind AIServices --sku S0
    
  5. 首先,让我们看看哪些模型可供你使用,以及有哪些 SKU 可用。 SKU(也称为 部署类型)定义如何使用 Azure 基础结构来处理请求。 模型可以提供不同的部署类型。 以下命令列出了所有可用的模型定义:

    az cognitiveservices account list-models \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'
    
  6. 输出如下所示:

    {
      "name": "Phi-3.5-vision-instruct",
      "format": "Microsoft",
      "version": "2",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    
  7. 确定要部署的模型。 需要属性 nameformatversionsku。 该属性 format 指示提供模型的提供程序。 可能还需要容量,具体取决于部署类型。

  8. 将部署的模型添加到资源中。 以下示例添加 Phi-3.5-vision-instruct

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-3.5-vision-instruct \
        --model-name Phi-3.5-vision-instruct \
        --model-version 2 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    
  9. 模型已准备就绪,可供使用。

如果需要,只要它使用不同的部署名称,就可以多次部署同一模型。 如果想要测试给定模型的不同配置(包括内容筛选器),此功能可能很有用。

使用模型

可以通过资源的 Azure AI 模型推理终结点使用部署的模型。 构造请求时,指示参数 model 并插入已创建的模型部署名称。 可以使用以下代码以编程方式获取推理终结点的 URI:

推理终结点

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

若要向 Azure AI Foundry 模型终结点发出请求,请追加路由 models,例如 https://<resource>.services.ai.azure.com/models。 可以在 Azure AI Foundry 模型 API 参考页查看终结点的 API 参考。

推理密钥

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

管理部署

可以使用 CLI 查看所有可用的部署:

  1. 运行以下命令以查看所有活动部署:

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    
  2. 可以查看给定部署的详细信息:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    
  3. 可以按如下所示删除给定部署:

    az cognitiveservices account deployment delete \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

可以决定和配置哪些模型可用于 Azure AI Foundry 资源中的推理。 配置给定模型后,可以通过在请求中指明其模型名称或部署名称来从中生成预测。 无需在代码中进行进一步更改即可使用它。

本文介绍如何向 Azure AI Foundry 添加新模型。

先决条件

若要完成本文,需要做好以下准备:

  • 安装 Azure CLI

  • 标识以下信息:

    • Azure 订阅 ID。

    • 您的 Azure AI Foundry(前称为 Azure AI Services)资源名称。

    • 在其中部署 Azure AI Foundry 资源的资源组。

    • 要部署的模型名称、提供商、版本和 SKU。 可以使用 Azure AI Foundry 门户或 Azure CLI 来标识它。 在此示例中,我们将部署以下模型:

      • 模型名称Phi-3.5-vision-instruct
      • 提供商Microsoft
      • 版本:2
      • 部署类型:全局标准

关于本教程

本文中的示例基于 Azure-Samples/azureai-model-inference-bicep 存储库中包含的代码示例。 要在本地运行命令而无需复制或粘贴文件内容,请使用以下命令克隆存储库并转到你的编码语言所对应的文件夹:

git clone https://github.com/Azure-Samples/azureai-model-inference-bicep

此示例的文件位于以下位置:

cd azureai-model-inference-bicep/infra

订阅“合作伙伴和社区模型”所需的权限

可用于部署的合作伙伴和社区提供的模型(例如 Cohere 模型)需要通过 Azure 市场。 模型提供程序定义许可条款,并设置其模型使用 Azure 市场的价格。

部署第三方模型时,请确保帐户中具有以下权限:

  • 关于 Azure 订阅服务:
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • 在资源组上,创建和使用 SaaS 资源的权限:
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

添加模型

  1. 使用模板 ai-services-deployment-template.bicep 描述模型部署:

    ai-services-deployment-template.bicep

    @description('Name of the Azure AI services account')
    param accountName string
    
    @description('Name of the model to deploy')
    param modelName string
    
    @description('Version of the model to deploy')
    param modelVersion string
    
    @allowed([
      'AI21 Labs'
      'Cohere'
      'Core42'
      'DeepSeek'
      'Meta'
      'Microsoft'
      'Mistral AI'
      'OpenAI'
    ])
    @description('Model provider')
    param modelPublisherFormat string
    
    @allowed([
        'GlobalStandard'
        'Standard'
        'GlobalProvisioned'
        'Provisioned'
    ])
    @description('Model deployment SKU name')
    param skuName string = 'GlobalStandard'
    
    @description('Content filter policy name')
    param contentFilterPolicyName string = 'Microsoft.DefaultV2'
    
    @description('Model deployment capacity')
    param capacity int = 1
    
    resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = {
      name: '${accountName}/${modelName}'
      sku: {
        name: skuName
        capacity: capacity
      }
      properties: {
        model: {
          format: modelPublisherFormat
          name: modelName
          version: modelVersion
        }
        raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName
      }
    }
    
  2. 运行部署:

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-3.5-vision-instruct"
    PROVIDER="Microsoft"
    VERSION=2
    
    az deployment group create \
        --resource-group $RESOURCE_GROUP \
        --template-file ai-services-deployment-template.bicep \
        --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
    

使用模型

可以通过资源的 Azure AI 模型推理终结点使用部署的模型。 构造请求时,指示参数 model 并插入已创建的模型部署名称。

后续步骤