Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Este documento hace referencia al portal de Microsoft Foundry (clásico).
🔍 Consulte la documentación de Microsoft Foundry (nuevo) para obtener información sobre el nuevo portal.
En este artículo, aprenderá a crear los siguientes recursos de Microsoft Foundry mediante el SDK de Azure Machine Learning y la CLI de Azure (con la extensión de aprendizaje automático):
- Un centro de fabricación
- Una conexión de fundición
Nota:
Se utiliza un concentrador únicamente para un proyecto basado en concentrador. Un proyecto de Foundry no utiliza un centro o infraestructura de control. Para más información, vea Tipos de proyectos.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Si no tiene una, cree una cuenta gratuita de Azure, que incluye una suscripción de evaluación gratuita.
- Roles RBAC: debe tener el rol Colaborador o Propietario en la suscripción de Azure o en el grupo de recursos para crear un centro. Si va a crear una conexión a los recursos existentes, asegúrese de que también tiene acceso de colaborador a esos recursos.
- Para el SDK de Python: SDK de Python de Azure Machine Learning (v2.0 o posterior),el SDK de Python de identidad de Azure y Python 3.8 o posterior.
- Para la CLI de Azure: cli de Azure y extensión de Azure Machine Learning.
- Si se conecta a recursos existentes: la cuenta de Azure Storage o Azure Key Vault ya debe existir en la misma suscripción (el mismo grupo de recursos o en otro grupo de recursos al que tiene acceso).
Configuración del entorno
Use las pestañas siguientes para seleccionar si usa el SDK de Python o la CLI de Azure:
Instalar paquetes. (Si está en una celda del cuaderno, use
%pip installen su lugar).pip install azure-ai-ml pip install azure-identityProporcione los detalles de la suscripción:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Obtenga un identificador para la suscripción. Todo el código de Python de este artículo 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) Si tiene varias cuentas, añada el ID de inquilino de Microsoft Entra ID que desea usar en
DefaultAzureCredential. Busque el id. de inquilino en Azure Portal en Microsoft Entra ID, Identidades externas.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Opcional) Si va a trabajar en las regiones de Azure Government: Estados Unidos o Azure China 21Vianet, especifique la región en la que se quiere autenticar. Puede especificar la región con
DefaultAzureCredential. En el ejemplo siguiente se realiza la autenticación en la región Azure Government - EE. UU.:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Compruebe la conexión.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Si recibe un error de autenticación, asegúrese de que las credenciales de Azure están configuradas (ejecute az login o configure las credenciales a través del SDK de identidad de Azure). Si recibe un error de permiso, compruebe que tiene el rol Colaborador en la suscripción o el grupo de recursos.
Referencias: MLClient, DefaultAzureCredential
Creación de la conexión de Foundry Hub y Microsoft Foundry
Use los ejemplos siguientes para crear un centro. Reemplace los valores de cadena de ejemplo por valores propios:
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 crea un nuevo centro con el nombre especificado, la ubicación y el nombre de visualización. Azure aprovisiona automáticamente los recursos asociados de Azure Storage y Azure Key Vault.
Referencias: Hub, MLClient.workspaces.begin_create
Creación de una conexión de Foundry
Después de crear su propio recurso Foundry o recurso de Azure OpenAI en el mismo grupo de recursos, puede conectarlo a su centro. También puede conectar Azure AI Search desde cualquier grupo de recursos de la misma suscripción.
Incluya su hub en su
ml_clientconexión:Escriba los detalles de la suscripción. En
<AML_WORKSPACE_NAME>, introduzca el nombre de su hub:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Obtenga un manipulador para el centro:
# 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 crear la conexión a las herramientas de Foundry. Puede encontrar puntos de conexión en Azure Portal en Administración de recursos > Claves y puntos de conexión. Para un recurso Foundry, use el punto de conexión de AI Services. Para Azure AI Search, use la dirección URL del punto de conexión.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}")Referencias:
AzureAIServicesConnection, MLClient.connections
Crear un centro de control con recursos de dependencia existentes
De forma predeterminada, un centro crea automáticamente recursos asociados de Azure Storage y Azure Key Vault. Si desea reutilizar los recursos existentes de Azure Storage o Azure Key Vault, puede especificarlos durante la creación del centro. En los ejemplos siguientes, reemplace los valores de marcador de posición por sus propios identificadores de recursos:
Sugerencia
Puede recuperar el identificador de recurso de la cuenta de almacenamiento y el almacén de claves desde Azure Portal; para ello, vaya a la información general del recurso y seleccione vista JSON. El identificador de recurso se encuentra en el campo id. También puede usar la CLI de Azure para recuperar el identificador de recurso. Por ejemplo, use az storage account show --name {my_storage_account_name} --query "id" y 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 buscar identificadores de recursos para los recursos existentes, visite Azure Portal, vaya a la página Información general del recurso y seleccione vista JSON. El identificador de recurso aparece en el campo id . Como alternativa, use la CLI de 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"
Referencias: Hub
Actualización de Azure Application Insights y Azure Container Registry
Para usar entornos personalizados para Prompt Flow, debe configurar una instancia de Azure Container Registry para el centro. Para usar Azure Application Insights para las implementaciones de Prompt Flow, debe configurar un recurso de Azure Application Insights para el centro. Al actualizar los recursos de Azure Container Registry o Application Insights asociados al área de trabajo, se puede interrumpir el linaje de los trabajos anteriores, los puntos de conexión de inferencia implementados o la capacidad de volver a ejecutar trabajos anteriores en esta área de trabajo. Después de asociarse con un centro de Foundry, los recursos de Azure Container Registry y Application Insights no se pueden desasociar (no se pueden establecer a nulo).
Puede usar Azure Portal, las opciones del SDK o la CLI de Azure, o las plantillas de infraestructura como código para actualizar Azure Application Insights y Azure Container Registry para el centro.
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 actualiza un centro existente con los recursos de Application Insights y Container Registry especificados. El update_dependent_resources=True parámetro confirma la actualización.
Referencia: Hub, MLClient.workspaces.begin_update()