共用方式為


將模型部署為無伺服器 API 部署

備註

本文件指的是 Microsoft Foundry(經典版) 入口網站。

🔍 請參閱 Microsoft Foundry(新)文件 以了解新入口網站。

這很重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

在本文中,您將學習如何將 Microsoft Foundry 模型部署為無伺服器 API 部署。 模型目錄中的某些模型 可以部署為無伺服器的 API。 這種部署可讓您以 API 的形式取用模型,而不必在您的訂用帳戶上裝載模型,同時讓組織保持所需的企業安全性和合規性。 此部署選項不需要您的訂用帳戶提供配額。

雖然部署無伺服器 API 是部署 Foundry 模型的一種選項,但我們建議您將 Foundry 模型部署至 Foundry 資源

備註

我們建議你將 Microsoft Foundry 模型部署到 Foundry 資源 中,這樣你就能透過單一端點,使用相同的認證與架構來產生推論。 端點遵循所有 Foundry 模型支援的 Azure AI 模型推斷 API 。 欲了解如何將 Foundry 模型部署至 Foundry 資源,請參閱 「新增與配置模型至 Foundry Models」。

先決條件

  • 具有有效付款方式的 Azure 訂用帳戶。 免費版或試用版 Azure 訂用帳戶將無法運作。 如果您沒有 Azure 訂用帳戶,請建立付費 Azure 帳戶以開始。

  • 如果您沒有,請建立一個中樞型的專案

  • 請確保在 Foundry 入口網站關閉「 將模型部署到 Foundry 資源 (預覽)」功能。 當此功能開啟時,入口網站中將無法提供無伺服器 API 部署。

    Foundry 入口網站顯示在哪裡可以停用部署到 Foundry 資源的螢幕擷取畫面。

  • 來自合作夥伴和社群的 Foundry 模型需要存取 Azure Marketplace,而 Azure 直接銷售的 Foundry 模型則不需要此需求。 請確定您擁有在 Azure Marketplace 中訂閱模型供應專案所需的許可權。

  • Azure 角色基礎存取控制(Azure RBAC)用於授權 Foundry 入口網站中的操作權限。 若要執行本文中的步驟,您的使用者帳戶必須獲派資源群組上的 Azure AI 開發人員角色。 欲了解更多權限資訊,請參閱 Foundry 入口網站的角色基礎存取控制

  • 你可以使用任何相容的網頁瀏覽器來瀏覽 Foundry

在模型目錄中尋找您的模型

  1. 登入 Microsoft Foundry。 確定新鑄造廠的開關是關閉的。 這些步驟指的是Foundry (classic)
  2. 如果您尚未進入您的專案,請選擇它。
  3. 從左窗格中選取 [模型目錄 ]。
  1. 選取您要部署之模型的模型卡片。 在本文中,您會選取 DeepSeek-R1 模型。

  2. 選取 [使用此模型 ] 開啟 [ 無伺服器 API 部署 ] 視窗,您可以在其中檢視 [定價和條款 ] 索引標籤。

  3. 在部署精靈中,將部署命名為 。 [內容篩選 (預覽)] 選項預設為啟用。 保留服務的預設設定以偵測有害的內容,例如仇恨、自我傷害、性與暴力內容。 欲了解更多內容過濾資訊,請參閱 Foundry 入口網站的內容過濾

    此螢幕快照顯示 Azure 直接銷售之模型的部署精靈。

將模型部署至無伺服器 API

在本節中,您會為模型建立端點。

  1. 在部署精靈中,選取 [ 部署]。 待部署準備就緒後,系統會將您重新導向至 [部署] 頁面。

  2. 若要查看部署至專案的端點,請在左窗格的 [ 我的資產 ] 區段中,選取 [模型 + 端點]。

  3. 建立的端點會使用金鑰驗證進行授權。 若要取得與指定端點相關聯的密鑰,請遵循下列步驟:

    1. 選取部署,並記下端點的目標 URI 和金鑰。

    2. 使用這些認證來呼叫部署併產生預測。

  4. 如果您需要從不同的專案或集線器取用此部署,或計劃使用 Prompt Flow 來建構智慧型應用程式,則必須建立連線至無伺服器 API 部署。 若要瞭解如何在新專案或中樞上設定現有的無伺服器 API 部署,請參閱 從不同專案或提示流程取用已部署的無伺服器 API 部署

    小提示

    如果您在部署所在的相同專案或中樞中使用提示流程,還是需要建立連線。

