Udostępnij przez


Tworzenie centrum korzystając z Azure Machine Learning SDK, i CLI

Uwaga / Notatka

Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).

🔍 Zapoznaj się z dokumentacją rozwiązania Microsoft Foundry (nową), aby dowiedzieć się więcej o nowym portalu.

Z tego artykułu dowiesz się, jak utworzyć następujące zasoby rozwiązania Microsoft Foundry przy użyciu zestawu AZURE Machine Learning SDK i interfejsu wiersza polecenia platformy Azure (z rozszerzeniem uczenia maszynowego):

  • Centrum odlewnicze
  • Połączenie z usługą Foundry

Uwaga / Notatka

Hub jest używany tylko dla projektu hubowego. Projekt Foundry nie używa koncentratora. Aby uzyskać więcej informacji, zobacz Typy projektów.

Wymagania wstępne

Konfigurowanie środowiska

Użyj następujących kart, aby wybrać, czy używasz zestawu SDK języka Python, czy interfejsu wiersza polecenia platformy Azure:

  1. Instalowanie pakietów. (Jeśli w komórce notesu, użyj %pip install zamiast tego).

    pip install azure-ai-ml
    pip install azure-identity
    
  2. Podaj szczegóły subskrypcji:

    # Enter details of your subscription
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
  3. Uzyskaj dostęp do subskrypcji. Cały kod języka Python w tym artykule używa elementu 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. (Opcjonalnie) Jeśli masz wiele kont, dodaj Microsoft Entra ID dzierżawy, którego chcesz użyć, do DefaultAzureCredential. Znajdź swój identyfikator dzierżawcy w portalu Azure w obszarze Microsoft Entra ID, External Identities.

    DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
    
  5. (Opcjonalnie) Jeśli pracujesz w Azure Government - USA lub Azure China 21Vianet, określ region, w którym chcesz się uwierzytelnić. Możesz określić region za pomocą polecenia DefaultAzureCredential. Poniższy przykład uwierzytelnia się w regionie Azure Government — USA:

    from azure.identity import AzureAuthorityHosts
    DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
    
  6. Zweryfikuj połączenie.

    for hub in ml_client.workspaces.list():
        print(f"  - {hub.name}")
    

Jeśli wystąpi błąd uwierzytelniania, upewnij się, że poświadczenia platformy Azure są skonfigurowane (uruchom az login lub skonfiguruj poświadczenia za pomocą zestawu Azure Identity SDK). Jeśli wystąpi błąd uprawnień, sprawdź, czy masz rolę Współautor w subskrypcji lub grupie zasobów.

Odwołania: MLClient, DefaultAzureCredential

Tworzenie węzła Foundry i połączenia z Microsoft Foundry

Skorzystaj z poniższych przykładów, aby utworzyć nowe centrum. Zastąp przykładowe wartości ciągu własnymi wartościami:

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
)

# Create the hub and wait for completion
created_hub = ml_client.workspaces.begin_create(my_hub).result()
print(f"Created hub: {created_hub.name}")

Ten kod tworzy nowe centrum o określonej nazwie, lokalizacji i nazwie wyświetlanej. Platforma Azure automatycznie udostępnia skojarzone zasoby usługi Azure Storage i Azure Key Vault.

Odwołania: Hub, MLClient.workspaces.begin_create

Tworzenie połączenia z usługą Foundry

Po utworzeniu własnego zasobu Foundry lub zasobu usługi Azure OpenAI w tej samej grupie zasobów możesz połączyć go z centrum. Możesz również połączyć usługę Azure AI Search z dowolnej grupy zasobów w tej samej subskrypcji.

  1. Dołącz swoje centrum do ml_client połączenia:

    • Wprowadź szczegóły subskrypcji. W polu <AML_WORKSPACE_NAME>wprowadź nazwę centrum:

      # Enter details of your AML workspace
      subscription_id = "<SUBSCRIPTION_ID>"
      resource_group = "<RESOURCE_GROUP>"
      workspace = "<AML_WORKSPACE_NAME>"
    • Pobierz dojście do centrum:

      # 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. Użyj ml_client polecenia , aby utworzyć połączenie z narzędziami Foundry. Punkty końcowe można znaleźć w witrynie Azure Portal w obszarze Klucze zarządzania > zasobami i punkty końcowe. W przypadku zasobu Foundry użyj punktu końcowego AI Services. W przypadku usługi Azure AI Search użyj adresu URL punktu końcowego.

    from azure.ai.ml.entities import AzureAIServicesConnection
    
    # Construct a connection to Azure AI Services
    my_connection_name = "my-ai-services-connection"  # Any name you want
    aiservices_resource_name = "<your-resource-name>"  # From Azure portal
    my_endpoint = "<your-endpoint>"  # From Azure portal
    my_api_keys = None  # Leave blank to use Azure Entra ID (AAD) authentication
    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)
    print(f"Created connection: {my_connection.name}")
    

    Odwołania: AzureAIServicesConnection, MLClient.connections

