Skip to main content
Author: Drew Shea, Created: 2023-09-10

Overview

The purpose of this document is to provide all of the major SensibleAI Studio definitions and key terms.

Many of the Definitions and Key Terms reference one another. Referenced Definitions and Key Terms will show up in italics.

Definitions & Key Terms

2flatpipe

A-D

Name

Definition

Additional Information

Example

Artifact

An Artifact is an object that can be generated by a

Routine Method Run

that holds data, metadata, and other summary level information that can be used after its generated for downstream business processes.

An Artifact is comprised of:

  • Artifact Metadata

  • Artifact Data

  • (optional)

    Artifact Statistics

  • (optional)

    Artifact Previews

  • Artifacts are stored in a file-system backend (like the MetaFileSystem)

  • A

    Run

    may generate zero to N number of Artifacts. It is entirely dependent on how the

    Routine Developer

    defined their

    Routine

    .

  • Artifacts may be accessed through the

    SensibleAI Studio

    UI or programmatically through OneStream Business Rules

  • anomaly_instances

    • A set of predictions generated by an anomaly detection algorithm that labels data as anomalous or not.

  • decision_tree_visual

    • An image of how a decision tree was broken down within a classifier model and it decided to split the tree based on feature values.

Artifact - Artifact Definition

An Artifact Definition is what defines what a generated

Artifact

is anticipated to look like after it’s generated by running a

Routine Method

.

  • An Artifact Definition is broadly comprised of attribute like

    Artifact Key

    ,

    Artifact Qualified Key

    ,

    Artifact File Annotation

    s

    , Artifact In-Memory Accessible

    , etc.

Artifact - Artifact Key (Annotation)

The name identifier of an Artifact within a particular

Routine Method

.

  • This is not guaranteed to be unique when dealing with

    Nested Artifacts

    . See

    Artifact Qualified Key

    example for details.

  • The

    Artifact Key Annotation

    will map to a directory name found the Routine Storage Structure within the

    artifacts_

    directory.

Artifact - Artifact Qualified Key (Annotation)

The unique identifier of an Artifact within a particular

Routine Method.

  • The Artifact Qualified Key is defined by the

    Routine Developer

    when writing the developing the

    Routine

    .

  • The

    Artifact Qualified Key

    will look different from a

    Artifact Key

    when

    Nested Artifacts

    are involved.

  • When you have

    Nested Artifacts

    , you will see the

    Artifact Qualified Key

    be comprised of both the outer

    Artifact Key

    and the inner

    Artifact Key

    separated by a “.” (ex:

    outer_key.inner_key

    )

  • my_dataframe

    : An example mapping to a dataframe

  • my_list.0.dataframe

    : A nested Artifact where you have an Artifact

    my_list

    then an Artifact

    0

    for the 1st index, then you have an Artifact called

    dataframe

    . You would say that

    dataframe

    is the

    Artifact Key

    and

    my_list.0.dataframe

    is the

    Artifact Qualified Key

Artifact - Artifact Data

The actual data generated by an

Artifact

.

  • The type of data that is generated is defined by the

    Routine Method

    .

  • Some of the common Artifact File Types include,

    .parquet

    ,

    .html

    ,

    .png

    ,

    .webref

    ,

    .json

    , and more.

  • This file data can be read back on the .NET within Xperiflow Business Rule helper methods

Artifact - Artifact File Annotation

A file path and a description that represents one or more of the anticipated

Artifact Data

file types found within the

Artifact.

  • @

    = Represents an Artifact directory

  • <int>

    = A directory or file variable representing an integer.

  • <str>

    = A directory or file variable representing a string.

  • Ex1: An Interactive HTML Artifact

    • Annotation:

      artifacts_/@report_content/data_/html_content.html

    • Description:

  • Ex2: A Tabular Artifact (as partitioned parquet files)

    • Annotation:

      artifacts_/@anomaly_instances/data_/data_<int>.parquet

    • Description: A partitioned set of parquet files where each file will have no more than 1000000 rows.

Artifact - Artifact Metadata

The metadata associated with a generated

Artifact

.

  • This is typically represented as a

    artifact_metadata.json

    file that is accessible within the

    metadata_

    directory of the

    Routine Directory Structure

    .

  • This holds information such as the

    Artifact

    creation time,

    Artifact

    description,

    Artifact

    title,

    Artifact File Annotations

    , and more.

Artifact - Artifact Preview

An Artifact Preview is a reviewable representation of an

Artifact

to better inform a

Power User

of as to what they will find in the

Artifact

data itself.

  • An

    Artifact

    can have 0 to N number of Artifact Previews generated for it.

  • Generation of Artifact Previews may be turned off by the

    Power User

Artifact - Artifact Statistic

A statistic that is generated off of raw

Artifact Data

that can provide more insight into the underlying