使用無伺服器 API 部署

在 Azure Machine Learning 與 Foundry 中部署的無伺服器 API 部署模型支援 Azure AI 模型推論 API ,該 API 揭示了基礎模型的共通能力,開發者可使用這些模型以統一且一致的方式接收來自多元模型的預測。

深入了解此 API 的功能,以及如何在建置應用程式時加以使用

刪除端點和訂用帳戶

小提示

因為你可以自訂 Microsoft Foundry 入口網站的 左側窗格 ,你可能會看到與這些步驟中顯示不同的項目。 如果您沒有看到您要尋找的內容,請選取左窗格底部的 ... 更多

您可以刪除模型訂用帳戶和端點。 刪除模型訂用帳戶會使任何相關聯的端點變成狀況不良且無法使用。

若要刪除無伺服器 API 部署:

  1. 前往 Foundry
  2. 移至您的專案。
  3. 在 [ 我的資產] 區段中,選取 [ 模型 + 端點]。
  4. 開啟您要刪除的部署。
  5. 選擇 刪除

若要刪除相關聯的模型訂用帳戶:

  1. 移至 Azure 入口網站
  2. 瀏覽至專案所屬的資源群組。
  3. 在 [類型] 篩選中,選取 [SaaS]
  4. 選取您要刪除的訂用帳戶。
  5. 選擇 刪除
  • 要使用 Foundry,請安裝 Azure CLIAzure Machine Learning 的 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. 登入 Microsoft Foundry。 確定新鑄造廠的開關是關閉的。 這些步驟指的是Foundry (classic)
  2. 如果您尚未進入您的專案,請選擇它。
  3. 從左窗格中選取 [模型目錄 ]。
  1. 選取您要部署之模型的模型卡片。 在本文中,您會選取 DeepSeek-R1 模型。

  2. 複製 模型標識碼 而不包含模型版本,因為無伺服器 API 部署一律會部署模型的最新版本。 例如,針對模型識別碼 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. 如果您需要從不同的專案或集線器取用此部署,或計劃使用 Prompt Flow 來建構智慧型應用程式,則必須建立連線至無伺服器 API 部署。 若要瞭解如何在新專案或中樞上設定現有的無伺服器 API 部署,請參閱 從不同專案或提示流程取用已部署的無伺服器 API 部署

    小提示

    如果您在部署所在的相同專案或中樞中使用提示流程,還是需要建立連線。

使用無伺服器 API 部署

在 Azure Machine Learning 與 Foundry 中部署的無伺服器 API 部署模型支援 Azure AI 模型推論 API ,該 API 揭示了基礎模型的共通能力,開發者可使用這些模型以統一且一致的方式接收來自多元模型的預測。

深入了解此 API 的功能,以及如何在建置應用程式時加以使用

刪除端點和訂用帳戶

您可以刪除模型訂用帳戶和端點。 刪除模型訂用帳戶會使任何相關聯的端點變成狀況不良且無法使用。

若要刪除無伺服器 API 部署:

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

若要刪除相關聯的模型訂用帳戶:

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • 要使用 Foundry,請安裝 Python 的 Azure Machine Learning 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. 登入 Microsoft Foundry。 確定新鑄造廠的開關是關閉的。 這些步驟指的是Foundry (classic)
  2. 如果您尚未進入您的專案,請選擇它。
  3. 從左窗格中選取 [模型目錄 ]。
  1. 選取您要部署之模型的模型卡片。 在本文中,您會選取 DeepSeek-R1 模型。

  2. 複製 模型標識碼 而不包含模型版本,因為無伺服器 API 部署一律會部署模型的最新版本。 例如,針對模型識別碼 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. 如果您需要從不同的專案或集線器取用此部署,或計劃使用 Prompt Flow 來建構智慧型應用程式,則必須建立連線至無伺服器 API 部署。 若要瞭解如何在新專案或中樞上設定現有的無伺服器 API 部署,請參閱 從不同專案或提示流程取用已部署的無伺服器 API 部署

    小提示

    如果您在部署所在的相同專案或中樞中使用提示流程,還是需要建立連線。

使用無伺服器 API 部署

