Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry.
Altre informazioni sul nuovo portale.
Annotazioni
Alcuni collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (classica) visualizzata.
Questo articolo illustra come creare le risorse seguenti Microsoft Foundry usando Azure Machine Learning SDK e Azure CLI (con estensione machine learning):
- Un hub Fonderia
- Una connessione Foundry
Annotazioni
Un hub viene usato solo per un progetto basato su hub. Un Foundry project non usa un hub. Per altre informazioni, vedere Tipi di progetti.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Se non hai uno, crea un account Azure gratuito, che include un abbonamento di prova gratuito.
- ruoli RBAC: è necessario avere il ruolo Contributor o Owner nella sottoscrizione o nel gruppo di risorse Azure per creare un hub. Se si crea una connessione a risorse esistenti, assicurarsi di disporre dell'accesso Collaboratore per queste risorse.
- For Python SDK: Azure Machine Learning Python SDK (v2.0 o versione successiva), Azure Identity Python SDK e Python 3.8 o versione successiva.
- For Azure CLI: Azure CLI e Azure Machine Learning extension.
- Se ci si connette a risorse esistenti: l'account di Azure Storage o Azure Key Vault devono già esistere nella stessa sottoscrizione (nello stesso gruppo di risorse o in un altro gruppo di risorse a cui si ha accesso).
Configurazione dell'ambiente
Usare le schede seguenti per selezionare se si usa Python SDK o Azure CLI:
Installare i pacchetti. In una cella del notebook, usare invece
%pip install.pip install azure-ai-ml pip install azure-identityFornire i dettagli della sottoscrizione:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Ottenere un handle per la sottoscrizione. Tutto il codice Python in questo articolo usa
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)(Facoltativo) Se si dispone di più account, aggiungere l'ID tenant del Microsoft Entra ID che si vuole usare nel
DefaultAzureCredential. Trovare l'ID tenant dal portale di Azure, in Microsoft Entra ID, Identità esterne.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Facoltativo) Se si lavora nelle aree Azure Government - US o Azure China 21Vianet, specificare l'area in cui si vuole eseguire l'autenticazione. È possibile specificare l'area con
DefaultAzureCredential. L'esempio seguente esegue l'autenticazione nell'area Azure Government - Stati Uniti:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Verificare la connessione.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Se viene visualizzato un errore di autenticazione, assicurarsi che le credenziali di Azure siano configurate (eseguire az login o configurare le credenziali tramite Azure Identity SDK). Se viene visualizzato un errore di autorizzazione, verificare di avere il ruolo Collaboratore nella sottoscrizione o nel gruppo di risorse.
Riferimenti: MLClient, DefaultAzureCredential
Creare l'hub Foundry e la connessione Microsoft Foundry
Usare gli esempi seguenti per creare un nuovo hub. Sostituire i valori stringa di esempio con i propri valori:
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}")
Questo codice crea un nuovo hub con il nome, la posizione e il nome visualizzato specificati. Azure effettua automaticamente il provisioning delle risorse Azure Storage e di Azure Key Vault associate.
Riferimenti: Hub, MLClient.workspaces.begin_create
Creare una connessione Foundry
Dopo aver creato una risorsa Foundry o Azure risorsa OpenAI nello stesso gruppo di risorse, è possibile connetterla all'hub. È anche possibile connettersi Azure AI Search da qualsiasi gruppo di risorse nella stessa sottoscrizione.
Includi il tuo hub nella tua
ml_clientconnessione.Immettere i dettagli della sottoscrizione. Per
<AML_WORKSPACE_NAME>, inserisci il nome dell'hub:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Ottenere un handle per l’hub:
# 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 )
Usare
ml_clientper creare la connessione agli strumenti Foundry. Gli endpoint sono disponibili in Azure portal in Gestione delle risorse > Chiavi ed endpoint. Per una risorsa di Fonderia, usare l'endpoint di Servizi di intelligenza artificiale. Per Azure AI Search, usare l'URL per l'endpoint.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}")Riferimenti:
AzureAIServicesConnection, MLClient.connections
Creare un hub con risorse di dipendenza esistenti
Per impostazione predefinita, un hub crea automaticamente le risorse Azure Storage e Azure Key Vault associate. Se si desidera riutilizzare le risorse di Azure Storage o di Azure Key Vault esistenti, è possibile specificarle durante la creazione dell'hub. Negli esempi seguenti, sostituite i valori dei segnaposto con i vostri propri ID delle risorse.
Suggerimento
È possibile recuperare l'ID risorsa dell'account di archiviazione e dell'insieme di credenziali dal portale di Azure passando alla pagina della panoramica della risorsa e selezionando Vista JSON. L’ID della risorsa si trova nel campo ID. È anche possibile usare il Azure CLI per recuperare l'ID risorsa. Ad esempio, usare az storage account show --name {my_storage_account_name} --query "id" e 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}")
Per trovare gli ID risorsa per le risorse esistenti, visitare la pagina Azure portal, passare alla pagina Panoramica e selezionare VisualizzazioneJSON. L'ID risorsa viene visualizzato nel campo ID . In alternativa, usare 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"
Riferimenti: Hub
Aggiornare Azure Application Insights e Azure Container Registry
Per usare ambienti personalizzati per Prompt Flow, è necessario configurare un Azure Container Registry per l'hub. Per usare Azure Application Insights per le distribuzioni di Prompt Flow, è necessario configurare una risorsa Azure Application Insights per l'hub. L'aggiornamento del Azure Container Registry collegato all'area di lavoro o delle risorse di Application Insights potrebbe interrompere la derivazione dei processi precedenti, gli endpoint di inferenza distribuiti o la possibilità di rieseguire i processi precedenti nell'area di lavoro. Dopo l'associazione a un hub Foundry, Azure Container Registry e le risorse di Application Insights non possono essere disassociate (impostate su null).
È possibile usare le opzioni Azure portal, Azure SDK/CLI o i modelli di infrastruttura come codice per aggiornare sia Azure Application Insights che Azure Container Registry per l'hub.
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}")
Questo script aggiorna un hub esistente con le risorse di Application Insights e Registro Container specificate. Il update_dependent_resources=True parametro conferma l'aggiornamento.
Riferimento: Hub, MLClient.workspaces.begin_update()