Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Замечание
Некоторые ссылки в этой статье могут открывать содержимое в новой документации Microsoft Foundry, а не в классической версии Foundry, которую вы просматриваете сейчас.
В этой статье вы узнаете, как создать следующие ресурсы Microsoft Foundry с помощью пакета SDK Azure Machine Learning и Azure CLI (с расширением machine learning):
- Центр литейки
- Подключение к системе Foundry
Замечание
Концентратор используется только для проекта на основе концентратора. Foundry project не использует хаб. Дополнительные сведения см. в разделе "Типы проектов".
Предпосылки
- Учетная запись Azure с активной подпиской. Если у вас нет, создайте учетную запись free Azure, которая включает бесплатную пробную подписку.
- роли RBAC: необходимо иметь роль Contributor или Owner в подписке или группе ресурсов Azure для создания концентратора. Если вы создаете соединение с существующими ресурсами, убедитесь, что у вас есть доступ Contributor к этим ресурсам.
- For Python SDK: Azure Machine Learning Python SDK (версии 2.0 или более поздней), Azure Identity Python SDK и Python 3.8 или новее.
- For Azure CLI: Azure CLI и расширение Azure Machine Learning.
- При подключении к существующим ресурсам: учетная запись Azure Storage или Azure Key Vault должна уже существовать в той же подписке (той же группе ресурсов или в другой группе ресурсов, к которой у вас есть доступ).
Настройка среды
Используйте следующие вкладки, чтобы выбрать, используете ли вы пакет SDK для Python или Azure CLI:
Установка пакетов. (Если в ячейке записной книжки, используйте
%pip installвместо этого.)pip install azure-ai-ml pip install azure-identityУкажите сведения о подписке:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Получите идентификатор подписки. Весь код Python в этой статье использует
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)(Необязательно) Если у вас несколько учетных записей, добавьте идентификатор клиента Microsoft Entra ID, который вы хотите использовать в
DefaultAzureCredential. Найдите идентификатор клиента из Azure portal в разделе Microsoft Entra ID, внешние удостоверения.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Необязательно) Если вы работаете в Azure Government - US или Azure China 21Vianet, укажите регион, в который требуется пройти проверку подлинности. Можно указать регион с помощью
DefaultAzureCredential. В следующем примере выполняется проверка подлинности в облачном регионе Azure Government для США.from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Проверьте подключение.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Если вы получили ошибку проверки подлинности, убедитесь, что учетные данные Azure настроены (выполните az login или настройте учетные данные с помощью пакета SDK для удостоверений Azure). Если вы получили ошибку разрешения, убедитесь в наличии у вас роли 'Участник' в подписке или группе ресурсов.
Ссылки: MLClient, DefaultAzureCredential
Создание концентратора Foundry и подключения Microsoft Foundry
Используйте следующие примеры для создания нового концентратора. Замените примеры строковых значений собственными значениями:
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}")
Этот код создает новый концентратор с указанным именем, расположением и отображаемым именем. Azure автоматически подготавливает ресурсы, связанные с Azure Storage и Azure Key Vault.
Создание подключения Foundry
После создания собственного ресурса Foundry или ресурса Azure OpenAI в той же группе ресурсов, вы можете подключить его к вашему хабу. Вы также можете подключить Azure AI Search из любой группы ресурсов в одной подписке.
Включите ваш концентратор в подключение
ml_client.Введите сведения о подписке. Введите
<AML_WORKSPACE_NAME>имя концентратора:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Получите дескриптор к концентратору:
# 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 )
Используйте
ml_clientдля подключения к инструментам Foundry. Конечные точки можно найти в Azure portal в разделе Управление ресурсами> Ключи и конечные точки. Для ресурса Foundry используйте endpoint ИИ-сервисов. Для Azure AI Search используйте URL-адрес конечной точки.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}")
Создание узла с существующими зависимыми ресурсами
По умолчанию концентратор автоматически создает связанные Azure Storage и Azure Key Vault ресурсы. Если вы хотите повторно использовать существующие Azure Storage или Azure Key Vault ресурсы, их можно указать во время создания концентратора. В следующих примерах замените значения заполнителей собственными идентификаторами ресурсов:
Подсказка
Вы можете получить идентификатор ресурса учетной записи хранения и ключевого хранилища в Azure портале, перейдя на вкладку Обзор ресурса и выбрав представление JSON. Идентификатор ресурса находится в поле id. Вы также можете использовать Azure CLI для получения идентификатора ресурса. Например, используйте az storage account show --name {my_storage_account_name} --query "id" и 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}")
Чтобы найти идентификаторы ресурсов для существующих ресурсов, перейдите на страницу Azure portal, перейдите на страницу Overview и выберите представление JSON. Идентификатор ресурса отображается в поле id. Кроме того, используйте Azure CLI:
# 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"
Ссылки: Hub
Обновление Azure Application Insights и Azure Container Registry
Чтобы использовать пользовательские среды для Prompt Flow, необходимо настроить Azure Container Registry для вашего центра. Чтобы использовать Azure Application Insights для развертываний Prompt Flow, необходимо настроить ресурс Azure Application Insights для узла. Обновление подключенных к рабочей области ресурсов Azure Container Registry или Application Insights может привести к нарушению целостности данных предыдущих заданий, развернутых конечных точек построения выводов или возможности повторного выполнения предыдущих заданий в рабочей области. После сопоставления с центром Foundry ресурсы Azure Container Registry и Application Insights не могут быть отсоединены (задано значение NULL).
Вы можете использовать портал Azure, параметры Azure SDK/CLI или шаблоны инфраструктуры как код, чтобы обновить и Azure Application Insights, и Azure Container Registry для узла.
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}")
Этот скрипт обновляет существующий концентратор с указанными ресурсами Application Insights и реестра контейнеров. Параметр update_dependent_resources=True подтверждает обновление.
Справочник: Hub, MLClient.workspaces.begin_update()