Tworzenie centrum z istniejącymi zasobami zależności

Domyślnie centrum automatycznie tworzy skojarzone zasoby usługi Azure Storage i Azure Key Vault. Jeśli chcesz ponownie użyć istniejących zasobów usługi Azure Storage lub usługi Azure Key Vault, możesz je określić podczas tworzenia centrum. W poniższych przykładach zastąp wartości symboli zastępczych własnymi identyfikatorami zasobów:

Wskazówka

Identyfikator zasobu konta magazynu i magazynu kluczy można pobrać z witryny Azure Portal, przechodząc do przeglądu zasobu i wybierając widok JSON. Identyfikator zasobu znajduje się w polu id . Możesz również użyć interfejsu wiersza polecenia platformy Azure, aby pobrać identyfikator zasobu. Na przykład użyj az storage account show --name {my_storage_account_name} --query "id" i 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/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
my_key_vault_id = "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<key-vault-name>"

# Construct a hub with existing dependency resources
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
)

# Create the hub
created_hub = ml_client.workspaces.begin_create(my_hub).result()
print(f"Created hub with existing resources: {created_hub.name}")

Aby znaleźć identyfikatory zasobów dla istniejących zasobów, odwiedź witrynę Azure Portal, przejdź do strony Przegląd zasobu i wybierz widok JSON. Identyfikator zasobu zostanie wyświetlony w polu id . Alternatywnie możesz użyć interfejsu wiersza polecenia platformy Azure:

# Get Storage account resource ID
az storage account show --name <storage-account-name> --resource-group <resource-group> --query "id"

# Get Key Vault resource ID
az keyvault show --name <key-vault-name> --resource-group <resource-group> --query "id"

Odwołania: Hub

Aktualizuj aplikację Azure Application Insights oraz Azure Container Registry

Aby użyć środowisk niestandardowych dla usługi Prompt Flow, należy skonfigurować usługę Azure Container Registry dla centrum. Aby użyć usługi Azure Application Insights na potrzeby wdrożeń usługi Prompt Flow, należy skonfigurować zasób usługi Azure Application Insights dla centrum. Aktualizowanie zasobów usługi Azure Container Registry lub Application Insights dołączonych do obszaru roboczego może spowodować przerwanie pochodzenia poprzednich zadań, wdrożonych punktów końcowych wnioskowania lub możliwość ponownego uruchamiania wcześniejszych zadań w obszarze roboczym. Po skojarzeniu z centrum Foundry nie można rozłączyć zasobów usługi Azure Container Registry i Application Insights ani ustawić ich na null.

Możesz użyć witryny Azure Portal, opcji zestawu Azure SDK/interfejsu wiersza polecenia lub szablonów infrastruktury jako kodu, aby zaktualizować zarówno aplikacja systemu Azure Insights, jak i Azure Container Registry dla centrum.

from azure.ai.ml.entities import Hub

my_app_insights = "{APPLICATION_INSIGHTS_ARM_ID}"
my_container_registry = "{CONTAINER_REGISTRY_ARM_ID}"

# construct a hub with Application Insights and Container Registry
my_hub = Hub(name="myexamplehub", 
             location="East US", 
             application_insights=my_app_insights,
             container_registry=my_container_registry)

# update_dependent_resources is used to give consent to update the workspace dependent resources.
updated_hub = ml_client.workspaces.begin_update(workspace=my_hub, update_dependent_resources=True).result()
print(f"Hub updated: {updated_hub.name}")

Ten skrypt aktualizuje istniejące centrum przy użyciu określonych zasobów usługi Application Insights i usługi Container Registry. Parametr update_dependent_resources=True potwierdza aktualizację.

Dokumentacja: Hub, MLClient.workspaces.begin_update()