AI Database Collections

When deployed, NeoPulse® AI studio launches MongoDB as a container. This database has three collections of JSON documents: "Query", "Train", and "Models" that are accessed via the REST APIs or the CLI. The query collection keeps track of queries submitted to the query API. The train collection similarly contains the project names associated with submissions to the train API which includes a project and a list of all the generated models for that project. The models collection then keeps the information associated with each model as it undergoes training (i.e. status, errors, update time, etc.).

Query:

{
  "_id": <query_id>,
  "status": <Status Enum>,
  "time_updated": <ISO_Time>,
  "path": "/DM-Dash/query/results/<query_id>.csv",
  "csv_path": </path/to/csv/anywhere>,
  "model_id": <model_id to query>,
  "model_iter": <model_iter for the given model_id to query>,
  "*error": <key only exists if an error has occurred>
}

Train:

{
  "_id": <project_name>,
  "uuid": <random_id>,
  "path": "/DM-Dash/projects/<project_name>",
  "models": ["<random_id>-0", "<random-id>-1", …],
  "num_models": <number of generated models and length of models>,
  "completed": <number of models with Status QUERY_COMPLETED>,
  "*error": <key only exists if an error has occurred>
}

Models:

{
    "_id": <model_id>,
    "path": "/DM-Dash/projects/<model_id>",
    "train_id": <project_name>,
    "status": <Status Enum>,
    "time_updated": <ISO_Time>,
    "auto": {"auto": [{<auto_param_1>}: <value>, {<auto_param_2>: <value>}…]},
    "headers": ["<metric_1>", "<metric_2>", …],
    "<metric_1>": [val1, val2, val2…],
    …
    "*error": <key only exists if an error has occurred>
}

Status Enum:

WAITING_TO_TRAIN
TRAINING
TRAINING_COMPLETED
TRAINING_TERMINATED
ERROR
WAITING_TO_QUERY
QUERY_COMPLETED
QUERYING
IMPORTED_MODEL