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.
Observação
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 de fábrica
Observação
Um hub é usado apenas para um projeto baseado em hub. Um Foundry project não usa um hub. Para obter mais informações, confira 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ê tem acesso de Contribuidor para esses recursos também.
- 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 estiver se conectando a recursos existentes: a conta do Armazenamento do Azure ou o Azure Key Vault já devem existir na mesma assinatura (mesmo grupo de recursos, ou em outro grupo de recursos ao qual você tem acesso).
Configure 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 do 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 com a Microsoft Foundry
Use os exemplos a seguir para criar um novo hub. Substitua os 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 Pesquisa de IA do Azure a partir de qualquer grupo de recursos na 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 estabelecer a conexão com suas Ferramentas Foundry. 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 do 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 no Prompt Flow, é necessário configurar um Registro de Contêiner do Azure para seu hub. Para usar o Aplicativo Azure Insights para implantações de 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()