Back to Mindsdb

Manage Model Versions

docs/mindsdb_sql/sql/api/manage-models-versions.mdx

26.1.04.6 KB
Original Source

Creating a Model

To create a model, use the CREATE MODEL statement.

sql
CREATE MODEL mindsdb.home_rentals
FROM example_db
    (SELECT * FROM demo_data.home_rentals)
PREDICT rental_price
USING engine = 'my_ml_engine',
      tag = 'my model';

Now, your model has one version. You can verify by querying the models table.

sql
DESCRIBE MODEL home_rentals;

On execution, we get:

sql
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|NAME        |ENGINE      |PROJECT|ACTIVE|VERSION|STATUS  |ACCURACY|PREDICT     |UPDATE_STATUS|MINDSDB_VERSION|ERROR |SELECT_DATA_QUERY                   |TRAINING_OPTIONS                       |CURRENT_TRAINING_PHASE|TOTAL_TRAINING_PHASES|TAG   |CREATED_AT                |TRAINING_TIME|
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|home_rentals|my_ml_engine|mindsdb|true  |1      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 16:01:04.990958|19.946       |
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+

Retraining a Model

To retrain a model, use the RETRAIN statement.

sql
RETRAIN mindsdb.home_rentals;

Let's query for the model versions again.

sql
DESCRIBE MODEL home_rentals;

On execution, we get:

sql
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|NAME        |ENGINE      |PROJECT|ACTIVE|VERSION|STATUS  |ACCURACY|PREDICT     |UPDATE_STATUS|MINDSDB_VERSION|ERROR |SELECT_DATA_QUERY                   |TRAINING_OPTIONS                       |CURRENT_TRAINING_PHASE|TOTAL_TRAINING_PHASES|TAG   |CREATED_AT                |TRAINING_TIME|
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|home_rentals|my_ml_engine|mindsdb|true  |1      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 16:01:04.990958|19.946       |
|home_rentals|my_ml_engine|mindsdb|true  |2      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 17:01:04.990958|21.923       |
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+

Using Active Model Version

To use the currently active model version, run this query:

sql
SELECT *
FROM mindsdb.home_rentals AS p
JOIN example_db.demo_data.home_rentals AS d;

Using Specific Model Version

To use a specific model version, even if it is set to inactive, run this query:

sql
SELECT *
FROM mindsdb.home_rentals.1 AS p
JOIN example_db.demo_data.home_rentals AS d;

Setting Model Version as Active

To set a specific model version as active, run the below statement:

sql
SET model_active = home_rentals.1;

Deleting Specific Model Version

To delete a specific model version, run the below statement:

sql
DROP MODEL home_rentals.2

Please note that you cannot delete the version that is active.

Deleting All Model Versions

To delete all models version, run the DROP MODEL statement:

sql
DROP MODEL mindsdb.home_rentals;