From d9fb4d494c1c99a8aa718bd8149258da3972b0aa Mon Sep 17 00:00:00 2001 From: ishaan-jaff Date: Thu, 16 Nov 2023 09:51:08 -0800 Subject: [PATCH] (feat) raise exception on proxy server --- litellm/proxy/proxy_server.py | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index d98d272bd..1f50c94f3 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -540,8 +540,14 @@ async def completion(request: Request, model: Optional[str] = None): print(f"\033[1;31mAn error occurred: {e}\n\n Debug this by setting `--debug`, e.g. `litellm --model gpt-3.5-turbo --debug`") error_traceback = traceback.format_exc() error_msg = f"{str(e)}\n\n{error_traceback}" - print(error_msg) - return {"error": error_msg} + try: + status = e.status_code + except: + status = status.HTTP_500_INTERNAL_SERVER_ERROR, + raise HTTPException( + status_code=status, + detail=error_msg + ) @router.post("/v1/chat/completions", dependencies=[Depends(user_api_key_auth)]) @@ -570,7 +576,14 @@ async def chat_completion(request: Request, model: Optional[str] = None): print(f"\033[1;31mAn error occurred: {e}\n\n Debug this by setting `--debug`, e.g. `litellm --model gpt-3.5-turbo --debug`") error_traceback = traceback.format_exc() error_msg = f"{str(e)}\n\n{error_traceback}" - return {"error": error_msg} + try: + status = e.status_code + except: + status = status.HTTP_500_INTERNAL_SERVER_ERROR, + raise HTTPException( + status_code=status, + detail=error_msg + ) @router.post("/router/chat/completions", dependencies=[Depends(user_api_key_auth)]) @@ -587,7 +600,14 @@ async def router_completion(request: Request): print(f"\033[1;31mAn error occurred: {e}\n\n Debug this by setting `--debug`, e.g. `litellm --model gpt-3.5-turbo --debug`") error_traceback = traceback.format_exc() error_msg = f"{str(e)}\n\n{error_traceback}" - return {"error": error_msg} + try: + status = e.status_code + except: + status = status.HTTP_500_INTERNAL_SERVER_ERROR, + raise HTTPException( + status_code=status, + detail=error_msg + ) @router.get("/ollama_logs", dependencies=[Depends(user_api_key_auth)]) async def retrieve_server_log(request: Request):