@@ -683,11 +683,16 @@ def dataitem_ref_id(self, dataset_id: str, reference_id: str):
683683
684684 @deprecated ("Prefer calling Dataset.predictions_refloc instead." )
685685 @sanitize_string_args
686- def predictions_ref_id (self , model_run_id : str , ref_id : str ):
686+ def predictions_ref_id (
687+ self , model_run_id : str , ref_id : str , dataset_id : Optional [str ] = None
688+ ):
689+ if dataset_id :
690+ raise RuntimeError (
691+ "Need to pass a dataset id. Or use Dataset.predictions_refloc."
692+ )
687693 # TODO: deprecate ModelRun
688- return self .make_request (
689- {}, f"modelRun/{ model_run_id } /refloc/{ ref_id } " , requests .get
690- )
694+ m_run = self .get_model_run (model_run_id , dataset_id )
695+ return m_run .refloc (ref_id )
691696
692697 @deprecated ("Prefer calling Dataset.iloc instead." )
693698 def dataitem_iloc (self , dataset_id : str , i : int ):
@@ -720,10 +725,8 @@ def predictions_loc(self, model_run_id: str, dataset_item_id: str):
720725 @deprecated ("Prefer calling Dataset.create_slice instead." )
721726 def create_slice (self , dataset_id : str , payload : dict ) -> Slice :
722727 # TODO: deprecate in favor of Dataset.create_slice
723- response = self .make_request (
724- payload , f"dataset/{ dataset_id } /create_slice"
725- )
726- return Slice (response [SLICE_ID_KEY ], self )
728+ dataset = self .get_dataset (dataset_id )
729+ return dataset .create_slice (payload ["name" ], payload ["reference_ids" ])
727730
728731 def get_slice (self , slice_id : str ) -> Slice :
729732 # TODO: migrate to Dataset method and deprecate
@@ -839,13 +842,9 @@ def create_custom_index(
839842 self , dataset_id : str , embeddings_urls : list , embedding_dim : int
840843 ):
841844 # TODO: deprecate in favor of Dataset.create_custom_index invocation
842- return self .make_request (
843- {
844- EMBEDDINGS_URL_KEY : embeddings_urls ,
845- EMBEDDING_DIMENSION_KEY : embedding_dim ,
846- },
847- f"indexing/{ dataset_id } " ,
848- requests_command = requests .post ,
845+ dataset = self .get_dataset (dataset_id )
846+ return dataset .create_custom_index (
847+ embeddings_urls = embeddings_urls , embedding_dim = embedding_dim
849848 )
850849
851850 @deprecated ("Prefer calling Dataset.delete_custom_index instead." )
@@ -891,6 +890,18 @@ def create_object_index(
891890 requests_command = requests .post ,
892891 )
893892
893+ def delete (self , route : str ):
894+ return self ._connection .delete (route )
895+
896+ def get (self , route : str ):
897+ return self ._connection .get (route )
898+
899+ def post (self , payload : dict , route : str ):
900+ return self ._connection .post (payload , route )
901+
902+ def put (self , payload : dict , route : str ):
903+ return self ._connection .put (payload , route )
904+
894905 # TODO: Fix return type, can be a list as well. Brings on a lot of mypy errors ...
895906 def make_request (
896907 self ,
0 commit comments