From 82a75a9d92c396f9c4be3dd47d44858f61ac70fd Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Thu, 3 Aug 2023 13:53:38 -0700 Subject: [PATCH] fixing acompletion --- litellm/__pycache__/__init__.cpython-311.pyc | Bin 1006 -> 1080 bytes litellm/__pycache__/main.cpython-311.pyc | Bin 12603 -> 12875 bytes litellm/main.py | 8 +++++-- litellm/tests/test_async_fn.py | 21 +++++++++++++++++++ setup.py | 2 +- 5 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 litellm/tests/test_async_fn.py diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index 72f69328e0d8f3331f85a2fbb2a125cafaecd01e..8a3e54fa12e48e7791007d11698a9b9314a230c7 100644 GIT binary patch delta 230 zcmaFIzJr5zIWI340}!zPIGwU-BJZ|(?kd*wf)ZVmDlRakYhY$*T*V1t8yjU;@xhs3 zsb9PxzOkOEZb@lTQvNSN6t1qJS$35Wsu0M)Ut*|YKxJUlikNwUZYg2~5iCGrGb>{? zqc}T|b&IvMBr~VDhyx_W2_m>APiIPFRG9pa$ySJ0iRl9ajJUuc_d#y5FY{a$IiNZK DDuF%` delta 155 zcmdnN@s6E$IWI340}!ZRKb^umk$0ODOBHW=L5Z%ho~dq0X;D&s6)T8qQYD5Ws%vPL zt!rRrXj~t4v6@kw1!(9k*3y#9oZ=!@AiIbSM6geO$dtw?JK2NTR)|%J=>r3d SxWFLyfp7A3=D94=Ky?6uYbnA2 diff --git a/litellm/__pycache__/main.cpython-311.pyc b/litellm/__pycache__/main.cpython-311.pyc index e6d09b6c95b164bb9ff01ade4680d64a21ff1388..81ac3560182bc1fa0e133b26833556a3fa73438a 100644 GIT binary patch delta 3716 zcma)9TWp+16`tAqdcF6{@7?uf?Oi+GnDsg&q;cz-IF~kwgPYn>8gCn%jc4twy%%ft zcM_L>>oi0Kp{O{TLV>0b3K*(b0x5k#yyT4sK)40e=vS2&1mXo`5fCa8h;wGW>)1ii z@y_?poH=La%$aX4{@I0Juw6fNI-3Zj)Bazw?ld94$4WhUHVY4XZ|*ufZz?nwof#)3 zj4)boWnA*>$T;NJopHn0TyPgX8Bfuh@fLjh^VoLPSsdzeR?AnMWDnW{qf0Mu(uRQD$gJDM*b{YG9^@ z)BsYmlo}tA8bNB2Qd3R(DcP|J#8xRb!!Ty3*<{Vawg$IoPVt^Gor0y3ZLmO%!E9jR zlv0>~Luv;Lk16<~leuM^;}NGFVBwL{=10arsaHy!5HH`DZl75!O{@8GslvT5Z{1n1 zPfceF1@04brX=-?H%y}u-N|wbh4NA{S5l|)EJ=0qOre}rlP<9yIS`9s2s^P4cX%h|lj zqvChgxZ9#PLkEkzG?lF^m8QkV)_oy2s9~}|#@6*?5HMC+X{aM^|^Z=i48MIBISZVrZ!z3-vIreXw z&AOepjCCzA4b@CtkC+ZOZ#V501J0*|iW)?xYYEt@Xf;2Q;*N8GD&iyOE^}zbSZWb# z&a_`y^KIYX)sQ&h`nj=1YY_vEkQj4YY$dPe;cl2zO>o$*Fhx`Hv>FySyxr+0&8~%6 zxW+svMX)>{fhBGkXDN)`sj!Jrz_U?!jm3!fj{?ue#eYWly z%r>RPAD`_ts)Z&W98?aXrpwE-t9sEXIWhm0M3>M<)?J2T;L15v!e;{FG={;=#AE z?Rf<3kdGty#Tg|w*$Ty^xi z5ss+avz1C7j_i^O^BEPtR=U#9q1-z%cKX=(bEl3Uo*FrId}{RQB!3BwVhE!E$=U?@ zxQMmz|2rASAJDEg8Szoe-WLyIz2Q5b#47r$+jCc@bMj_-w-#XCSLXTIJYH0dCKrzh370HgSey`{$ZpyyMj|iEw_>upzJ$Mu zJar(3DxCfu$N7u=FHC96-16Tx9|7;~WHFPc%$N#Aq}YlA*IhFfa1*LVlW` zNBu?dYP5}Zi|<5xl==!U$_9YLkSoW89_@#dW|^Ke+_kp0TT_EC43Q6qn$GSu-naCg z?Kj@b=Pc8oyuLpS45#)Uf@<3ilf`Qn=h88@+DY} z-1MSa=1CL(63Q*}myve53H5aoK2a+8l#4-vmp}wm9NB5u4TT)Cl&?UWg~IgDiME6? z`gaRy@_sF{ZclxK0n~oCXKLT8i463s2mu3BiVjlLtz!+6$JcW zCTZKT$GPOA^kW&7Fz)=z02Lbm1{#xmcELt!jQ4eD^xSRQ{SO083qxwqjqft)fP^Q+ ziPTI#9x};zZ6-1(S5RpJ0K8nP=oZ*r=)4id*TsWWd${&2Etd-wNe|t^%4)832`1Fk z-zJ~*{9CB~73{A(hQKtMbgm^7hB{{bfS9ZdiL delta 3421 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 diff --git a/litellm/main.py b/litellm/main.py index 08dd1ac09..ee68d00aa 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -2,6 +2,7 @@ import os, openai, cohere, replicate, sys from typing import Any from anthropic import Anthropic, HUMAN_PROMPT, AI_PROMPT import traceback +from functools import partial import dotenv import traceback import litellm @@ -261,8 +262,11 @@ def completion( async def acompletion(*args, **kwargs): loop = asyncio.get_event_loop() - # Call the synchronous function using run_in_executor() - return loop.run_in_executor(None, completion, *args, **kwargs) + # Use a partial function to pass your keyword arguments + func = partial(completion, *args, **kwargs) + + # Call the synchronous function using run_in_executor + return await loop.run_in_executor(None, func) ### EMBEDDING ENDPOINTS #################### @client diff --git a/litellm/tests/test_async_fn.py b/litellm/tests/test_async_fn.py new file mode 100644 index 000000000..b0925c4b5 --- /dev/null +++ b/litellm/tests/test_async_fn.py @@ -0,0 +1,21 @@ +#### What this tests #### +# This tests the the acompletion function + +import sys, os +import pytest +import traceback +import asyncio +sys.path.insert(0, os.path.abspath('../..')) # Adds the parent directory to the system path +from litellm import acompletion + +async def test_get_response(): + user_message = "Hello, how are you?" + messages = [{ "content": user_message,"role": "user"}] + try: + response = await acompletion(model="gpt-3.5-turbo", messages=messages) + except Exception as e: + pytest.fail(f"error occurred: {e}") + return response + +response = asyncio.run(test_get_response()) +print(response) \ No newline at end of file diff --git a/setup.py b/setup.py index f3b595ad8..47c8d82db 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='litellm', - version='0.1.227', + version='0.1.228', description='Library to easily interface with LLM API providers', author='BerriAI', packages=[