From 93fb247b1dcabcc2d501b6d7575e8d9f7b19584a Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Fri, 8 Sep 2023 18:45:15 -0700 Subject: [PATCH] fix exception mapping --- litellm/__pycache__/main.cpython-311.pyc | Bin 30826 -> 30846 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 90935 -> 91041 bytes litellm/utils.py | 6 +++++- pyproject.toml | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/litellm/__pycache__/main.cpython-311.pyc b/litellm/__pycache__/main.cpython-311.pyc index 8a8060b8d639ae8e498928ed46255b28857625ef..322d5745410940c03725b442b841edcea3423833 100644 GIT binary patch delta 4823 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 diff --git a/litellm/__pycache__/utils.cpython-311.pyc b/litellm/__pycache__/utils.cpython-311.pyc index 57a8d859164e19d775e23ba922f264f9f7078b60..bbb8e3fd35c9194d49e44534bf3f968b1b593287 100644 GIT binary patch delta 1746 zcmaJ=3rti;6rJ-PZ((lQN|_%f7p=hLl)BdBX}I?UAS zjH9i4jP%H2BLeBU#jDLa32TWvSb|Fz?bRA;E`PePa1Da!=|a0T`0?s1oOkRNBtMCF zVG0{dLW_x7S4Pk=OCqOReM~~CLVe>Jn{UL}M1sUioaA3F>~4^fKxKq=1%i zrX|Xr90XfHBz^%&AT?tjpSKbB?K*u;5`FKMNGEMHnG76hGD@V9>F$C{Pd!WW(x2*u zBvhGwI+9*84Ef;a^MN`Kj~Kc&2BhYx=W86ab!l|OvwhBCr_+76uxRxz!;>+(C)7-M zyzfpKKC6nQIYnlt#kcP=KDp~#|C}^)wLyfGamD|0C4D_yq)z{~ejV14^?V^&2YVoG zDT*~*@h>YWTUoiPVix_es2FiHc9~UhpJi%v=CYC4p_DAM0~Y$h@=9dT{^jG|=`%%a zsoh+=-QJSlWlHKcC3%Q0DCLG2`|;eCh37@PCffHG>?>yGgn#$crOft^DN{z$?#%kZUQr>EC#2@pBg>g?lkdjCc!Dvqa|-7O(b2%JVRQFjueo^YBXn$-~c5K+r z;VWh0`Nti9C8cv8hc}fgUDv>*ez=g0M&;gxkAQ8; zri%}FG%F344+;25nRd+~;FjXPo)5gBoW3y&C{|22rw6kPmfVhywM(c9@%HQLX;c4e*hKI55Bl?NR)_Ua?%bWtqm5<{IMJ>&4FqCrgpQCkX{_$wC4KQW&ClZD zY6T&&*BGHij@_TqWz6h0W_rlW^zh(u%vb6k*aKtyLt}c(_HOgUgQ4fmS(-VkCp|-p za`cXH$kPOjo2(~cXyVJrd&0sS^ZLSUTA=M7Yo0NT%Iq3%T{X=1TM>xZ(xy!P+U)ytMgEeqw3W>jMokSxN_7y{En+CKOYYT2r8eCHueT; uX90SEv+~|Tl%QQTEWxWnn3F@ehYZ7VwXqn@TzH)Tmf2yL8z^U%;^DslYw{=n delta 1586 zcmaJ=3v5$W7{1@Vy?x!abX(W1Y@_WS>=8EA=v`M0XhqmIkcb)i!ow^EM<{537&#=!x&C(zW<#6`_KP8 zckd}tJt>+$H<^qaTj}54^|tJ2H5=#RZR(ht4RUL%iAbde@=ob^#F0_?No3}JiCis} zAdy?8E9@E>t2m!ohF9YVdw8(CB59mghbZ#byiBKQP`iu|?|q`Ikp(X%u)QoQEz@Bm zFP7QKn;lYAttDbzpG+Fd>~Y%9*qyH)+zT^n^|F3XjM9;fWb)iijcqoU!qtzA+~K%X z&ey-zKrWP|lBn`w(2>OQqI~BdKj>c;Yi$v|Y>PUzI=(RV2Yk{1pl0T16ES$qSWk!$n=q!kQ&ZUtLUASGwq~$}~Vvj?Z6;XUG#( zS#z#yx#;+9rajhfOIpB^cF=yn$wYfm&xE;5_F9qxBRuCUxjmNLfF-xrmA=o^;~IC^ z8gNZJW@Es)-3yn@FP+Pw6TfHidf@&y8R z(4((U;?YL=x-J8H>1o-a!~67d(+52E(Z-D)Fq0#jJR*+Kfz8n-$sg|W=`frj=A9J? z(q%jMTHz2Q#m8+~;8&1nL<$hJGv;ir9f zqL5+La$H@and2I{K4)q`lNjPxiK4q#iVN5>4rZT|JUx;p#CeJJUMEWEg?pJ%(c0+Y zL3?J8eeB`rZhKz9o~Jkr$ad(sm{Eb~oDk3W5cj|+OkOuDRR+YFETTKaML>DWfDJRu zu7KWki>;8G5lq&NVVz$8yk>!!`_4Echl%rfg$5=ric`igap~D%4ExN+>I9)Lequqj zP59L&vO|qPTC1%}oe|shUCc+O=<_QU3A3?P^-3rfq=&N#57Mt3F=H`4RNceS&*QXW ziNQ&v%LG4V!pMXYfc0$j?tR8lw4O*L?wRpbL?nbUkQ&0emPzO>`1f;5YBe7dxv4WYX zMV2}_3oq$e3Oh$b4@^}*eHu9$tX8_mv8Wf-?H;@v&dfO;i?B}JI3DXoR-iNyy97}6 zi$dJs(WQJ`g#Bn!r%c0W?a&9Qyj{Zb`%zs!6Zb`M>hd}Gp4G4BmLdq8RbtAp5Pr43 i46leW#XMp|+z|At16A0~$G#zg4RQ#sk(5uWasO|f&B`hO diff --git a/litellm/utils.py b/litellm/utils.py index 874d91b9f..90f0b7c4c 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -1908,6 +1908,7 @@ def exception_type(model, original_exception, custom_llm_provider): elif custom_llm_provider == "vllm": if hasattr(original_exception, "status_code"): if original_exception.status_code == 0: + exception_mapping_worked = True raise APIConnectionError( message=f"VLLMException - {original_exception.message}", llm_provider="vllm", @@ -1931,7 +1932,10 @@ def exception_type(model, original_exception, custom_llm_provider): ): threading.Thread(target=get_all_keys, args=(e.llm_provider,)).start() # don't let an error with mapping interrupt the user from receiving an error from the llm api calls - raise original_exception + if exception_mapping_worked: + raise e + else: + raise original_exception ####### CRASH REPORTING ################ diff --git a/pyproject.toml b/pyproject.toml index 47eeabbf4..670bb1860 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm" -version = "0.1.566" +version = "0.1.567" description = "Library to easily interface with LLM API providers" authors = ["BerriAI"] license = "MIT License"