Tworzenie centrum przy użyciu zestawu SDK Azure Machine Learning i interfejsu wiersza polecenia (wersja klasyczna)

Dotyczy tylko:Portal Foundry (klasyczny). Ten artykuł nie jest dostępny w nowym portalu Foundry. Dowiedz się więcej o nowym portalu.

Uwaga

Linki w tym artykule mogą otwierać zawartość w nowej dokumentacji Microsoft Foundry, w przeciwieństwie do dokumentacji Foundry (klasycznej), którą przeglądasz obecnie.

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

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

Uwaga

Koncentrator jest używany tylko dla projektu opartego na centrum. Projekt Foundry nie używa hubu. 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 PYTHON SDK, czy Azure CLI:

  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 dojście do subskrypcji. Cały kod Python w tym artykule używa 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 ID dzierżawcy Microsoft Entra ID, którego chcesz użyć w DefaultAzureCredential. Znajdź identyfikator dzierżawy w portalu Azure w sekcji Microsoft Entra ID, Tożsamości zewnętrzne.

    DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
    
  5. (Opcjonalnie) Jeśli pracujesz w Azure Government — USA lub Azure (Chiny) — 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 — Stany Zjednoczone:

    from azure.identity import AzureAuthorityHosts
    DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
    
  6. Sprawdź 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 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 centrum Foundry i połączenia 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. Azure automatycznie aprowizuje skojarzone zasoby 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 Azure OpenAI w tej samej grupie zasobów, możesz go połączyć z koncentratorem. Możesz również połączyć Wyszukiwanie AI platformy Azure z dowolnej grupy zasobów w tej samej subskrypcji.

  1. Dołącz swój hub do połączenia ml_client.

    • 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 portalu Azure w obszarze Resource management > Keys and endpoints. W przypadku zasobu Foundry użyj punktu końcowego AI Services. W przypadku Wyszukiwanie AI platformy Azure 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 Azure Storage i Azure Key Vault. Jeśli chcesz ponownie użyć istniejących zasobów Azure Storage lub Azure Key Vault, możesz określić je 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 uzyskać z portalu Azure, przechodząc do sekcji przeglądu zasobu i wybierając widok JSON. Identyfikator zasobu znajduje się w polu id . Możesz również użyć Azure CLI, 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ź stronę Azure portal przejdź do strony Overview i wybierz widok JSON. Identyfikator zasobu zostanie wyświetlony w polu id . Alternatywnie użyj Azure CLI:

# 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

Aktualizacja aplikacja systemu Azure Insights i Azure Container Registry

Aby użyć środowisk niestandardowych dla przepływu monitów, należy skonfigurować Azure Container Registry dla centrum. Aby użyć usługi aplikacja systemu Azure Insights dla wdrożeń usługi Prompt Flow, należy skonfigurować zasób usługi aplikacja systemu Azure Insights dla centrum. Aktualizowanie dołączonych do obszaru roboczego zasobów Azure Container Registry lub Application Insights może spowodować przerwanie pochodzenia poprzednich zadań, wdrożonych punktów końcowych wnioskowania lub uniemożliwić ponowne uruchamianie wcześniejszych zadań w obszarze roboczym. Po skojarzeniu z centrum Foundry nie można usunąć skojarzenia zasobów Azure Container Registry i usługi Application Insights ani ustawić ich na wartość null.

Możesz użyć portalu Azure, opcji 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()