在 Azure Machine Learning 與 Foundry 中部署的無伺服器 API 部署模型支援 Azure AI 模型推論 API ,該 API 揭示了基礎模型的共通能力,開發者可使用這些模型以統一且一致的方式接收來自多元模型的預測。

深入了解此 API 的功能,以及如何在建置應用程式時加以使用

刪除端點和訂用帳戶

您可以刪除模型訂用帳戶和端點。 刪除模型訂用帳戶會使任何相關聯的端點變成狀況不良且無法使用。

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

若要刪除相關聯的模型訂用帳戶:

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • 要使用 Foundry,請按照 Azure CLI 上的說明安裝 Azure CLI。

    根據您的設定,設定下列環境變數:

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

在模型目錄中尋找您的模型

  1. 登入 Microsoft Foundry。 確定新鑄造廠的開關是關閉的。 這些步驟指的是Foundry (classic)
  2. 如果您尚未進入您的專案,請選擇它。
  3. 從左窗格中選取 [模型目錄 ]。
  1. 選取您要部署之模型的模型卡片。 在本文中,您會選取 DeepSeek-R1 模型。

  2. 複製 模型標識碼 而不包含模型版本,因為無伺服器 API 部署一律會部署模型的最新版本。 例如,針對模型識別碼 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))
    // Replace period character which is used in some model names (and is not valid in the subscription name)
    var sanitizedModelName = replace(modelName, '.', '')
    var subscriptionName = '${sanitizedModelName}-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. 如果您需要從不同的專案或集線器取用此部署,或計劃使用 Prompt Flow 來建構智慧型應用程式,則必須建立連線至無伺服器 API 部署。 若要瞭解如何在新專案或中樞上設定現有的無伺服器 API 部署,請參閱 從不同專案或提示流程取用已部署的無伺服器 API 部署

    小提示

    如果您在部署所在的相同專案或中樞中使用提示流程,還是需要建立連線。

使用無伺服器 API 部署

在 Azure Machine Learning 與 Foundry 中部署的無伺服器 API 部署模型支援 Azure AI 模型推論 API ,該 API 揭示了基礎模型的共通能力,開發者可使用這些模型以統一且一致的方式接收來自多元模型的預測。

深入了解此 API 的功能,以及如何在建置應用程式時加以使用

刪除端點和訂用帳戶

您可以刪除模型訂用帳戶和端點。 刪除模型訂用帳戶會使任何相關聯的端點變成狀況不良且無法使用。

您可以使用資源管理工具來管理資源。 下列程式碼使用 Azure CLI:

az resource delete --name <resource-name>

作為無伺服器 API 部署的 Foundry 模型的成本和配額考量事項

配額會根據每個部署管理。 每個部署的速率限制為每分鐘 200,000 個 token,以及每分鐘 1,000 個 API 請求。 此外,我們目前限制每個專案每個模型只能有一個部署。 如果目前的速率限制無法滿足您的情節,請連絡 Microsoft Azure 支援。

  • 您可以在無伺服器 API 部署視窗的 [定價和條款] 索引標籤上,找到 Azure 直接銷售的模型定價資訊。

  • 合作夥伴與社群的模型可透過 Azure Marketplace 提供,並與 Foundry 整合使用。 您可以在部署或微調這些模型時,找到 Azure Marketplace 價格。 每次專案訂閱來自 Azure Marketplace 的指定供應項目時,都會建立新的資源,以便追蹤與其使用量相關聯的成本。 會使用同一資源來追蹤與推斷和微調相關的成本;不過,可以使用多個計量來獨立追蹤每個場景。 如需如何追蹤成本的詳細資訊,請參閱監視透過 Azure Marketplace 提供的模型成本 (部分機器翻譯)。

訂閱模型服務所需的權限

Azure 角色基礎存取控制(Azure RBAC)用於授權 Foundry 入口網站中的操作權限。 若要執行本文中的步驟,您的使用者帳戶必須獲指派 Azure 訂用帳戶的擁有者參與者Azure AI 開發人員角色。 或者,可以為您的帳戶指派具有下列權限的自訂角色:

  • 在 Azure 訂用帳戶上 - 以為工作區訂閱 Azure Marketplace 供應項目的權限,需針對每個供應項目為每個工作區執行一次:

    • 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 Machine Learning 資料科學家角色已經包含這些權限):

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

欲了解更多權限資訊,請參閱 Foundry 入口網站的角色基礎存取控制