diff --git a/litellm/router.py b/litellm/router.py index ca28dcb07..ad3129304 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -2435,18 +2435,6 @@ class Router: """ Common checks for 'get_available_deployment' across sync + async call. """ - if specific_deployment == True: - # users can also specify a specific deployment name. At this point we should check if they are just trying to call a specific deployment - for deployment in self.model_list: - deployment_model = deployment.get("litellm_params").get("model") - if deployment_model == model: - # User Passed a specific deployment name on their config.yaml, example azure/chat-gpt-v-2 - # return the first deployment where the `model` matches the specificed deployment name - return deployment - raise ValueError( - f"LiteLLM Router: Trying to call specific deployment, but Model:{model} does not exist in Model List: {self.model_list}" - ) - # check if aliases set on litellm model alias map if model in self.model_group_alias: verbose_router_logger.debug( @@ -2507,6 +2495,19 @@ class Router: input=input, specific_deployment=specific_deployment, ) + + if specific_deployment == True: + # users can also specify a specific deployment name. At this point we should check if they are just trying to call a specific deployment + for deployment in self.model_list: + deployment_model = deployment.get("litellm_params").get("model") + if deployment_model == model: + # User Passed a specific deployment name on their config.yaml, example azure/chat-gpt-v-2 + # return the first deployment where the `model` matches the specificed deployment name + return deployment + raise ValueError( + f"LiteLLM Router: Trying to call specific deployment, but Model:{model} does not exist in Model List: {self.model_list}" + ) + model, healthy_deployments = self._common_checks_available_deployment( model=model, messages=messages, @@ -2571,6 +2572,17 @@ class Router: """ # users need to explicitly call a specific deployment, by setting `specific_deployment = True` as completion()/embedding() kwarg # When this was no explicit we had several issues with fallbacks timing out + if specific_deployment == True: + # users can also specify a specific deployment name. At this point we should check if they are just trying to call a specific deployment + for deployment in self.model_list: + deployment_model = deployment.get("litellm_params").get("model") + if deployment_model == model: + # User Passed a specific deployment name on their config.yaml, example azure/chat-gpt-v-2 + # return the first deployment where the `model` matches the specificed deployment name + return deployment + raise ValueError( + f"LiteLLM Router: Trying to call specific deployment, but Model:{model} does not exist in Model List: {self.model_list}" + ) model, healthy_deployments = self._common_checks_available_deployment( model=model,