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

将模型部署为无服务器 API 部署

重要

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

本文介绍如何将 Azure AI Foundry 模型部署为无服务器 API 部署。 模型目录中的某些模型 可以作为无服务器 API 实现来部署。 这种部署可以将模型作为 API 使用,而无需将它们托管在自己的订阅上,同时保持组织所需的企业安全性和合规性。 此部署选项不需要使用您订阅中的配额。

尽管无服务器 API 部署是部署 Azure AI Foundry 模型的一个选项,但建议将 Foundry 模型部署到 Azure AI Foundry 资源

注释

建议将 Azure AI Foundry 模型部署到 Azure AI Foundry 资源,以便通过具有相同身份验证和架构的单个终结点在资源中使用部署来生成推理。 该终结点遵循所有 Foundry 模型支持的 Azure AI 模型推理 API 。 若要了解如何将 Foundry 模型部署到 Azure AI Foundry 资源,请参阅 向 Azure AI Foundry 模型添加和配置模型

先决条件

  • 具有有效付款方式的 Azure 订阅。 免费或试用的 Azure 订阅将不起作用。 如果没有 Azure 订阅,请先创建一个付费的 Azure 帐户

  • 如果没有项目, 请创建基于中心的项目

  • 确保在 Azure AI Foundry 门户中关闭将模型部署到 Azure AI Foundry 资源 (预览版)功能。 当此功能处于打开状态时,门户中不提供无服务器 API 部署。

    Azure AI Foundry 门户的屏幕截图,其中显示了禁用部署到 Azure AI Foundry 资源的位置。

  • 来自合作伙伴和社区的 Foundry 模型需要访问 Azure 市场,而由 Azure 直接销售的 Foundry 模型不需要此要求。 确保拥有订阅 Azure 市场中模型产品/服务所需的权限。

  • Azure 基于角色的访问控制 (Azure RBAC) 用于授予对 Azure AI Foundry 门户中的操作的访问权限。 若要执行本文中的步骤,必须为用户帐户分配资源组的“Azure AI 开发人员”角色。 有关权限详细信息,请参阅 Azure AI Foundry 门户中基于角色的访问控制

在模型目录中查找模型

  1. 登录到 Azure AI Foundry
  2. 如果你尚未进入项目,请先选择它。
  3. 从左窗格中选择 “模型目录 ”。
  1. 选择要部署的模型的模型卡。 在本文中,你将选择一个 DeepSeek-R1 模型。

  2. 选择“ 使用此模型 ”打开 无服务器 API 部署 窗口,可在其中查看 “定价和条款 ”选项卡。

  3. 在部署向导中,为部署命名。 默认情况下,“内容筛选器(预览)”选项处于启用状态。 请保留该服务的默认设置,以检测有害内容,例如仇恨、自残、性和暴力内容。 有关内容筛选的详细信息,请参阅 Azure AI Foundry 门户中的内容筛选

    显示 Azure 直接销售的模型的部署向导的屏幕截图。

将模型部署到无服务器 API

在本部分中,你将为模型创建终结点。

  1. 在部署向导中,选择“ 部署”。 部署准备就绪后,你将被重定向到“部署”页面。

  2. 若要查看部署到项目的终结点,请在左窗格的 “我的资产 ”部分中,选择 “模型 + 终结点”。

  3. 创建的终结点使用密钥身份验证进行授权。 若要获取与给定终结点关联的密钥,请执行以下步骤:

    1. 选择部署,并记下终结点的目标 URI 和密钥。

    2. 使用这些凭据调用部署并生成预测。

  4. 如果需要从其他项目或中心使用此部署,或者计划使用提示流生成智能应用程序,则需要创建与无服务器 API 部署的连接。 若要了解如何在新项目或中心上配置现有无服务器 API 部署,请参阅 从其他项目或提示流使用已部署的无服务器 API 部署

    小窍门

    如果在与部署所在相同的项目或枢纽中使用 Prompt flow,仍需创建连接。

使用无服务器 API 部署

在无服务器 API 部署中部署的 Azure 机器学习和 Azure AI Foundry 中的模型支持 Azure AI 模型推理 API ,该 API 公开了基础模型的一组常见功能,开发人员可以使用这些模型以统一且一致的方式使用来自各种模型的预测。

