重要
この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
この記事では、Azure Machine Learning SDK と Azure CLI (機械学習拡張機能を使用) を使用して、次の Azure AI Foundry リソースを作成する方法について説明します。
- Azure AI Foundry ハブ
- Azure AI サービス接続
注
ハブは、 ハブ ベースのプロジェクトにのみ使用されます。 Foundry プロジェクトはハブを使用しません。 詳細については、「 プロジェクトの種類」を参照してください。
[前提条件]
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。 無料または有料バージョンの Azure AI Foundry を今すぐお試しください。
環境を設定する
次のタブを使用して、Python SDK と 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 のテナント ID を
DefaultAzureCredential
に追加します。 Azure portal で、[Microsoft Entra ID] の [外部 ID] からテナント ID を見つけます。DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
(省略可能) Azure Government - US または Azure China 21Vianet リージョン内で作業している場合は、認証するリージョンを指定します。
DefaultAzureCredential
を使用してそのリージョンを指定できます。 次の例では、Azure Government - US リージョンに対して認証を行います。from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
Azure AI Foundry ハブと AI サービス接続を作成する
次の例を使用して、新しいハブを作成します。 文字列値の例を独自の値に置き換えます。
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)
created_hub = ml_client.workspaces.begin_create(my_hub).result()
AI Foundry 接続を作成する
同じリソース グループに独自の AI 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
を使用して、AI サービスへの接続を作成します。 Azure portal の [リソース管理] > [キーとエンドポイント] でエンドポイントを見つけることができます。 AI Foundry リソースの場合は、 AI サービス エンドポイントを使用します。 Azure AI Search の場合は、エンドポイントの URL を使用します。from azure.ai.ml.entities import AzureAIServicesConnection # construct an AI Services connection my_connection_name = "myaiservivce" # any name you want aiservices_resource_name = <resource_name> # copy from Azure portal my_endpoint = "<endpoint>" # copy from Azure portal my_api_keys = None # leave blank for Authentication type = AAD 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)
既存の依存関係リソースを使用して Azure AI Foundry ハブを作成する
Azure Storage や Azure Key Vault などの既存のリソースを使用してハブを作成することもできます。 以下の例では、文字列値の例を実際の値に置き換えてください。
ヒント
Azure portal でリソースの概要に移動し、[JSON ビュー] を選択すると、ストレージ アカウントとキー コンテナーのリソース ID を取得できます。 リソース ID は、id フィールドにあります。 Azure CLI を使用してリソース ID を取得することもできます。 たとえば、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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myresourcegroupname/providers/Microsoft.Storage/storageAccounts/mystorageaccountname"
my_key_vault_id = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myresourcegroupname/providers/Microsoft.KeyVault/vaults/mykeyvaultname"
# construct a basic hub
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)
created_hub = ml_client.workspaces.begin_create(my_hub).result()