Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieses Dokument bezieht sich auf das Microsoft Foundry(klassische) Portal.
🔍 Zeigen Sie die Microsoft Foundry-Dokumentation (neu) an, um mehr über das neue Portal zu erfahren.
In diesem Artikel erfahren Sie, wie Sie die folgenden Microsoft FoundryRessourcen mithilfe des Azure Machine Learning SDK und Azure CLI (mit machine learning Erweiterung) erstellen:
- Ein Gießereihub
- Eine Foundry-Verbindung
Hinweis
Ein Hub wird nur für ein hubbasiertes Projekt verwendet. Ein Foundry project verwendet keinen Hub. Weitere Informationen finden Sie unter Projekttypen.
Voraussetzungen
- Ein Azure Konto mit einem aktiven Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein free Azure Konto, das ein kostenloses Testabonnement enthält.
- RBAC-Rollen: Sie müssen über die Rolle Contributor oder Owner in Ihrem Azure Abonnement oder Ihrer Ressourcengruppe verfügen, um einen Hub zu erstellen. Wenn Sie eine Verbindung mit vorhandenen Ressourcen erstellen, stellen Sie sicher, dass Sie auch Zugriff als Mitwirkender zu diesen Ressourcen haben.
- For Python SDK: Azure Machine Learning Python SDK (v2.0 oder höher), Azure Identity Python SDK und Python 3.8 oder höher.
- Für Azure CLI: Azure CLI und Azure Machine Learning Erweiterung.
- Wenn Sie eine Verbindung mit vorhandenen Ressourcen herstellen: Azure Storage Konto oder Azure Key Vault müssen bereits im selben Abonnement vorhanden sein (dieselbe Ressourcengruppe oder in einer anderen Ressourcengruppe, zu der Sie access haben).
Richten Sie Ihre Umgebung ein
Verwenden Sie die folgenden Registerkarten, um auszuwählen, ob Sie das Python SDK oder Azure CLI verwenden:
Installieren von Paketen. (Verwenden Sie
%pip installstattdessen in einer Notizbuchzelle.)pip install azure-ai-ml pip install azure-identityGeben Sie Ihre Abonnementdetails an:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Rufen Sie ein Handle für das Abonnement ab. Der gesamte Python-Code in diesem Artikel verwendet
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)(Optional) Wenn Sie über mehrere Konten verfügen, fügen Sie die Mandanten-ID der Microsoft Entra ID, die Sie verwenden möchten, in der
DefaultAzureCredentialhinzu. Suchen Sie Ihre Mandanten-ID im Azure-Portal unter Microsoft Entra ID, Externe Identitäten.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Optional) Wenn Sie in den Regionen Azure Government - US oder Azure China 21Vianet arbeiten, geben Sie die Region an, in der Sie sich authentifizieren möchten. Sie können die Region über
DefaultAzureCredentialangeben. Im folgenden Beispiel wird die Authentifizierung in der Azure Government - US-Region durchgeführt:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Überprüfen Sie die Verbindung.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Wenn Sie einen Authentifizierungsfehler erhalten, stellen Sie sicher, dass Ihre Azure Anmeldeinformationen konfiguriert sind (führen Sie az login aus, oder richten Sie Ihre Anmeldeinformationen über das Azure Identity SDK ein). Wenn Sie einen Berechtigungsfehler erhalten, überprüfen Sie, ob Sie über die Rolle "Mitwirkender" für das Abonnement oder die Ressourcengruppe verfügen.
References: MLClient, DefaultAzureCredential
Erstellen des Foundry-Hubs und der Microsoft Foundry-Verbindung
Verwenden Sie die folgenden Beispiele, um einen neuen Hub zu erstellen. Ersetzen Sie die Beispielzeichenfolge durch Ihre eigenen Werte:
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}")
Dieser Code erstellt einen neuen Hub mit dem angegebenen Namen, Standort und Anzeigenamen. Azure provisioniert automatisch die zugeordneten Azure Storage- und Azure Key Vault-Ressourcen.
References: Hub, MLClient.workspaces.begin_create
Erstellen einer Foundry-Verbindung
Nachdem Sie ihre eigene Foundry-Ressource oder Azure OpenAI-Ressource in derselben Ressourcengruppe erstellt haben, können Sie sie mit Ihrem Hub verbinden. Sie können auch Azure AI Search mit einer beliebigen Ressourcengruppe in Ihrem selben Abonnement verbinden.
Schließen Sie Ihren Hub in Ihre
ml_clientVerbindung ein:Geben Sie Ihre Abonnementdetails ein. Geben Sie für
<AML_WORKSPACE_NAME>Ihren Hubnamen ein:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Rufen Sie sich einen Handle für den Hub ab:
# 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 )
Verwenden Sie
ml_client, um die Verbindung zu Ihren Foundry Tools herzustellen. Sie finden Endpunkte in Azure portal unter Ressource-Verwaltung > Schlüssel und Endpunkte. Verwenden Sie für eine Foundry-Ressource den AI Services-Endpunkt . Verwenden Sie für Azure AI Search die URL für den Endpunkt.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}")References:
AzureAIServicesConnection, MLClient.connections
Erstellen Sie einen Hub mit bestehenden Abhängigkeitsressourcen
Standardmäßig erstellt ein Hub automatisch zugeordnete Azure Storage und Azure Key Vault Ressourcen. Wenn Sie vorhandene Azure Storage oder Azure Key Vault Ressourcen wiederverwenden möchten, können Sie diese während der Huberstellung angeben. Ersetzen Sie in den folgenden Beispielen die Platzhalterwerte durch Ihre eigenen Ressourcen-IDs:
Tipp
Sie können die Ressourcen-ID des Storage-Kontos und des Key Vaults aus dem Azure-Portal abrufen, indem Sie zur Übersicht der Ressource wechseln und JSON-Ansicht auswählen. Die Ressourcen-ID befindet sich im Feld ID. Sie können auch die Azure CLI verwenden, um die Ressourcen-ID abzurufen. Verwenden Sie beispielsweise az storage account show --name {my_storage_account_name} --query "id" und 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}")
Um Ressourcen-IDs für vorhandene Ressourcen zu finden, besuchen Sie die Seite Azure portal, navigieren Sie zur seite Overview, und wählen Sie JSON-Ansicht aus. Die Ressourcen-ID wird im Id-Feld angezeigt. Alternativ können Sie Azure CLI verwenden:
# 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"
References: Hub
Aktualisieren Azure Application Insights und Azure Container Registry
Um benutzerdefinierte Umgebungen für den Eingabeaufforderungsfluss zu verwenden, müssen Sie eine Azure Container Registry für Ihren Hub konfigurieren. Um Azure Application Insights für Prompt Flow-Bereitstellungen zu verwenden, müssen Sie eine Azure Application Insights-Ressource für Ihren Hub konfigurieren. Das Aktualisieren der dem Arbeitsbereich zugeordneten Azure Container Registry- oder Application Insights-Ressourcen kann dazu führen, dass die Verknüpfung früherer Aufträge gestört wird, was sich auf bereitgestellte Inferenzendpunkte oder die Möglichkeit auswirken kann, frühere Aufträge im Arbeitsbereich neu auszuführen. Nach der Zuordnung mit einem Foundry-Hub können Azure Container Registry- und Application Insights-Ressourcen nicht aufgelöst (auf NULL gesetzt) werden.
Sie können die Azure portal, Azure SDK/CLI-Optionen oder die Infrastruktur-as-Code-Vorlagen verwenden, um sowohl Azure Application Insights als auch Azure Container Registry für den Hub zu aktualisieren.
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}")
Dieses Skript aktualisiert einen vorhandenen Hub mit den angegebenen Application Insights- und Containerregistrierungsressourcen. Der update_dependent_resources=True Parameter bestätigt die Aktualisierung.
Referenz: Hub, MLClient.workspaces.begin_update()