@@ -21,13 +21,15 @@ class ModelConfig:
2121 Configuration related to the model.
2222 """
2323
24- def __init__ (self , id : str , parameters : Optional [Dict [str , Any ]] = None ):
24+ def __init__ (self , id : str , parameters : Optional [Dict [str , Any ]] = None , custom : Optional [ Dict [ str , Any ]] = None ):
2525 """
2626 :param id: The ID of the model.
2727 :param parameters: Additional model-specific parameters.
28+ :param custom: Additional customer provided data.
2829 """
2930 self ._id = id
3031 self ._parameters = parameters
32+ self ._custom = custom
3133
3234 @property
3335 def id (self ) -> str :
@@ -51,6 +53,15 @@ def get_parameter(self, key: str) -> Any:
5153
5254 return self ._parameters .get (key )
5355
56+ def get_custom (self , key : str ) -> Any :
57+ """
58+ Retrieve customer provided data.
59+ """
60+ if self ._custom is None :
61+ return None
62+
63+ return self ._custom .get (key )
64+
5465
5566class ProviderConfig :
5667 """
@@ -128,9 +139,11 @@ def config(
128139 model = None
129140 if 'model' in variation and isinstance (variation ['model' ], dict ):
130141 parameters = variation ['model' ].get ('parameters' , None )
142+ custom = variation ['model' ].get ('custom' , None )
131143 model = ModelConfig (
132144 id = variation ['model' ]['id' ],
133- parameters = parameters
145+ parameters = parameters ,
146+ custom = custom
134147 )
135148
136149 enabled = variation .get ('_ldMeta' , {}).get ('enabled' , False )
0 commit comments