Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se somente a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal do Foundry.
Saiba mais sobre o novo portal.
Nota
Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.
Neste artigo, você aprenderá a criar os seguintes recursos Microsoft Foundry usando o SDK Azure Machine Learning e CLI do Azure (com extensão de machine learning):
- Um hub do Foundry
- Uma conexão do Foundry
Nota
Um hub é usado apenas para um projeto baseado em hub. Um projeto do Foundry não usa um hub. Para obter mais informações, consulte Tipos de projetos.
Pré-requisitos
- Uma conta Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta de Azure free, que inclui uma assinatura de avaliação gratuita.
- funções RBAC: você deve ter a função Contributor ou Owner em sua assinatura Azure ou grupo de recursos para criar um hub. Se você estiver criando uma conexão com recursos existentes, verifique se você também tem acesso de Colaborador a esses recursos.
- For Python SDK: Azure Machine Learning Python SDK (v2.0 ou posterior), Azure Identity Python SDK e Python 3.8 ou posterior.
- For CLI do Azure: CLI do Azure e Azure Machine Learning extension.
- Se você estiver se conectando a recursos existentes: a conta de armazenamento do Azure ou o Azure Key Vault devem já existir na mesma assinatura do Azure (no mesmo grupo de recursos ou em outro grupo de recursos ao qual você tem acesso).
Configurar seu ambiente
Use as seguintes guias para selecionar se você está usando o SDK Python ou CLI do Azure:
- SDK Python
- CLI do Azure
Instalar pacotes. (Se estiver em uma célula de notebook, use
%pip installem vez disso.)pip install azure-ai-ml pip install azure-identityForneça os detalhes da sua assinatura:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Controle 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 você tiver várias contas, adicione o ID de locatário do Microsoft Entra ID que deseja usar no
DefaultAzureCredential. Localize sua ID de locatário no portal Azure em Microsoft Entra ID, Identidades Externas.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Opcional) Se você estiver trabalhando nas regiões Azure Governamental - US ou Azure China 21Vianet, especifique a região na qual você deseja autenticar. Você pode especificar a região com
DefaultAzureCredential. O exemplo a seguir autentica-se na região Azure Governamental - EUA:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Verifique a conexão.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Se você receber um erro de autenticação, verifique se suas credenciais de Azure estão configuradas (execute az login ou configure suas credenciais por meio do SDK de Identidade do Azure). Se você receber um erro de permissão, verifique se você tem a função Colaborador na assinatura ou no grupo de recursos.
Referências: MLClient, DefaultAzureCredential
Criar o Hub Foundry e a conexã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:
- SDK Python
- CLI do Azure
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}")
Esse código cria um novo hub com o nome, o local e o nome de exibição especificados. Azure provisiona automaticamente recursos Armazenamento do Azure e Azure Key Vault associados.
Referências: Hub, MLClient.workspaces.begin_create
Criar uma conexão do Foundry
Depois de criar seu próprio recurso Foundry ou Azure recurso OpenAI no mesmo grupo de recursos, você pode conectá-lo ao seu hub. Você também pode conectar a Pesquisa de IA do Azure de qualquer grupo de recursos em sua mesma assinatura.
- SDK Python
- CLI do Azure
Inclua seu hub em sua
ml_clientconexão:Insira os detalhes da assinatura. Para
<AML_WORKSPACE_NAME>, insira o nome do hub:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Obtenha 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 conexão com suas Foundry Tools. Você pode encontrar pontos de extremidade no portal Azure em Gerenciamento de Recursos > Chaves e pontos de extremidade. Para um recurso da Fábrica, use o ponto de extremidade Serviços de IA. Na Pesquisa de IA do Azure, use a URL do ponto de extremidade específico.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 padrão, um hub cria automaticamente recursos Armazenamento do Azure e Azure Key Vault associados. Se você quiser reutilizar recursos de Armazenamento do Azure ou Azure Key Vault existentes, poderá especificá-los durante a criação do hub. Nos exemplos a seguir, substitua os valores de espaço reservado pelos seus próprios IDs de recursos:
Dica
Você pode recuperar a ID do recurso da conta de armazenamento e do cofre de chaves no portal Azure, acessando a visão geral do recurso e selecionando exibição JSON. A ID do recurso está localizada no campo ID . Você também pode usar o 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".
- SDK Python
- CLI do Azure
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 para recursos existentes, visite o portal Azure, navegue até a página Overview do recurso e selecione exibiçãoJSON. A ID do recurso é exibida no campo ID . Como alternativa, use 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 Aplicativo Azure Insights e Registro de Contêiner do Azure
Para usar ambientes personalizados para Prompt Flow, você precisa configurar um Registro de Contêiner do Azure para seu hub. Para usar o Aplicativo Azure Insights para implantações do Prompt Flow, você precisa configurar um recurso do Aplicativo Azure Insights para seu hub. A atualização dos recursos do Registro de Contêineres do Azure ou do Application Insights conectados ao workspace pode interromper a linhagem de trabalhos anteriores, os pontos de extremidade de inferência implantados ou sua capacidade de executar novamente trabalhos anteriores no workspace. Após a associação com um hub do Foundry, os recursos do Registro de Contêiner do Azure e do Application Insights não podem ser desassociados (definido como nulo).
Você pode usar o portal Azure, as opções de SDK do Azure/CLI ou os modelos de infraestrutura como código para atualizar Aplicativo Azure Insights e Registro de Contêiner do Azure para o hub.
- SDK Python
- CLI do Azure
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}")
Esse script atualiza um hub existente com os recursos especificados do Application Insights e do Registro de Contêiner. O update_dependent_resources=True parâmetro confirma a atualização.
Referência: Hub, MLClient.workspaces.begin_update()