Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).
🔍 Zapoznaj się z dokumentacją rozwiązania Microsoft Foundry (nową), aby dowiedzieć się więcej o nowym portalu.
Z tego artykułu dowiesz się, jak utworzyć następujące zasoby rozwiązania Microsoft Foundry przy użyciu zestawu AZURE Machine Learning SDK i interfejsu wiersza polecenia platformy Azure (z rozszerzeniem uczenia maszynowego):
- Centrum odlewnicze
- Połączenie z usługą Foundry
Uwaga / Notatka
Hub jest używany tylko dla projektu hubowego. Projekt Foundry nie używa koncentratora. Aby uzyskać więcej informacji, zobacz Typy projektów.
Wymagania wstępne
- Konto Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure, które obejmuje subskrypcję bezpłatnej wersji próbnej.
- Role RBAC: aby utworzyć centrum, musisz mieć rolę Współautor lub Właściciel w subskrypcji platformy Azure lub grupie zasobów. Jeśli tworzysz połączenie z istniejącymi zasobami, upewnij się, że masz również dostęp współautora do tych zasobów.
- SDK dla języka Python:Azure Machine Learning SDK dla języka Python (wersja 2.0 lub nowsza), Azure Identity SDK dla języka Python oraz język Python w wersji 3.8 lub nowszej.
- W przypadku interfejsu wiersza polecenia platformy Azure: interfejs wiersza polecenia platformy Azure i rozszerzenie usługi Azure Machine Learning.
- W przypadku nawiązywania połączenia z istniejącymi zasobami: konto usługi Azure Storage lub usługa Azure Key Vault muszą już istnieć w tej samej subskrypcji (tej samej grupie zasobów lub w innej grupie zasobów, do której masz dostęp).
Konfigurowanie środowiska
Użyj następujących kart, aby wybrać, czy używasz zestawu SDK języka Python, czy interfejsu wiersza polecenia platformy Azure:
Instalowanie pakietów. (Jeśli w komórce notesu, użyj
%pip installzamiast tego).pip install azure-ai-ml pip install azure-identityPodaj szczegóły subskrypcji:
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"Uzyskaj dostęp do subskrypcji. Cały kod języka Python w tym artykule używa elementu
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)(Opcjonalnie) Jeśli masz wiele kont, dodaj Microsoft Entra ID dzierżawy, którego chcesz użyć, do
DefaultAzureCredential. Znajdź swój identyfikator dzierżawcy w portalu Azure w obszarze Microsoft Entra ID, External Identities.DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")(Opcjonalnie) Jeśli pracujesz w Azure Government - USA lub Azure China 21Vianet, określ region, w którym chcesz się uwierzytelnić. Możesz określić region za pomocą polecenia
DefaultAzureCredential. Poniższy przykład uwierzytelnia się w regionie Azure Government — USA:from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)Zweryfikuj połączenie.
for hub in ml_client.workspaces.list(): print(f" - {hub.name}")
Jeśli wystąpi błąd uwierzytelniania, upewnij się, że poświadczenia platformy Azure są skonfigurowane (uruchom az login lub skonfiguruj poświadczenia za pomocą zestawu Azure Identity SDK). Jeśli wystąpi błąd uprawnień, sprawdź, czy masz rolę Współautor w subskrypcji lub grupie zasobów.
Odwołania: MLClient, DefaultAzureCredential
Tworzenie węzła Foundry i połączenia z Microsoft Foundry
Skorzystaj z poniższych przykładów, aby utworzyć nowe centrum. Zastąp przykładowe wartości ciągu własnymi wartościami:
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}")
Ten kod tworzy nowe centrum o określonej nazwie, lokalizacji i nazwie wyświetlanej. Platforma Azure automatycznie udostępnia skojarzone zasoby usługi Azure Storage i Azure Key Vault.
Odwołania: Hub, MLClient.workspaces.begin_create
Tworzenie połączenia z usługą Foundry
Po utworzeniu własnego zasobu Foundry lub zasobu usługi Azure OpenAI w tej samej grupie zasobów możesz połączyć go z centrum. Możesz również połączyć usługę Azure AI Search z dowolnej grupy zasobów w tej samej subskrypcji.
Dołącz swoje centrum do
ml_clientpołączenia:Wprowadź szczegóły subskrypcji. W polu
<AML_WORKSPACE_NAME>wprowadź nazwę centrum:# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"Pobierz dojście do centrum:
# 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 )
Użyj
ml_clientpolecenia , aby utworzyć połączenie z narzędziami Foundry. Punkty końcowe można znaleźć w witrynie Azure Portal w obszarze Klucze zarządzania > zasobami i punkty końcowe. W przypadku zasobu Foundry użyj punktu końcowego AI Services. W przypadku usługi Azure AI Search użyj adresu URL punktu końcowego.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}")Odwołania:
AzureAIServicesConnection, MLClient.connections
Tworzenie centrum z istniejącymi zasobami zależności
Domyślnie centrum automatycznie tworzy skojarzone zasoby usługi Azure Storage i Azure Key Vault. Jeśli chcesz ponownie użyć istniejących zasobów usługi Azure Storage lub usługi Azure Key Vault, możesz je określić podczas tworzenia centrum. W poniższych przykładach zastąp wartości symboli zastępczych własnymi identyfikatorami zasobów:
Wskazówka
Identyfikator zasobu konta magazynu i magazynu kluczy można pobrać z witryny Azure Portal, przechodząc do przeglądu zasobu i wybierając widok JSON. Identyfikator zasobu znajduje się w polu id . Możesz również użyć interfejsu wiersza polecenia platformy Azure, aby pobrać identyfikator zasobu. Na przykład użyj az storage account show --name {my_storage_account_name} --query "id" i 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}")
Aby znaleźć identyfikatory zasobów dla istniejących zasobów, odwiedź witrynę Azure Portal, przejdź do strony Przegląd zasobu i wybierz widok JSON. Identyfikator zasobu zostanie wyświetlony w polu id . Alternatywnie możesz użyć interfejsu wiersza polecenia platformy 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"
Odwołania: Hub
Aktualizuj aplikację Azure Application Insights oraz Azure Container Registry
Aby użyć środowisk niestandardowych dla usługi Prompt Flow, należy skonfigurować usługę Azure Container Registry dla centrum. Aby użyć usługi Azure Application Insights na potrzeby wdrożeń usługi Prompt Flow, należy skonfigurować zasób usługi Azure Application Insights dla centrum. Aktualizowanie zasobów usługi Azure Container Registry lub Application Insights dołączonych do obszaru roboczego może spowodować przerwanie pochodzenia poprzednich zadań, wdrożonych punktów końcowych wnioskowania lub możliwość ponownego uruchamiania wcześniejszych zadań w obszarze roboczym. Po skojarzeniu z centrum Foundry nie można rozłączyć zasobów usługi Azure Container Registry i Application Insights ani ustawić ich na null.
Możesz użyć witryny Azure Portal, opcji zestawu Azure SDK/interfejsu wiersza polecenia lub szablonów infrastruktury jako kodu, aby zaktualizować zarówno aplikacja systemu Azure Insights, jak i Azure Container Registry dla centrum.
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}")
Ten skrypt aktualizuje istniejące centrum przy użyciu określonych zasobów usługi Application Insights i usługi Container Registry. Parametr update_dependent_resources=True potwierdza aktualizację.
Dokumentacja: Hub, MLClient.workspaces.begin_update()