Kairos CLI App

A command-line application for managing the Artificial Intelligence Platform.

Table of Contents

Characteristics

Beta Version

The app is a component of the Artificial Intelligence Platform. This platform is not included in yuuvis® Momentum installations and is available as a beta version only on request.

Function

The management of the Artificial Intelligence Platform is done via the command line application Kairos CLI. The following commands are available.

CommandSub-CommandDescriptionAuthorization required
kairos helpLists all available commands and how to use them.no
kairos --help [COMMAND]List the help page for the specific command.no
kairos login -t [TENANT] -u [USERNAME] -p [PASSWORD]

Login to Kairos CLI app to get further access to commands. The login requires TENANT, USERNAME and PASSWORD in any order. If you do not specify values for all options, a dialog will be started.

You will stay logged in until you enter the kairos logout command. Even if you close the terminal and enter again, you are still logged in and will be able to run all commands.

-
kairos logoutLogout from the Kairos CLI app.yes
kairos pipelineManage local AI pipelines.yes

listReturns console output with a list of pipelines.
create -n [NAME] -l [ARTIFACT LOCATION]

Adds a new pipeline to the list. Requires a NAME for the new pipeline and a path to the new pipeline's ARTIFACT LOCATION.

delete -id [PIPELINEID]Removes a pipeline from the list. Requires the ID of the pipeline you want to delete.

build -n [NAME] -t [TYPE] -d [DEVICE OPTIONAL] -v [VERSION OPTIONAL] 

Creates a docker image for an existing pipeline. Requires a NAME for the pipeline and a TYPE of the pipeline to build an image for.
Optionally, DEVICE used in all runs for the build (CPU/GPU) can be specified via the option -d, and VERSION as manual version tag can be specified via option -v.

kairos experimentRun and manage MLFlow experiments.yes

listReturns console output with a list of available experiments.
create -n [NAME] -l [ARTIFACT LOCATION]

Adds a new experiment to the list. Requires a NAME for the new experiment and a path to the new experiment's ARTIFACT LOCATION.

run -n [NAME] -t [TYPE] -id [EXPERIMENTID]Executes and tracks an experiment run. Requires a NAME of the pipeline to execute, a TYPE of the pipeline to execute, and an EXPERIMENTID as an experiment ID to track the run.
delete -id [EXPERIMENTID]

Removes an experiment and its configurations. Requires the ID of the experiment (NOT the pipeline!) you want to delete.

kairos modelManage models.yes

list -n [MODEL NAME] -v [MODEL VERSION]

Returns console output with list of all available registered models.

Optionally, a MODEL NAME can be specified via the option -n. The output will be a list of all available versions of the corresponding model.
In addition to the option -n, the option -v can be used to specify a MODEL VERSION. The output will be a list containing specific model version information.

tag -n [MODEL NAME] -v [MODEL VERSION] -approachUsed [APPROACH USED VALUE] - dispName [DISPLAY NAME VALUE] -predType [PREDICTION TYPE VALUE] -predTypeLabel [PREDICTION TYPE LABEL VALUE]

Assigns initial tags to the registered model. Requires a MODEL NAME as well as MODEL VERSION for the model in the registry.

The following tags can also be defined: 
APPROACH USED VALUE – value for used approach
DISPLAY NAME VALUE – value for display name
PREDICTION TYPE VALUE – value for prediction type
PREDICTION TYPE LABEL VALUE – value of prediction type label, e.g., for extraction INVOICE_COMPANY_NAME, CURR-DOM-GROSS, for classification CLASSIFICATION

deploy -n [REGISTERED MODEL NAME] -v [REGISTERED MODEL VERSION] -deployName [SERVICE/DEPLOYMENT NAME] - dockerImage [IMAGE TAG NAME] -imagePS [IMAGE PULL SECRET NAME] -containerP [CONTAINER PORT VALUE] -serviceP [SERVICE PORT VALUE] - memLimits [MEMORY LIMITS VALUE] -memRequests [MEMORY REQUEST VALUE]

Deploys the model on the Kubernetes cluster configured with local .kube(config) file.

