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.
Solo se aplica a:Portal de Foundry (clásico). Este artículo no está disponible para el nuevo portal de Foundry.
Obtenga más información sobre el nuevo portal.
Nota:
Los vínculos de este artículo pueden abrir contenido en la nueva documentación de Microsoft Foundry en lugar de la documentación de Foundry (clásico) que está viendo ahora.
En este artículo, aprenderá a crear los siguientes recursos Microsoft Foundry mediante el SDK de Azure Machine Learning y CLI de Azure (con la extensión de aprendizaje automático):
- Un centro de fabricación
- Una conexión de fundición
Nota:
Un centro solo se usa para un proyecto basado en centro. Un Foundry project no utiliza un hub. 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 de free Azure, que incluye una suscripción de evaluación gratuita.
- Roles de RBAC: debe tener el rol de Contributor o el de Owner en la suscripción o grupo de recursos de Azure para crear un hub. Si va a crear una conexión a los recursos existentes, compruebe que también tiene acceso de Colaborador a esos recursos.
- For Python SDK: Azure Machine Learning Python SDK (v2.0 o posterior), Azure Identity Python SDK y Python 3.8 o posterior.
- For CLI de Azure: CLI de Azure y Azure Machine Learning Extensión.
- Si se conecta a los recursos existentes: la cuenta de Azure Storage o el Azure Key Vault ya deben existir en la misma suscripción (el mismo grupo de recursos o en el 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 CLI de Azure:
- SDK de Python
- 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, agregue el identificador de inquilino del Microsoft Entra ID que desea usar en el
DefaultAzureCredential. Busque el identificador de inquilino en el portal de Azure en Microsoft Entra ID, External Identities.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Opcional) Si está trabajando en las regiones Azure Government - US o Azure China 21Vianet, especifique la región en la que desea autenticarse. 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 mediante el 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
Cree el hub de Foundry y la conexión de Microsoft Foundry
Use los ejemplos siguientes para crear un centro. Reemplace los valores de cadena de ejemplo por valores propios:
- SDK de Python
- CLI de 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}")
Este código crea un nuevo centro con el nombre especificado, la ubicación y el nombre de visualización. Azure aprovisiona automáticamente recursos de Azure Storage y Azure Key Vault asociados.
Referencias: Hub, MLClient.workspaces.begin_create
Creación de una conexión de Foundry
Después de crear su propio recurso Foundry o recurso Azure OpenAI en el mismo grupo de recursos, puede conectarlo al hub. También puede conectar Búsqueda de Azure AI desde cualquier grupo de recursos de la misma suscripción.
- SDK de Python
- CLI de Azure
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 Resource management > Keys and endpoints. Para un recurso Foundry, use el punto de conexión de AI Services. Para Búsqueda de Azure AI, 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 de Azure Storage y Azure Key Vault asociados. Si desea reutilizar los recursos existentes 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
Para recuperar el identificador de recurso de la cuenta de almacenamiento y el almacén de claves desde el portal de Azure, 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 el 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".
- SDK de Python
- CLI de 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 buscar identificadores de recursos para los recursos existentes, visite el portal de Azure, vaya a la página de Overview del recurso y seleccione la vista JSON. El identificador de recurso aparece en el campo id . Como alternativa, use 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 Aplicación de Azure Insights y Azure Container Registry
Para usar entornos personalizados para Prompt Flow, debe configurar un Azure Container Registry para el centro. Para usar Aplicación de Azure Insights para las implementaciones de Prompt Flow, debe configurar un recurso de Aplicación de Azure 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 hub de Foundry, los recursos de Azure Container Registry y Application Insights no pueden desasociarse (ponerse a nulo).
Puede usar el portal de Azure, las opciones de SDK de Azure o la CLI, o las plantillas de infraestructura como código para actualizar Aplicación de Azure Insights y Azure Container Registry para el centro.
- SDK de Python
- CLI de 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}")
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()