Skip to content

Commit ef2ca0a

Browse files
authored
Merge pull request #209 from dataiku/bug/sc-78565-mlflowversionhandler-set-core-metadata-implementt
MLFlowVersionHandler.set_core_metadata implement support for features_list
2 parents d09b56f + 5564081 commit ef2ca0a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

dataikuapi/dss/savedmodel.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ def set_core_metadata(self,
315315
:param list features_list: List of {"name": "feature_name", "type": "feature_type"}
316316
"""
317317

318+
if features_list is not None and get_features_from_dataset is not None:
319+
raise Exception("The information of the features should come either from the features_list or get_features_from_dataset, but not both.")
320+
318321
metadata = self.saved_model.client._perform_json("GET", "/projects/%s/savedmodels/%s/versions/%s/external-ml/metadata" % (self.saved_model.project_key, self.saved_model.sm_id, self.version_id))
319322

320323
if target_column_name is not None:
@@ -330,9 +333,13 @@ def set_core_metadata(self,
330333
#if get_features_from_signature:
331334
# raise Exception("Get features from signature is not yet implemented")
332335

333-
# TODO: Add support for features_list, with validation
336+
if features_list is not None:
337+
for feature in features_list:
338+
if not ("name" in feature and "type" in feature):
339+
raise Exception("The features_list should be a list of {'name': 'feature_name', 'type': 'feature_type'}")
340+
metadata["features"] = features_list
334341

335-
self.saved_model.client._perform_empty("PUT",
342+
self.saved_model.client._perform_empty("PUT",
336343
"/projects/%s/savedmodels/%s/versions/%s/external-ml/metadata" % (self.saved_model.project_key, self.saved_model.sm_id, self.version_id),
337344
body=metadata)
338345

0 commit comments

Comments
 (0)