Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Model Registry

Prev Next

Available in VPC

This guide introduces the Model Registry interface. In Model Registry, you can view metadata for both intermediate models generated during training and final models.

Note

You can also access Model Registry features through the ML expert Platform CLI and SDK.

Model Registry

The Model Registry interface includes the following:

mlxp_console_modelregistry01_ko

Component Description
① Menu name Current menu name.
② Basic features Create and delete model metadata.
③ Model list View the list of saved models and their information.

View Model Registry list

The list of your models includes the following information:

  • Name: Volume name set at creation.
  • Tags: Tags used for managing model versions.
  • Created At: Initial creation date and time.

Create a model

To create new model metadata:

  1. Click [Create].
  2. In the model metadata creation interface, enter a model name.
    • Enter 3-64 characters using lowercase letters (a-z), numbers (0-9), and hyphens (-).
    • It must start with an English letter and end with an English letter or a number.
    • Duplicate names are not allowed.
  3. Enter a summary.
    • Enter up to 100 characters using letters (a-z, A-Z), numbers (0-9), and hyphens (-).
  4. Enter a description.
  5. Enter tag information.
    • Up to 10 tags are allowed.
  6. Enter label information.
    • Up to 100 labels are allowed.
  7. Click [Create].

Delete a model

To delete model meta data:

  1. Select the model to delete, then click [Delete].
  2. When the Delete Model popup appears, enter the name of the model to delete, then click [Delete].
  3. Confirm that the selected model has been removed from the model list.

View model details

You can view details for the selected model. The information is organized into tabs.

Description

The selected model includes the following information:

  • Tags: Tags used for managing model versions.
  • Labels: Model labels in a key:value format.
  • Description: Description entered when creating model metadata.

Versions and Files

You can view metadata for the selected model.

  • Version: Model version.
  • Size: Model size.
  • Download: Number of model downloads.
  • Tags/Lables: Tags and labels assigned to the model.
  • Updated at: Date when the model was last modified.

Settings

You can edit the description for the selected model.

  • Tags: Tags used for managing model versions.
  • Labels: Model labels in a key:value format.
  • Description: Description entered when creating model metadata.

Use Model Registry CLI

Model Registry CLI provides tools for managing models from the command line.

Install the CLI

You can install the CLI by running the following command:

pip install "ncloud-mlx[model-registry]" # double quotes are required

CLI settings

An API key is required to use the CLI. For information on how to create an API key, see Dashboard.

Method 1: Set environment variables

You can set environment variables as follows:

export MLX_ENDPOINT_URL="https://your-mlx-endpoint"
export MLX_APIKEY="your-api-key" 
export MLX_PROJECT="your-project-name"

Method 2: Use mlx configure (recommended)

Run the following command and enter the settings:

$ mlx configure
Endpoint: https://... # mlx endpoint to use Example: https://clustername.mlxp.ncloud.com
Workspace name: xxxx # Workspace to use
Project name: xxxx # Project to use
API Key: xxxx # API key issued

Basic CLI usage

Create a model

mlx model-registry create model {model_name}

Create a version

mlx model-registry create version {model_name} {version}

Upload a model

mlx model-registry upload {model_name} {version} ./local_path

Download a model

mlx model-registry download {model_name} {version} ./output_path

Other commands

# View model information
mlx model-registry get {model_name}

# View version information
mlx model-registry get {model_name} {version}

# Update a model
mlx model-registry update model {model_name}

# Update a version
mlx model-registry update version {model_name} {version}

# Delete a model
mlx model-registry delete {model_name}

# Delete a file
mlx model-registry delete {model_name} {version} {file_path}

# Help
mlx model-registry --help
Note

Use the --help option to view complete options and usage for each command.
Example: mlx model-registry upload --help, mlx model-registry download --help

Use Model Registry SDK

Model Registry SDK provides a Python-based SDK.
To upload and download model parameters using the SDK:

Install the SDK

You can install the SDK by running the following command:

