From 3aeada232e4278f7ea431a78acbc914a069dab54 Mon Sep 17 00:00:00 2001 From: ishaan-jaff Date: Wed, 13 Mar 2024 08:03:28 -0700 Subject: [PATCH] (fix) return 429 error --- litellm/proxy/proxy_server.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index b5b68df0c..aa1ce76fe 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -171,6 +171,15 @@ class ProxyException(Exception): self.param = param self.code = code + # rules for proxyExceptions + # Litellm router.py returns "No healthy deployment available" when there are no deployments available + # Should map to 429 errors https://github.com/BerriAI/litellm/issues/2487 + if ( + "No healthy deployment available" in self.message + or "No deployments available" in self.message + ): + self.code = 429 + def to_dict(self) -> dict: """Converts the ProxyException instance to a dictionary.""" return { @@ -2907,10 +2916,7 @@ async def chat_completion( param=getattr(e, "param", "None"), code=getattr(e, "status_code", status.HTTP_400_BAD_REQUEST), ) - else: - error_traceback = traceback.format_exc() - error_msg = f"{str(e)}\n\n{error_traceback}" - + error_msg = f"{str(e)}" raise ProxyException( message=getattr(e, "message", error_msg), type=getattr(e, "type", "None"),