@@ -92,22 +92,26 @@ class Model:
9292 endpoint, using :meth:`NucleusClient.add_model`.
9393 """
9494
95- def __init__ (self , model_id , name , reference_id , metadata , client ):
95+ def __init__ (
96+ self , model_id , name , reference_id , metadata , client , bundle_name = None
97+ ):
9698 self .id = model_id
9799 self .name = name
98100 self .reference_id = reference_id
99101 self .metadata = metadata
102+ self .bundle_name = bundle_name
100103 self ._client = client
101104
102105 def __repr__ (self ):
103- return f"Model(model_id='{ self .id } ', name='{ self .name } ', reference_id='{ self .reference_id } ', metadata={ self .metadata } , client={ self ._client } )"
106+ return f"Model(model_id='{ self .id } ', name='{ self .name } ', reference_id='{ self .reference_id } ', metadata={ self .metadata } , bundle_name= { self . bundle_name } , client={ self ._client } )"
104107
105108 def __eq__ (self , other ):
106109 return (
107110 (self .id == other .id )
108111 and (self .name == other .name )
109112 and (self .metadata == other .metadata )
110113 and (self ._client == other ._client )
114+ and (self .bundle_name == other .bundle_name )
111115 )
112116
113117 def __hash__ (self ):
@@ -187,3 +191,25 @@ def evaluate(self, scenario_test_names: List[str]) -> AsyncJob:
187191 requests_command = requests .post ,
188192 )
189193 return AsyncJob .from_json (response , self ._client )
194+
195+ def run (self , dataset_id : str , slice_id : Optional [str ]) -> str :
196+ """Runs inference on the bundle associated with the model on the dataset. ::
197+
198+ import nucleus
199+ client = nucleus.NucleusClient("YOUR_SCALE_API_KEY")
200+ model = client.list_models()[0]
201+
202+ model.run("ds_123456")
203+
204+ Args:
205+ dataset_id: id of dataset to run inference on
206+ job_id: nucleus job used to track async job progress
207+ slice_id: (optional) id of slice of the dataset to run inference on
208+ """
209+ response = self ._client .make_request (
210+ {"dataset_id" : dataset_id , "slice_id" : slice_id },
211+ f"model/run/{ self .id } /" ,
212+ requests_command = requests .post ,
213+ )
214+
215+ return response
0 commit comments