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 Foundry-Ressourcen mithilfe des Azure Machine Learning SDK und der 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-Projekt verwendet keinen Hub. Weitere Informationen finden Sie unter Projekttypen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie über keins verfügen, erstellen Sie ein kostenloses Azure-Konto, das ein kostenloses Testabonnement enthält.
- RBAC-Rollen: Sie müssen über die Rolle "Mitwirkender " oder "Besitzer " 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 über den Mitwirkendenzugriff auf diese Ressourcen verfügen.
- Für 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 muss bereits im selben Abonnement vorhanden sein (dieselbe Ressourcengruppe oder in einer anderen Ressourcengruppe, auf die Sie Zugriff haben).
Richten Sie Ihre Umgebung ein
Verwenden Sie die folgenden Registerkarten, um auszuwählen, ob Sie das Python SDK oder die 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 mehrere Konten haben, fügen Sie die Mandanten-ID der gewünschten Microsoft Entra ID in
DefaultAzureCredentialein. Ihre Mandanten-ID finden Sie 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 – USA oder Azure China 21Vianet arbeiten, geben Sie die Region an, in der Sie die Authentifizierung durchführen möchten. Sie können die Region über
DefaultAzureCredentialangeben. Das folgende Beispiel authentifiziert sich in der Azure Government-US-Region: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 az login 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.
Verweise: 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 stellt automatisch zugeordnete Azure Storage- und Azure Key Vault-Ressourcen fest.
Verweise: 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 Azure AI Search auch über jede Ressourcengruppe in Ihremselben 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. Endpunkte finden Sie im Azure-Portal unter Ressourcenverwaltungsschlü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}")Referenzen:
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 Speicherkontos und des Schlüsseltresors 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. Beispiel: Verwenden 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 das Azure-Portal, navigieren Sie zur Seite "Übersicht " der Ressource, und wählen Sie die JSON-Ansicht aus. Die Ressourcen-ID wird im Id-Feld angezeigt. Alternativ können Sie auch 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"
Referenzen: Hub
Aktualisieren der Azure Application Insights- und Azure-Container Registry
Um benutzerdefinierte Umgebungen für den Eingabeaufforderungsfluss zu verwenden, müssen Sie eine Azure-Containerregistrierung 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 die Herkunft früherer Aufträge, bereitgestellter Rückschlussendpunkte oder die Möglichkeit unterbrechen, frühere Aufträge in diesem Arbeitsbereich erneut auszuführen. Nach der Zuordnung zu einem Foundry-Hub kann die Zuordnung von Azure Container Registry- und Application Insights-Ressourcen nicht mehr aufgehoben (auf NULL festgelegt) werden.
Sie können das Azure-Portal, oder Azure SDK-/CLI-Optionen oder die Infrastructure-as-Code-Vorlagen verwenden, um Azure Application Insights und 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()