Artifact Data.

  • Artifact Statistics can be seen within SensibleAI Studio after the Artifact has been generated.

  • Generation of Artifact Statistics may be turned off by the

    Power User

Artifact - In-Memory Json Accessible

A special attribute found on an

Artifact Definition

that denotes whether the

Artifact

can be accessed as a Json object when the

Routine Method

is run with a

Routine Method Execution Type

of “in-memory”.

  • Not all

    Artifact Data

    is accessible as a Json object.

Artifact - Dynamic Artifact

A special type of

Artifact

that is generated dynamically when the

Routine Method

runs. The user won’t know it exists until after the

Routine Run

is complete.

  • Within the Routine Documentation in the Signature section for any method, the user can see a field titled ,“Outputs Dynamic Artifacts”, that lets the user know if this

    Routine

    may return any

    Dynamic Artifact.

  • You

    will not

    see a

    Dynamic Artifact

    show up in the Routine Documentation under the Artifacts Section (by definition, you don’t know what the definition of

    Dynamic Artifact

    is until you actually Run the

    Routine Method

    , therefore we can’t embed it “up-front” in the documentation. We can only tell you if the

    Routine Method

    may return other

    Dynamic Artifacts

    ).

  • Typically,

    Routine Developers

    try to avoid using this capability in the

    Routines

    they develop to provide deterministic results coming out of

    Routine Method

    s.

(Sensible)AI Studio

The OneStream Solution for managing and interacting with

Routines

programmatically or through a user interface.

  • Acronym (STU)

  • Make sure to not confuse this with the Sensible ML Feature Library which is a prebuilt data store of external data connections to pull information such as macro-economic information, etc.

Solution Exchange - Routine Store

The Routine Store is a centralized service to house OneStream developed and community developed Routines made by

Routine Developers

The Routine Store allows:

  • Routine Developers

    to upload their

    Routines

  • Routine Developers

    to get their

    Routines

    approved for commercial use

  • AI Services Users

    to find and import community developed

    Routines

    into their library so that they can use them

This feature will not be available until a future release.

E-K

Name

Definition

Additional Information

Example

L-O

Name

Definition

Additional Information

Example

Memory Capacity - Run Memory Capacity

The max amount of memory in gigabytes that a given

Routine Method

is allowed to consume at any one time.

If this memory limit is surpassed, the

Run

will be suspended and terminated. An error message will be provided, denoting that the memory capacity was exceeded.

Memory Capacity - Total Memory Capacity

The total memory capacity in gigabytes allowed for the for the AI Services environment that can be used at any one time.

If this memory limit is surpassed, the latest starting

Run

will be suspended and terminated. An error message will be provided, denoting that the memory capacity was exceeded.

P-S

Name

Definition

Additional Information

Example

Stateful Routine

A type of Routine that manages state and is comprised of multiple methods that can be executed after this routine type has been created.

A

Stateful Routine

is defined with the python method name of

init

.

  • A Stateful Routine resembles a class that you would see in any other programming language. It has a constructor to maintain stateful member variables, has one to N methods on it, and those methods may change the state of the

    Routine Instance

    variables as those methods are executed

  • XGBoost Classifier Routine - This is a

    Routine Method

    because it is expects the user of the Routine to 1)

    Construct

    it 2) Call

    Fit

    (a method) which will train the XGBoost Classifier and 3) Call

    Predict

    (a method) to leverage the internal trained model to make predictions

Stateless Routine

A type of Routine that does not manage internal state and does not have a constructor method to instantiate the

Routine Instance

.

  • A

    Stateless Routine

    resembles a “static class” that you would see in any other programming language. The only difference is that you still must “create” the routine instance before you can call the

    Routine Methods

    on it.

Routine Instance

An instantiated

Routine

.

  • If the

    Routine

    is a

    Stateless Routine

    , the

    Routine

    is considered “instantiated” once the

    Routine

    is “created”.

  • If the

    Routine

    is a

    Stateful Routine

    , the

    Routine

    is considered “instantiated” once the

    Routine

    is “created” and the

    Routine Constructor

    is Run.

  • After creating an instance of a

    Routine

    , I can now call the various methods that are defined on that routine.

  • Just like any programming language, I can create many instances of a

    Routine

  • A

    Routine Constructor

    may specify 0 to N parameters.

  • I can create many instances of an CNN Image Classifier Routine. Maybe I will name and create one instance of this CNN Image Classifier

    Routine

    for classifying whether an image is a hamburger or a hotdog. I can also create another instance that can be used for classifying whether an image is a Tree or a Dog.

Routine Method

A method defined as part of a

Routine.

A method will take in input parameters, execute some business logic, then output (if any) results as

Artifacts

and potentially alter the state of the

Routine Instance.

  • Like any standard programming language, you must instantiation the

    Routine

    prior to being able to run the Routine Method.

