New to Claude Skills? Learn how to install them →

sickn33 on GitHub

Azure Machine Learning SDK

Free

Manage Azure ML resources efficiently with Python.

Get this skill

Free · Opens the source repo

What Azure Machine Learning SDK does

The Azure Machine Learning SDK v2 for Python provides a comprehensive client library designed to facilitate the management of Azure Machine Learning resources. This skill allows users to create and manage ML workspaces, jobs, models, datasets, compute resources, and pipelines directly from their Python code. It simplifies the interaction with Azure's powerful machine learning capabilities, enabling developers and data scientists to focus on building and deploying their models without getting bogged down in the intricacies of the Azure platform.

To get started, users can install the SDK using pip and set up the necessary environment variables for authentication. The SDK supports various operations such as creating and listing workspaces, registering data assets, and managing compute clusters. For example, users can create a new workspace with specific configurations or register datasets and models that can be reused across different projects. The SDK also allows for the creation of compute clusters tailored to the user's needs, which can be scaled based on workload requirements.

In addition to resource management, the SDK offers features for job execution and monitoring, including the ability to create command jobs and stream logs in real-time. Users can define complex workflows using pipelines, which can encapsulate multiple steps in the machine learning process. This modular approach promotes best practices such as versioning and resource tagging, ensuring that projects remain organized and efficient.

This skill is particularly beneficial for data scientists, machine learning engineers, and developers who are working within the Azure ecosystem and need a streamlined way to manage their machine learning workflows. By leveraging this SDK, users can enhance their productivity and maintain control over their machine learning projects from development to deployment.

When to use it

Use this skill when you need to manage Azure Machine Learning resources programmatically, especially for tasks related to model training and deployment.

When not to use it

Avoid using this skill if you're not working within the Azure ecosystem or if your machine learning tasks do not require Azure's capabilities.

What you can build with it

Creating a New Workspace

Easily create a new Azure ML workspace with specified configurations, enabling a dedicated environment for your machine learning experiments.

Registering Data Assets

Register datasets and folders to streamline data management and ensure they are easily accessible for model training.

Executing Machine Learning Jobs

Run command jobs to train models and monitor their performance in real-time, simplifying the workflow from development to deployment.

How to install Azure Machine Learning SDK

View source

1. Install with the skills CLI

npx skills add sickn33/agentic-awesome-skills/azure-ai-ml-py --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by sickn33

Azure Machine Learning SDK v2 for Python

Client library for managing Azure ML resources: workspaces, jobs, models, data, and compute.

Installation

pip install azure-ai-ml

Environment Variables

AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_RESOURCE_GROUP=<your-resource-group>
AZURE_ML_WORKSPACE_NAME=<your-workspace-name>

Authentication

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

ml_client = MLClient(
    credential=DefaultAzureCredential(),
    subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
    resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
    workspace_name=os.environ["AZURE_ML_WORKSPACE_NAME"]
)

From Config File

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# Uses config.json in current directory or parent
ml_client = MLClient.from_config(
    credential=DefaultAzureCredential()
)

Workspace Management

Create Workspace

from azure.ai.ml.entities import Workspace

ws = Workspace(
    name="my-workspace",
    location="eastus",
    display_name="My Workspace",
    description="ML workspace for experiments",
    tags={"purpose": "demo"}
)

ml_client.workspaces.begin_create(ws).result()

List Workspaces

for ws in ml_client.workspaces.list():
    print(f"{ws.name}: {ws.location}")

Data Assets

Register Data

from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes

# Register a file
my_data = Data(
    name="my-dataset",
    version="1",
    path="azureml://datastores/workspaceblobstore/paths/data/train.csv",
    type=AssetTypes.URI_FILE,
    description="Training data"
)

ml_client.data.create_or_update(my_data)

Register Folder

my_data = Data(
    name="my-folder-dataset",
    version="1",
    path="azureml://datastores/workspaceblobstore/paths/data/",
    type=AssetTypes.URI_FOLDER
)

ml_client.data.create_or_update(my_data)

Model Registry

Register Model

from azure.ai.ml.entities import Model
from azure.ai.ml.constants import AssetTypes

model = Model(
    name="my-model",
    version="1",
    path="./model/",
    type=AssetTypes.CUSTOM_MODEL,
    description="My trained model"
)

ml_client.models.create_or_update(model)

List Models

for model in ml_client.models.list(name="my-model"):
    print(f"{model.name} v{model.version}")

Compute

Create Compute Cluster

from azure.ai.ml.entities import AmlCompute

cluster = AmlCompute(
    name="cpu-cluster",
    type="amlcompute",
    size="Standard_DS3_v2",
    min_instances=0,
    max_instances=4,
    idle_time_before_scale_down=120
)

ml_client.compute.begin_create_or_update(cluster).result()

List Compute

for compute in ml_client.compute.list():
    print(f"{compute.name}: {compute.type}")

Jobs

Command Job

from azure.ai.ml import command, Input

job = command(
    code="./src",
    command="python train.py --data ${{inputs.data}} --lr ${{inputs.learning_rate}}",
    inputs={
        "data": Input(type="uri_folder", path="azureml:my-dataset:1"),
        "learning_rate": 0.01
    },
    environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest",
    compute="cpu-cluster",
    display_name="training-job"
)

returned_job = ml_client.jobs.create_or_update(job)
print(f"Job URL: {returned_job.studio_url}")

Monitor Job

ml_client.jobs.stream(returned_job.name)

Pipelines

from azure.ai.ml import dsl, Input, Output
from azure.ai.ml.entities import Pipeline

@dsl.pipeline(
    compute="cpu-cluster",
    description="Training pipeline"
)
def training_pipeline(data_input):
    prep_step = prep_component(data=data_input)
    train_step = train_component(
        data=prep_step.outputs.output_data,
        learning_rate=0.01
    )
    return {"model": train_step.outputs.model}

pipeline = training_pipeline(
    data_input=Input(type="uri_folder", path="azureml:my-dataset:1")
)

pipeline_job = ml_client.jobs.create_or_update(pipeline)

Environments

Create Custom Environment

from azure.ai.ml.entities import Environment

env = Environment(
    name="my-env",
    version="1",
    image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04",
    conda_file="./environment.yml"
)

ml_client.environments.create_or_update(env)

Datastores

List Datastores

for ds in ml_client.datastores.list():
    print(f"{ds.name}: {ds.type}")

Get Default Datastore

default_ds = ml_client.datastores.get_default()
print(f"Default: {default_ds.name}")

MLClient Operations

PropertyOperations
workspacescreate, get, list, delete
jobscreate_or_update, get, list, stream, cancel
modelscreate_or_update, get, list, archive
datacreate_or_update, get, list
computebegin_create_or_update, get, list, delete
environmentscreate_or_update, get, list
datastorescreate_or_update, get, list, get_default
componentscreate_or_update, get, list

Best Practices

  1. Use versioning for data, models, and environments
  2. Configure idle scale-down to reduce compute costs
  3. Use environments for reproducible training
  4. Stream job logs to monitor progress
  5. Register models after successful training jobs
  6. Use pipelines for multi-step workflows
  7. Tag resources for organization and cost tracking

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Frequently asked questions about Azure Machine Learning SDK

Similar skills