共用方式為


使用 Azure Machine Learning SDK 和 CLI 建立中樞

備註

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

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

這很重要

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

在本文中,您將學習如何使用 Azure Machine Learning SDK 與 Azure CLI(含機器學習擴充功能)來建立以下 Microsoft Foundry 資源:

  • 鑄造中心
  • Microsoft Foundry 的連結

備註

中樞僅用於中樞型專案Foundry 專案不使用集線器。 如需詳細資訊,請參閱專案類型

先決條件

設定您的環境

使用下列索引標籤來選取您是否使用 Python SDK 或 Azure CLI:

  1. 安裝套件。 (如果在筆記本儲存格中,請改用 %pip install。)

    pip install azure-ai-ml
    pip install azure-identity
    
  2. 提供您的訂用帳戶詳細資料:

    # Enter details of your subscription
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
  3. 取得訂用帳戶的控制代碼。 本文中的所有 Python 程式碼都會使用 ml_client

    # get a handle to the subscription
    
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
  4. (選擇性) 如果您有多個帳戶,請將您想要使用的 Microsoft Entra ID 租用戶識別碼新增至 DefaultAzureCredential。 在 Azure 入口網站的 [Microsoft Entra ID,外部身分識別] 下,尋找您的租用戶識別碼。

    DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
    
  5. (選擇性) 如果您正在 Azure Government - USAzure China 21Vianet 區域中工作,請指定您要進行身份驗證的區域。 您可以使用 DefaultAzureCredential 來指定區域。 下列範例會向 Azure Government - 美國區域進行驗證:

    from azure.identity import AzureAuthorityHosts
    DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
    

建立 Foundry 中樞與 Microsoft Foundry 連線

使用下列範例來建立新的中樞。 請以您自己的值取代範例字串:

from azure.ai.ml.entities import Hub

my_hub_name = "myexamplehub"
my_location = "East US"
my_display_name = "My Example Hub"

# construct a basic hub
my_hub = Hub(name=my_hub_name, 
            location=my_location,
            display_name=my_display_name)

created_hub = ml_client.workspaces.begin_create(my_hub).result()

建立 Foundry 連結

在同一資源群組建立自己的 Foundry 資源Azure OpenAI 資源 後,你可以把它連接到你的樞紐。 您也可以從相同訂用帳戶中的任何資源群組連線 Azure AI 搜尋 服務。

  1. 您的 ml_client 連線現在必須包含中樞:

    • 提供您的訂用帳戶詳細資料。 針對 <AML_WORKSPACE_NAME>,使用您的中樞名稱:

      # Enter details of your AML workspace
      subscription_id = "<SUBSCRIPTION_ID>"
      resource_group = "<RESOURCE_GROUP>"
      workspace = "<AML_WORKSPACE_NAME>"
    • 取得中樞的控制代碼:

      # get a handle to the workspace
      from azure.ai.ml import MLClient
      from azure.identity import DefaultAzureCredential
      
      ml_client = MLClient(
          DefaultAzureCredential(), subscription_id, resource_group, workspace
      )
  2. ml_client 來建立與你的 Foundry 工具的連結。 您可以在 Azure 入口網站 中的 [ 資源管理 > 金鑰] 和 [端點] 下找到端點。 對於 Foundry 資源,請使用 Foundry Tools 的 API 端點。 針對 Azure AI 搜尋,請使用端點的 URL。

    from azure.ai.ml.entities import AzureAIServicesConnection
    
    # construct a Foundry connection
    my_connection_name = "myaiservivce" # any name you want
    aiservices_resource_name = <resource_name> # copy from Azure portal
    my_endpoint = "<endpoint>" # copy from Azure portal
    my_api_keys = None # leave blank for Authentication type = AAD
    my_ai_services_resource_id = f"/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.CognitiveServices/accounts/{aiservices_resource_name}"
    
    my_connection = AzureAIServicesConnection(name=my_connection_name,
                                        endpoint=my_endpoint, 
                                        api_key= my_api_keys,
                                        ai_services_resource_id=my_ai_services_resource_id)
    
    # Create the connection
    ml_client.connections.create_or_update(my_connection)
    

利用現有的相依資源建立 Foundry 中心

您也可以使用 Azure 儲存體和 Azure Key Vault 等現有資源來建立中樞。 在下列範例中,將範例字串值取代為您自己的值:

小提示

您可以移至資源的概觀並選取 JSON 檢視,從 Azure 入口網站擷取儲存體帳戶和金鑰保存庫的資源識別碼。 資源識別碼位於 [識別碼] 欄位中。 您也可以使用 Azure CLI 來擷取資源識別碼。 例如,az storage account show --name {my_storage_account_name} --query "id"az keyvault show --name {my_key_vault_name} --query "id"

from azure.ai.ml.entities import Hub

my_hub_name = "myexamplehub"
my_location = "East US"
my_display_name = "My Example Hub"
my_resource_group = "myresourcegroupname"
my_storage_account_id = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myresourcegroupname/providers/Microsoft.Storage/storageAccounts/mystorageaccountname"
my_key_vault_id = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myresourcegroupname/providers/Microsoft.KeyVault/vaults/mykeyvaultname"

# construct a basic hub
my_hub = Hub(name=my_hub_name, 
            location=my_location,
            display_name=my_display_name,
            resource_group=my_resource_group,
            storage_account_id=my_storage_account_id,
            key_vault_id=my_key_vault_id)

created_hub = ml_client.workspaces.begin_create(my_hub).result()