@@ -4556,6 +4556,27 @@ def get_model_ids(self, model_name: Optional[str] = None) -> List[str]:
4556
4556
ids .append (id )
4557
4557
return ids
4558
4558
4559
+ def _get_all_deployments (
4560
+ self , model_name : str , model_alias : Optional [str ] = None
4561
+ ) -> List [DeploymentTypedDict ]:
4562
+ """
4563
+ Return all deployments of a model name
4564
+
4565
+ Used for accurate 'get_model_list'.
4566
+ """
4567
+
4568
+ returned_models : List [DeploymentTypedDict ] = []
4569
+ for model in self .model_list :
4570
+ if model ["model_name" ] == model_name :
4571
+ if model_alias is not None :
4572
+ alias_model = copy .deepcopy (model )
4573
+ alias_model ["model_name" ] = model_name
4574
+ returned_models .append (alias_model )
4575
+ else :
4576
+ returned_models .append (model )
4577
+
4578
+ return returned_models
4579
+
4559
4580
def get_model_names (self ) -> List [str ]:
4560
4581
"""
4561
4582
Returns all possible model names for router.
@@ -4567,24 +4588,26 @@ def get_model_names(self) -> List[str]:
4567
4588
def get_model_list (
4568
4589
self , model_name : Optional [str ] = None
4569
4590
) -> Optional [List [DeploymentTypedDict ]]:
4591
+ """
4592
+ Includes router model_group_alias'es as well
4593
+ """
4570
4594
if hasattr (self , "model_list" ):
4571
4595
returned_models : List [DeploymentTypedDict ] = []
4572
4596
4573
4597
for model_alias , model_value in self .model_group_alias .items ():
4574
- model_alias_item = DeploymentTypedDict (
4575
- model_name = model_alias ,
4576
- litellm_params = LiteLLMParamsTypedDict (model = model_value ),
4598
+ returned_models .extend (
4599
+ self ._get_all_deployments (
4600
+ model_name = model_value , model_alias = model_alias
4601
+ )
4577
4602
)
4578
- returned_models .append (model_alias_item )
4579
4603
4580
4604
if model_name is None :
4581
4605
returned_models += self .model_list
4582
4606
4583
4607
return returned_models
4584
4608
4585
4609
for model in self .model_list :
4586
- if model ["model_name" ] == model_name :
4587
- returned_models .append (model )
4610
+ returned_models .extend (self ._get_all_deployments (model_name = model_name ))
4588
4611
4589
4612
return returned_models
4590
4613
return None
0 commit comments