详细了解此 API 的功能以及如何在生成应用程序时使用它

删除终结点和订阅

小窍门

由于可以在 Azure AI Foundry 门户中 自定义左窗格 ,因此你可能会看到与这些步骤中显示的项不同。 如果未看到要查找的内容,请选择 ... 左窗格底部的更多内容。

可以删除模型订阅和终结点。 删除模型订阅会使任何关联的终结点变得不正常且无法使用

删除无服务器 API 部署:

  1. 转到 Azure AI Foundry
  2. 转到你的项目。
  3. 在“我的资产”部分中,选择“模型 + 终结点”
  4. 打开要删除的部署。
  5. 选择 删除

若要删除关联的模型订阅,请执行以下操作:

  1. 转到 Azure 门户
  2. 导航到项目所属的资源组。
  3. 在“类型”筛选器中选择“SaaS”
  4. 选择要删除的订阅。
  5. 选择 删除
  • 若要使用 Azure AI Foundry,请安装 Azure CLI适用于 Azure 机器学习的 ml 扩展

    az extension add -n ml
    

    如果已安装该扩展,请确保安装的是最新版本。

    az extension update -n ml
    

    安装该扩展后,对其进行配置:

    az account set --subscription <subscription>
    az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
    

在模型目录中查找模型

  1. 登录到 Azure AI Foundry
  2. 如果你尚未进入项目,请先选择它。
  3. 从左窗格中选择 “模型目录 ”。
  1. 选择要部署的模型的模型卡。 在本文中,你将选择一个 DeepSeek-R1 模型。

  2. 复制 模型 ID 而不包括模型版本,因为无服务器 API 部署始终部署可用的模型最新版本。 例如,对于模型 ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1,请复制 azureml://registries/azureml-deepseek/models/DeepSeek-R1

    显示 Azure 直接销售的模型的模型详细信息页的屏幕截图。

本文本部分中的步骤使用 DeepSeek-R1 模型进行说明。 这些步骤相同,无论是使用由 Azure 直接销售的 Foundry 模型还是合作伙伴和社区的 Foundry 模型。 例如,如果选择改为部署 Cohere-command-r-08-2024 模型,则可以将代码片段中的模型凭据替换为 Cohere 的凭据。

将模型部署到无服务器 API

在本部分中,你将为模型创建终结点。 将终结点命名为 DeepSeek-R1-qwerty

  1. 创建无服务器终结点。

    endpoint.yml

    name: DeepSeek-R1-qwerty
    model_id: azureml://registries/azureml-deepseek/models/DeepSeek-R1
    

    使用 endpoint.yml 文件创建终结点

    az ml serverless-endpoint create -f endpoint.yml
    
  2. 随时可以查看部署到项目的终结点:

    az ml serverless-endpoint list
    
  3. 创建的终结点使用密钥身份验证进行授权。 使用以下步骤获取与给定终结点关联的密钥。

    az ml serverless-endpoint get-credentials -n DeepSeek-R1-qwerty
    
  4. 如果需要从其他项目或中心使用此部署,或者计划使用提示流生成智能应用程序,则需要创建与无服务器 API 部署的连接。 若要了解如何在新项目或中心上配置现有无服务器 API 部署,请参阅 从其他项目或提示流使用已部署的无服务器 API 部署

    小窍门

    如果在与部署所在相同的项目或枢纽中使用 Prompt flow,仍需创建连接。

使用无服务器 API 部署

在无服务器 API 部署中部署的 Azure 机器学习和 Azure AI Foundry 中的模型支持 Azure AI 模型推理 API ,该 API 公开了基础模型的一组常见功能,开发人员可以使用这些模型以统一且一致的方式使用来自各种模型的预测。

详细了解此 API 的功能以及如何在生成应用程序时使用它

删除终结点和订阅

可以删除模型订阅和终结点。 删除模型订阅会使任何关联的终结点变得不正常且无法使用

删除无服务器 API 部署:

az ml serverless-endpoint delete \
    --name "DeepSeek-R1-qwerty"