Routine Method - Constructor

A special type of

Routine Method

that must be invoked on a

Stateful Routine

prior to calling any of the

Routine Methods

available on the

Routine

.

Routine Method - Execution Type

The way in which a

Routine Method Run

is executed. The Execution Type is set to “background” by default.

  • There are two main Execution Types - “background” and “in-memory”.

  • background - Executes the Routine Method Run as a background job on some system defined processing engine.

  • in-memory - Executes the Routine Method Run “in-process” (or at the web service tier) to ensure fast execution.

    • Note that only certain Routine Methods allow this type of execution (defined by the

      Routine Developer

      )

    • This should only be used when you need the Routine to return data results behind a UI interaction (4 seconds or less is a good rule of thumb)

    • When executing in this way, any Artifact that is

      In-Memory Json Accessible

      will allow the

      Power User

      to access the Json variation of the

      Artifact Data

      as part of the In-Memory result.

Routine Method - Signature

The

Routine Method’s

name, return type (

Artifacts

), and parameters—essentially how the method should be called and what it returns.

Routine

A modular software component comprised of one or more functions that accept inputs and produce outputs, such as data results or interactive web applications.

  • The python script format and interface that a

    Routine Developer

    must implement in order to have their data science functionality accepted into the

    AI Studio.

  • BaseRoutine

    ,

    ParameterBaseModel

    , and

    ArtifactBaseModel

    act as the backbone of the interface to develop your script against

  • There is a test harness to allow developers to validate that their script conforms to the interface.

Routine Type

A type of Routine. There are two types of routines that can be defined by

Routine Developer

and executed by users. The

Stateful Routine

and the

Stateless Routine.

  • The two Routine Types are modeled off the standard programming concepts of Classes and Static Classes. Classes have instance variables, constructors, and methods that take in input, change state, and output results. On the other hand, Static Classes just define 1 to N methods and simply take in inputs and output results.

Routine Test Harness

A Python PyTest framework that can validate and provide feedback to

Routine Developer

on if their

Routine

conforms to the standards and the interface that the

AI Studio

expects.

This feature will not be available until a future release.

Routine Run (Routine Method Run)

A Run denoted as any invocation of a

Routine Method

or

Routine Constructor

.

  • A Routine Run will generate a storage directory structure within the MetaFileSystem

  • A Routine Run’s progress can be monitored within SensibleAI Studio or programmatically.

  • A Routine Run can be run in “standard mode” or “in-memory” mode. “in-memory” mode allows the Routine Run to be executed on the AI Engine web service to enable faster execution. In this mode, Artifacts that are JSON-serializable are accessible via a JSON representation of the

    Artifact Data

    .

Routine Storage Structure

A file-based directory structure that outlines how inputs, metadata, and outputs are stored to represent a

Routine Instance

, and

Routine Runs

.

  • Whenever a user creates a Routine Instance or Routine Run is created, a new underlying directory structure is created in the MetaFileSystem to represent the data of the Routine Instance or Routine Run.

  • For more information on what this directory structure looks like, please see:

    Routine Storage Structure

T-Z

Name

Definition

Additional Information

Example

Workflow

An instance of a

Workflow Definition

Another analogy to use here is think of a Workflow Instance as an instance of an object.

Workflow Definition

A Workflow Definition defines a series of workflow steps, transitions, triggers, validations, that can be taken to execute some use case. A Workflow Definition can have many

Workflows

(instances)

  • A Workflow Definition is expected to accompany a

    Routine

    to define how a user will be guided through the process on the front-end of filling out the necessary parameters to fire of a Routine.

User - Routine Developer

A Routine Developer develops and contributes new Routines to the AI Studio that other the

Power User

can build with.

  • The

    Routine Developer

    Builds and Deploys AI Studio

    Routines

    in Python. The typical background of a

    Routine Developer

    is a Python developer, data scientist, or computer scientist

  • The Routine Developer writes code in Python and implements the

    BaseRoutine

    interface.

  • Over time, third party developers will be able to develop Routines. For the short term, only OneStream licensed developers will be allowed to act as

    Routine Developers

User - Power User

A Power User is leveraging the outputs (typically relational tables, docs, reports, etc.) of AI Studio Routines to power other processes in OneStream.

  • The

    Power User

    integrates AI Studio

    Routines

    into business processes in OneStream by leveraging the AI Studio APIs and core OneStream business rule APIs. The typical background of a

    Power User

    is OneStream Solution developers, solution consultants, Sensible ML consultants.

User - End User

The typical OneStream

End User

. It is expected that the

End User

will not spend any time inside of the AI Studio. Rather, they will rely on dashboards / reports built by the

Power User

  • The

    End User

    simply just leverages the supercharged business processes inside of OneStream that was built for them by the

    Routine Developers

    and the

    Power Users.

Was this page helpful?