# This is part of the same package as the CLI and can be used after CLI installation.
pip install "ncloud-mlx[model-registry]" # double quotes are required

Prerequisites

To use the SDK, create an API Key.

Method 1: Enter manually

Use the generated API Key by entering it manually as follows:

import os
from mlx.sdk.model_registry import ModelRegistryAPI

mlxp_endpoint = "{ Model Registry URL }"
mlxp_apikey = "{ API Key }"
mlxp_project = "{ Project name }"

client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)

Method 2: Set environment variables

You can set environment variables as follows:

export MLX_ENDPOINT_URL="https://your-mlx-endpoint"
export MLX_APIKEY="your-api-key" 
export MLX_PROJECT="your-project-name"

After setting the environment variables, you can use them in the SDK as follows:

from mlx.sdk.model_registry import ModelRegistryAPI
import os

mlxp_endpoint = os.getenv("MLX_ENDPOINT_URL")
mlxp_apikey = os.getenv("MLX_APIKEY")
mlxp_project = os.getenv("MLX_PROJECT")

client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)

Method 3: Use mlx configure (recommended)

Run the following command and enter the settings:

$ mlx configure
Endpoint: https://... # mlx endpoint to use Example: https://clustername.mlxp.ncloud.com
Workspace name: xxxx # Workspace to use
Project name: xxxx # Project to use
API Key: xxxx # API key issued

After completing the configuration, you can use the settings in the SDK as follows:

from mlx.sdk.core import config
from mlx.sdk.model_registry import ModelRegistryAPI

# Automatically load settings from the config file
# If environment variables are set, they automatically override the values in the config file.
mlxp_endpoint = config.ConfigFile().endpoint_url
mlxp_apikey = config.ConfigFile().apikey
mlxp_project = config.ConfigFile().project

client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)

Create a model registry

To upload or download model parameters using the SDK, you must create a model registry in advance.

Create a model

To create a model using the SDK:

from mlx.sdk.model_registry import ModelRegistryAPI
from mlx.api.model_registry import ModelRequest

# Initialize the client using one of the methods configured earlier
client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)

# Create a model request
model_request = ModelRequest(name="my_model")
model = client.model_api.create(mlxp_project, model_request)
print(f"Model created: {model.name}")

Create a model version

To add a version to the model you’ve created:

from mlx.api.model_registry import VersionRequest

# Create a version request
version_request = VersionRequest(version="v1.0")
version = client.model_version_api.create(mlxp_project, "my_model", version_request)
print(f"Model version created: {version_request.version}")

Upload model parameters

To upload model parameters:

# Define callbacks to monitor the progress and completion of model parameter uploads
def progress_callback(progress_size: int, total_size: int):
    print(f"Upload progress: {progress_size}/{total_size} bytes")

def completion_callback(file_path: str, size: int):
    print(f"Upload complete: {file_path} ({size} bytes)")

# Upload files
client.file_api.upload_sync(
    project_name=mlxp_project,
    model_name="my_model",
    version_name="v1.0", 
    local_path="/path/to/local/files",
    remote_path="/",
    # Optional parameters:
    excludes=[], # List of files to exclude
    overwrite=True, # Whether to overwrite existing files
    parallel=1, # Number of parallel workers
    progress_callback_func=progress_callback,
    file_complete_callback_func=completion_callback,
)

Download model parameters

To download model parameters:

# Define callbacks to monitor the progress and completion of model parameter downloads
def progress_callback(progress_size: int, total_size: int):
    print(f"Download progress: {progress_size}/{total_size} bytes")

def completion_callback(file_path: str, size: int):
    print(f"Download complete: {file_path} ({size} bytes)")
    
# Download files
client.file_api.download_sync(
    project_name=mlxp_project,
    model_name="my_model",
    version_name="v1.0", 
    remote_path="/",
    local_path="/path/to/download",
    # Optional parameters:
    overwrite=True, # Whether to overwrite existing files
    parallel=1, # Number of parallel workers
    progress_callback_func=progress_callback,
    file_complete_callback_func=completion_callback,
)