docs/mindsdb_sql/sql/api/manage-models-versions.mdx
To create a model, use the CREATE MODEL statement.
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.
DESCRIBE MODEL home_rentals;
On execution, we get:
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|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 |
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
To retrain a model, use the RETRAIN statement.
RETRAIN mindsdb.home_rentals;
Let's query for the model versions again.
DESCRIBE MODEL home_rentals;
On execution, we get:
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|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 |
+------------+------------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
To use the currently active model version, run this query:
SELECT *
FROM mindsdb.home_rentals AS p
JOIN example_db.demo_data.home_rentals AS d;
To use a specific model version, even if it is set to inactive, run this query:
SELECT *
FROM mindsdb.home_rentals.1 AS p
JOIN example_db.demo_data.home_rentals AS d;
To set a specific model version as active, run the below statement:
SET model_active = home_rentals.1;
To delete a specific model version, run the below statement:
DROP MODEL home_rentals.2
Please note that you cannot delete the version that is active.
To delete all models version, run the DROP MODEL statement:
DROP MODEL mindsdb.home_rentals;