若要删除关联的模型订阅,请执行以下操作:

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • 若要使用 Azure AI Foundry,请安装 适用于 Python 的 Azure 机器学习 SDK

    pip install -U azure-ai-ml
    

    安装后,导入所需的命名空间并创建连接到项目的客户端:

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    from azure.ai.ml.entities import MarketplaceSubscription, ServerlessEndpoint
    
    client = MLClient(
        credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
        subscription_id="<subscription-id>",
        resource_group_name="<resource-group>",
        workspace_name="<project-name>",
    )
    

在模型目录中查找模型

  1. 登录到 Azure AI Foundry
  2. 如果你尚未进入项目,请先选择它。
  3. 从左窗格中选择 “模型目录 ”。
  1. 选择要部署的模型的模型卡。 在本文中,你将选择一个 DeepSeek-R1 模型。

  2. 复制 模型 ID 而不包括模型版本,因为无服务器 API 部署始终部署可用的模型最新版本。 例如,对于模型 ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1,请复制 azureml://registries/azureml-deepseek/models/DeepSeek-R1

    显示 Azure 直接销售的模型的模型详细信息页的屏幕截图。

本文本部分中的步骤使用 DeepSeek-R1 模型进行说明。 这些步骤相同,无论是使用由 Azure 直接销售的 Foundry 模型还是合作伙伴和社区的 Foundry 模型。 例如,如果选择改为部署 Cohere-command-r-08-2024 模型,则可以将代码片段中的模型凭据替换为 Cohere 的凭据。

将模型部署到无服务器 API

在本部分中,你将为模型创建终结点。 将终结点命名为 DeepSeek-R1-qwerty

  1. 创建无服务器终结点。

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  2. 随时可以查看部署到项目的终结点:

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  3. 创建的终结点使用密钥身份验证进行授权。 使用以下步骤获取与给定终结点关联的密钥。

    endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
    print(endpoint_keys.primary_key)
    print(endpoint_keys.secondary_key)
    
  4. 如果需要从其他项目或中心使用此部署,或者计划使用提示流生成智能应用程序,则需要创建与无服务器 API 部署的连接。 若要了解如何在新项目或中心上配置现有无服务器 API 部署,请参阅 从其他项目或提示流使用已部署的无服务器 API 部署

    小窍门

    如果在与部署所在相同的项目或枢纽中使用 Prompt flow,仍需创建连接。

使用无服务器 API 部署

在无服务器 API 部署中部署的 Azure 机器学习和 Azure AI Foundry 中的模型支持 Azure AI 模型推理 API ,该 API 公开了基础模型的一组常见功能,开发人员可以使用这些模型以统一且一致的方式使用来自各种模型的预测。

详细了解此 API 的功能以及如何在生成应用程序时使用它

删除终结点和订阅

可以删除模型订阅和终结点。 删除模型订阅会使任何关联的终结点变得不正常且无法使用

client.serverless_endpoints.begin_delete(endpoint_name).wait()

若要删除关联的模型订阅,请执行以下操作:

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • 若要使用 Azure AI Foundry,请安装 Azure CLI,如 Azure CLI 中所述。

    根据设置,配置以下环境变量:

    RESOURCE_GROUP="serverless-models-dev"
    LOCATION="eastus2" 
    

在模型目录中查找模型

  1. 登录到 Azure AI Foundry
  2. 如果你尚未进入项目,请先选择它。
  3. 从左窗格中选择 “模型目录 ”。
  1. 选择要部署的模型的模型卡。 在本文中,你将选择一个 DeepSeek-R1 模型。

  2. 复制 模型 ID 而不包括模型版本,因为无服务器 API 部署始终部署可用的模型最新版本。 例如,对于模型 ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1,请复制 azureml://registries/azureml-deepseek/models/DeepSeek-R1

    显示 Azure 直接销售的模型的模型详细信息页的屏幕截图。

本文本部分中的步骤使用 DeepSeek-R1 模型进行说明。 这些步骤相同,无论是使用由 Azure 直接销售的 Foundry 模型还是合作伙伴和社区的 Foundry 模型。 例如,如果选择改为部署 Cohere-command-r-08-2024 模型,则可以将代码片段中的模型凭据替换为 Cohere 的凭据。

将模型部署到无服务器 API

