Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este documento refere-se ao portal Microsoft Foundry (clássico).
🔍 Consulte a documentação (nova) da Microsoft Foundry para saber mais sobre o novo portal.
Neste artigo, aprende como criar os seguintes recursos do Microsoft Foundry usando o Azure Machine Learning SDK e Azure CLI (com extensão de aprendizagem automática):
- Um centro de fundição
- Uma ligação à fundição
Observação
Um hub é usado apenas para um projeto baseado em hub. Um projeto Foundry não usa um hub. Para obter mais informações, consulte Tipos de projetos.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta gratuita do Azure, que inclui uma assinatura de avaliação gratuita.
- Funções RBAC: Deve ter a função de Contribuinte ou Proprietário na sua subscrição ou grupo de recursos Azure para criar um hub. Se estiver a criar uma ligação a recursos existentes, certifique-se de que tem também acesso de Contribuidor a esses recursos.
- Para Python SDK: Azure Machine Learning Python SDK (v2.0 ou posterior),Azure Identity Python SDK e Python 3.8 ou posterior.
- Para Azure CLI: Azure CLI e extensão Azure Machine Learning.
- Se estiver a ligar-se a recursos existentes: a conta Azure Storage ou o Azure Key Vault devem já existir na mesma subscrição (mesmo grupo de recursos, ou noutro grupo de recursos a que tenha acesso).
Configurar o ambiente
Use as guias a seguir para selecionar se você está usando o SDK do Python ou a CLI do Azure:
Instale pacotes. (Se estiver numa célula de um bloco de notas, use
%pip installem vez disso.)pip install azure-ai-ml pip install azure-identityForneça os detalhes da sua subscrição:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Obtenha um identificador para a assinatura. Todo o código Python neste artigo 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)(Opcional) Se tiveres várias contas, adiciona a ID do tenant da Microsoft Entra ID que desejas usar no
DefaultAzureCredential. Encontre sua ID de locatário no portal do Azure em Microsoft Entra ID, Identidades Externas.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Opcional) Se estiver a trabalhar nas regiões Azure Government - US ou Azure China 21Vianet , especifique a região na qual pretende autenticar. Você pode especificar a região com
DefaultAzureCredential. O exemplo a seguir autentica-se na região Azure Government nos EUA:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Verifique a ligação.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Se receber um erro de autenticação, certifique-se de que as suas credenciais Azure estão configuradas (execute az login ou configure as suas credenciais através do Azure Identity SDK). Se receber um erro de permissão, verifique se tem o papel de Contribuidor na subscrição ou grupo de recursos.
Referências: MLClient, DefaultAzureCredential
Criar o hub Foundry e a ligação Microsoft Foundry
Use os exemplos a seguir para criar um novo hub. Substitua valores de cadeia de caracteres de exemplo por seus próprios valores:
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}")
Este código cria um novo hub com o nome, localização e nome de exibição especificados. O Azure fornece automaticamente os recursos associados Azure Storage e Azure Key Vault.
Referências: Hub, MLClient.workspaces.begin_create
Criar uma ligação à Foundry
Depois de criares o teu próprio recurso Foundry ou Azure OpenAI no mesmo grupo de recursos, podes ligá-lo ao teu hub. Também pode ligar o Azure AI Search a partir de qualquer grupo de recursos na sua mesma subscrição.
Inclua o seu hub na sua
ml_clientligação:Insira os dados da sua subscrição. Para
<AML_WORKSPACE_NAME>, introduza o nome do seu hub:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Pegue um identificador para o 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 )
Use
ml_clientpara criar a ligação às suas ferramentas Foundry. Você pode encontrar pontos de extremidade no portal do Azure em >. Para um recurso do Foundry, utilize o endpoint dos Serviços de IA. Para Azure AI Search, use o URL do 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}")Referências:
AzureAIServicesConnection, MLClient.connections
Criar um hub com recursos de dependência existentes
Por defeito, um hub cria automaticamente os recursos associados Azure Storage e Azure Key Vault. Se quiseres reutilizar recursos existentes do Azure Storage ou Azure Key Vault, podes especificá-los durante a criação do hub. Nos exemplos seguintes, substitua os valores provisórios pelos seus próprios IDs de recursos:
Sugestão
Você pode recuperar a ID do recurso da conta de armazenamento e do cofre de chaves do portal do Azure acessando a visão geral do recurso e selecionando o modo JSON. O ID do recurso está localizado no campo id . Você também pode usar a CLI do Azure para recuperar a ID do recurso. Por exemplo, use 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}")
Para encontrar IDs de recursos existentes, visite o portal Azure, navegue até à página de Visão Geral do recurso e selecione visualização JSON. O ID do recurso aparece no campo id . Em alternativa, utilize a CLI do 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"
Referências: Hub
Atualizar o Azure Application Insights e o Azure Container Registry
Para usar ambientes personalizados para o Prompt Flow, precisa de configurar um Azure Container Registry para o seu hub. Para usar o Azure Application Insights para implementações de Prompt Flow, precisa de configurar um recurso Azure Application Insights para o seu hub. A atualização dos recursos do Registro de Contêiner do Azure ou do Application Insights anexados ao espaço de trabalho pode quebrar a linhagem de trabalhos anteriores, pontos de extremidade de inferência implantados ou sua capacidade de executar novamente trabalhos anteriores no espaço de trabalho. Após a associação com um hub Foundry, os recursos do Azure Container Registry e Application Insights não podem ser dissociados (definidos como null).
Você pode usar o portal do Azure, as opções do SDK do Azure/CLI ou os modelos de infraestrutura como código para atualizar o Azure Application Insights e o Registro de Contêiner do Azure para o 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}")
Este script atualiza um hub existente com os recursos especificados de Application Insights e Container Register. O update_dependent_resources=True parâmetro confirma a atualização.
Referência: Hub, MLClient.workspaces.begin_update()