Coverage for mindsdb / integrations / libs / ml_handler_process / predict_process.py: 30%
23 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1import importlib
3from pandas import DataFrame
5import mindsdb.interfaces.storage.db as db
6from mindsdb.interfaces.storage.model_fs import ModelStorage, HandlerStorage
7from mindsdb.integrations.libs.ml_handler_process.handlers_cacher import handlers_cacher
8from mindsdb.utilities.functions import mark_process
11@mark_process(name='learn')
12def predict_process(integration_id: int, predictor_record: db.Predictor, args: dict,
13 module_path: str, ml_engine_name: str, dataframe: DataFrame) -> DataFrame:
14 module = importlib.import_module(module_path)
16 if predictor_record.id not in handlers_cacher:
17 handlerStorage = HandlerStorage(integration_id)
18 modelStorage = ModelStorage(predictor_record.id)
19 ml_handler = module.Handler(
20 engine_storage=handlerStorage,
21 model_storage=modelStorage,
22 )
23 handlers_cacher[predictor_record.id] = ml_handler
24 else:
25 ml_handler = handlers_cacher[predictor_record.id]
27 if ml_engine_name == 'lightwood':
28 args['code'] = predictor_record.code
29 args['target'] = predictor_record.to_predict[0]
30 args['dtype_dict'] = predictor_record.dtype_dict
31 args['learn_args'] = predictor_record.learn_args
33 predictions = ml_handler.predict(dataframe, args)
34 ml_handler.close()
35 return predictions