在本部分中,你将为模型创建终结点。 将终结点命名 为 myserverless-text-1234ss

  1. 创建无服务器终结点。 使用以下模板创建终结点:

    serverless-endpoint.bicep

    param projectName string = 'my-project'
    param endpointName string = 'myserverless-text-1234ss'
    param location string = resourceGroup().location
    param modelId string = 'azureml://registries/azureml-deepseek/models/DeepSeek-R1'
    
    var modelName = substring(modelId, (lastIndexOf(modelId, '/') + 1))
    var subscriptionName = '${modelName}-subscription'
    
    resource projectName_endpoint 'Microsoft.MachineLearningServices/workspaces/serverlessEndpoints@2024-04-01-preview' = {
      name: '${projectName}/${endpointName}'
      location: location
      sku: {
        name: 'Consumption'
      }
      properties: {
        modelSettings: {
          modelId: modelId
        }
      }
      dependsOn: [
        projectName_subscription
      ]
    }
    
    output endpointUri string = projectName_endpoint.properties.inferenceEndpoint.uri
    

    如下所示创建部署:

    az deployment group create --resource-group $RESOURCE_GROUP --template-file model-subscription.bicep
    
  2. 随时可以查看部署到项目的终结点:

    可以使用资源管理工具来查询资源。 以下代码使用 Azure CLI:

    az resource list \
        --query "[?type=='Microsoft.MachineLearningServices/workspaces/serverlessEndpoints']"
    
  3. 创建的终结点使用密钥身份验证进行授权。 使用 REST API 查询此信息,获取与给定终结点关联的密钥。

  4. 如果需要从其他项目或中心使用此部署,或者计划使用提示流生成智能应用程序,则需要创建与无服务器 API 部署的连接。 若要了解如何在新项目或中心上配置现有无服务器 API 部署,请参阅 从其他项目或提示流使用已部署的无服务器 API 部署

    小窍门

    如果在与部署所在相同的项目或枢纽中使用 Prompt flow,仍需创建连接。

使用无服务器 API 部署

在无服务器 API 部署中部署的 Azure 机器学习和 Azure AI Foundry 中的模型支持 Azure AI 模型推理 API ,该 API 公开了基础模型的一组常见功能,开发人员可以使用这些模型以统一且一致的方式使用来自各种模型的预测。

详细了解此 API 的功能以及如何在生成应用程序时使用它

删除终结点和订阅

可以删除模型订阅和终结点。 删除模型订阅会使任何关联的终结点变得不正常且无法使用

可以使用资源管理工具来管理资源。 以下代码使用 Azure CLI:

az resource delete --name <resource-name>

部署为无服务器 API 部署的 Foundry 模型的成本和配额注意事项

配额是按部署管理的。 每个部署的速率限制为每分钟 200,000 个令牌和每分钟 1,000 个 API 请求。 此外,我们目前限制每个项目每个模型一个部署。 如果当前速率限制不能满足你的方案,请联系 Microsoft Azure 支持部门。

  • 可以在无服务器 API 部署窗口的“定价和条款”选项卡上找到 Azure 直接销售的模型的定价信息。

  • 合作伙伴和社区中的模型 通过 Azure 市场提供,并与 Azure AI Foundry 集成以供使用。 部署或微调这些模型时,可找到 Azure 市场定价。 每次项目从 Azure 市场订阅给定套餐时,都会创建一个新资源来跟踪与其消耗相关的成本。 同一资源用于跟踪与推理和微调相关的成本。但是,可以使用多个计量器来独立跟踪每个方案。 有关如何跟踪成本的详细信息,请参阅监视通过 Azure 市场提供的模型的成本

订阅模型产品/服务所需的权限

Azure 基于角色的访问控制 (Azure RBAC) 用于授予对 Azure AI Foundry 门户中的操作的访问权限。 若要执行本文中的步骤,必须为用户帐户分配 Azure 订阅的“所有者”、“参与者”或“Azure AI 开发人员”角色。 或者,可以为帐户分配具有以下权限的自定义角色:

  • 在 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
  • 在工作区中,部署终结点的权限(Azure 机器学习数据科学家角色已包含这些权限):

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

有关权限详细信息,请参阅 Azure AI Foundry 门户中基于角色的访问控制