Requires the following parameters:
REGISTERED MODEL NAME] – name of the model in the model registry
REGISTERED MODEL VERSION] – version of the model in the model registry
SERVICE/DEPLOYMENT NAME – name of the service and deployment on Kubernetes
IMAGE TAG NAME – name we want to give to the image
IMAGE PULL SECRET NAME – name of the image pull secret defined on Kubernetes cluster for a specific namespace
CONTAINER PORT VALUE – port defined inside the model container
SERVICE PORT VALUE – port we want to define for our service
MEMORY LIMITS VALUE – the amount of memory for our deployed model container (e.g., 5Gi), replaces value for limits:memory: defined in deploy manifest
MEMORY REQUEST VALUE – the amount of memory container requests in order to work (e.g., 4Gi), replaces value for requests:memory: defined in deploy manifest
URL TO DOCKER IMAGE REGISTRY – URL to docker image registry (e.g., https://docker.optimal-systems.org)

startInference -n [REGISTERED MODEL NAME] -v [REGISTERED MODEL VERSION]

Starts inference with a specific model. Requires a REGISTERED MODEL NAME and REGISTERED MODEL VERSION in order to start inference.

stopInference -n [REGISTERED MODEL NAME] -v [REGISTERED MODEL VERSION]Stop inference with specific model. Requires a REGISTERED MODEL NAME and REGISTERED MODEL VERSION of the model to be stopped.

delete -deployName [SERVICE/DEPLOYMENT NAME] -n [REGISTERED MODEL NAME] -v [REGISTERED MODEL VERSION]

Delete deployed model from the cluster (service and deployment). Requires SERVICE/DEPLOYMENT NAME, REGISTERED MODEL NAME and REGISTERED MODEL VERSION in order to delete model from the cluster.
metrics -runID [RUN ID]Returns model metrics. Requires the RUN ID of the model for which all metrics should be returned.
performance -runID [RUN ID]

Returns model performances in previous requests (accuracy, recall, f1, response time...). Requires the RUN ID of the model run you want to get performances for. Optionally, a START DATE can be defined, from which you want to retrieve model results for the performances. If it is not defined, results starting with the first run will be retrieved. Optionally, an END DATE can be defined, until which you want to retrieve model results for the performances. If it is not defined, results until the last run will be retrieved.

kairos schemaManage inference schema.yes

view -appName [APP NAME]

Returns console output of the specified inference schema.

Optionally, an APP NAME can be specified via the option -appName in order to get the inference schema of the specified app.

store -fp [FILE PATH] -appName [APP NAME]

Uploads and overwrites an existing inference schema to config api. Requires the FILE PATH to the inference schema to be uploaded.

Optionally, an APP NAME can be specified via the option -appName in order to upload the inference schema for the specified app.

download -rp [RETURN PATH] -appName [APP NAME]

Downloads an inference schema to the specified location. Requires a RETURN PATH where the inference schema will be saved.

Optionally, an APP NAME can be specified via the option -appName in order to get the inference schema of the specified app.

Requirements

The Kairos CLI app is a part of the Auto ML platform and can run only in combination with the other included components.

Kairos CLI furthermore requires:

  • Java 13+

The current beta version of Kairos CLI can be operated only on Windows systems.

Installation and Configuration

Use the terminal in administrator mode to have access to all system directories.

  • If you were already using the Kairos CLI app before, uninstall the old version.
  • Run the installation file for the current version of Kairos CLI.
  • Finish the installation.

Set path of the Kairos CLI installation directory as value for your system environment path variable.

Now, configure the custom properties for the Kairos CLI app:

  • Create an application.properties file in the <installationDirectoryPath>\app\config directory on your system drive.
  • Fill in your custom properties and save the file.
    The file path should be separated with / instead of not \ (e.g., C:/Program Files/kairos/app/config/pipelines.json instead of C:\Program Files\kairos\app\config\pipelines.json).
    Note: May differ for Linux operating systems.

Read on

Inference Schema

The inference schema is a structure that defines what should be done and in which way while making predictions. Keep reading

ML Training Pipeline

Responsible for preparing data for training, training of machine learning models, evaluation of trained models, and preparing for the deployment to the production. Keep reading

PREDICT-API Service

The service of the AI platform provides the API for the retrieval of typification predictions determined by the Machine Learning (ML) Pipeline. Keep reading