From 93c41e8f6dd48f922a1cc8725e01402656054c5e Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Wed, 20 Sep 2023 14:16:53 -0700 Subject: [PATCH] decouple model list from hardcoded package variables --- litellm/__init__.py | 122 ++++++------------- litellm/__pycache__/__init__.cpython-311.pyc | Bin 10112 -> 10846 bytes litellm/__pycache__/main.cpython-311.pyc | Bin 44256 -> 47108 bytes litellm/tests/test_get_model_cost_map.py | 7 +- 4 files changed, 43 insertions(+), 86 deletions(-) diff --git a/litellm/__init__.py b/litellm/__init__.py index 49b8b2668d..f7fada2413 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -78,39 +78,43 @@ config_path = None ####### Secret Manager ##################### secret_manager_client = None ####### COMPLETION MODELS ################### -open_ai_chat_completion_models: List = [ - "gpt-4", - "gpt-4-0613", - "gpt-4-0314", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-32k-0613", - ################# - "gpt-3.5-turbo", - "gpt-3.5-turbo-0301", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-16k-0613", -] -open_ai_text_completion_models: List = [ - "gpt-3.5-turbo-instruct", - "text-davinci-003", - "text-curie-001", - "text-babbage-001", - "text-ada-001", - "babbage-002", - "davinci-002", -] - -cohere_models: List = [ - "command-nightly", - "command", - "command-light", - "command-medium-beta", - "command-xlarge-beta", -] - -anthropic_models: List = ["claude-2", "claude-instant-1", "claude-instant-1.2"] +open_ai_chat_completion_models: List = [] +open_ai_text_completion_models: List = [] +cohere_models: List = [] +anthropic_models: List = [] +openrouter_models: List = [] +vertex_chat_models: List = [] +vertex_code_chat_models: List = [] +vertex_text_models: List = [] +vertex_code_text_models: List = [] +ai21_models: List = [] +nlp_cloud_models: List = [] +aleph_alpha_models: List = [] +for key, value in model_cost.items(): + if value.get('litellm_provider') == 'openai': + open_ai_chat_completion_models.append(key) + elif value.get('litellm_provider') == 'text-completion-openai': + open_ai_text_completion_models.append(key) + elif value.get('litellm_provider') == 'cohere': + cohere_models.append(key) + elif value.get('litellm_provider') == 'anthropic': + anthropic_models.append(key) + elif value.get('litellm_provider') == 'openrouter': + openrouter_models.append(key) + elif value.get('litellm_provider') == 'vertex_ai-text-models': + vertex_text_models.append(key) + elif value.get('litellm_provider') == 'vertex_ai-code-text-models': + vertex_code_text_models.append(key) + elif value.get('litellm_provider') == 'vertex_ai-chat-models': + vertex_chat_models.append(key) + elif value.get('litellm_provider') == 'vertex_ai-code-chat-models': + vertex_code_chat_models.append(key) + elif value.get('litellm_provider') == 'ai21': + ai21_models.append(key) + elif value.get('litellm_provider') == 'nlp_cloud': + nlp_cloud_models.append(key) + elif value.get('litellm_provider') == 'aleph_alpha': + aleph_alpha_models.append(key) # well supported replicate llms replicate_models: List = [ @@ -128,44 +132,6 @@ replicate_models: List = [ "replit/replit-code-v1-3b:b84f4c074b807211cd75e3e8b1589b6399052125b4c27106e43d47189e8415ad", ] -openrouter_models: List = [ - "google/palm-2-codechat-bison", - "google/palm-2-chat-bison", - "openai/gpt-3.5-turbo", - "openai/gpt-3.5-turbo-16k", - "openai/gpt-4-32k", - "anthropic/claude-2", - "anthropic/claude-instant-v1", - "meta-llama/llama-2-13b-chat", - "meta-llama/llama-2-70b-chat", -] - -vertex_chat_models: List = [ - "chat-bison-32k", - "chat-bison", - "chat-bison@001", -] - -vertex_code_chat_models: List = [ - "codechat-bison", - "codechat-bison-32k", - "codechat-bison@001", -] - -vertex_text_models: List = [ - "text-bison", - "text-bison@001", - # "text-bison-32k", -] - -vertex_code_text_models: List = [ - "code-bison", - # "code-bison-32K", - "code-bison@001", - "code-gecko@001", - "code-gecko@latest", -] - huggingface_models: List = [ "meta-llama/Llama-2-7b-hf", "meta-llama/Llama-2-7b-chat-hf", @@ -181,10 +147,6 @@ huggingface_models: List = [ "meta-llama/Llama-2-70b-chat", ] # these have been tested on extensively. But by default all text2text-generation and text-generation models are supported by liteLLM. - https://docs.litellm.ai/docs/providers -ai21_models: List = ["j2-ultra", "j2-mid", "j2-light"] - -nlp_cloud_models: List = ["dolphin", "chatdolphin"] - together_ai_models: List = [ # llama llms - chat "togethercomputer/llama-2-70b-chat", @@ -222,14 +184,6 @@ together_ai_models: List = [ ] # supports all together ai models, just pass in the model id e.g. completion(model="together_computer/replit_code_3b",...) -aleph_alpha_models: List = [ - "luminous-base", - "luminous-base-control", - "luminous-extended", - "luminous-extended-control", - "luminous-supreme", - "luminous-supreme-control" -] baseten_models: List = ["qvv0xeq", "q841o8w", "31dxrj3"] # FALCON 7B # WizardLM # Mosaic ML @@ -332,4 +286,4 @@ from .exceptions import ( BudgetExceededError ) -from .budget_manager import BudgetManager +from .budget_manager import BudgetManager \ No newline at end of file diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index 2e536cdea61ae7dc335bc45ba24fd26b9ecf32ae..709d54116fadc7b54e0c9f47acef805519c4464e 100644 GIT binary patch delta 3292 zcmb7G%TF6e93GnxW&u-T0>S2COpFsAZh(X&ZF!l8NeJ&pNLERS!%l36UE5h3ns71n zQW_zZYJ1?&1L>ims(Ofgse0+-FPL3fvSn3$sK;KCV{e@q76&jCcQt&o-|zRE@0;K3 z$YOQ;w;9t*lc^Ap=dTAvsN!>z#TYGob#Wyx#&@Dqs93nzNpe2GcQMwevu?(kbk@UI zv(9=MYtfmTF_+Hz7<*S|{fu4G*#Kj$I%^(ev`wcT#@cl@#MouZ(53AgN(-!y4S-GK z{hoV90Qj5yFdE*zMY}ru2v@!~0PrpO+kJ$NMX~|_xdL@=kLbYz6S{eDg#m1I9HAa# zi?ZaeX5_namKTnYKU)1-M!h?hv%HeC{Pm1{&xz{0{gcD_C1?5fGV;AA%Cr87`kUj_ zV_8T4zAk?b_2(+TY1ptIXON};K}LUo=)`bN9~7u|+yx5pLh+wcO};(^@0CA8P$mh8)=PtmT@ z+-^Iiq@Q%rzDDA>5&hf9_i3z< z9qPOoh(zVbv~rPxNFhk`1yK}<27PWNx7p34SIb@me-ZLwwj`ENG<)BB(lZD*KAXHu|F;}Vo}27?MRR8Wy^o8@AzPMYgAbG>SIB+QQ2pwe*R4TZJg)&BMJ zR6+44&pv*J&zx5a9Ek$Q4%7--W4NF-1)WLg(x7W+L51xJ*pAsqaV4Kwo?CEPgUUG* zoD(^Et=p=913p^UZWY-^QaDsj;cY__L#s>%Ix`ud{edY YHBf$Us4>(kPaXBf5kve($Ir%p0qd?9&Hw-a delta 2574 zcmZvcO>7%g5XaY!lQd53+Kx-Unl^=2O-i?p?KCZrwn>_%`Do*OHAxqWS$iMOCi`~X z^}1^J;&LnElCnr}0IA{t;)r}hLI{Z)7nc*-1A;R`N=~4jn0bD7;}Jo)eUFK&~+ICMV~C zTxCS$hxy&6D1N zoEwacadHL7G$U6zxd!AWBjc>jgfa<9ai)a|JJ8Lc_idv*% zhFJ1Ge5lDLG=|WHft$o6X=*4$D-1Q+N3xn+REP*oaSK;2>qC|ZTibwuTu8VfS+_P# zBd=z8k+Q$@Z*Qs1KAtm-oJL}KS)*b?%)$)WP1zDNYQfO$?nBZ2NEBBttFeaTvAbVI zMLfsQfyju6mnb6ZCEio4zMQ^#pEXupm?b`l+kF%^L)0{x$}y(Ua6Fk2vEf$+FAZ0N zZWw1bjiN=&{Y?yJOZD}zj{FB!9^ALb;kvky2gHO!P9r{8qH(_>jr&(!XCq_Px~kQj zU&7&%?PvF{y5ZGZ%It<|F{L)G&-PeAE?7F(`vYLqV9^6*N(DIwA?zZEG)SQs6<2*HsJ>Bp6_iuyS#?Mt&T^}yc`L*|4yW3V@i1VU1 zarrKMZ39oMu)0fBxlN& zYUl;?oTCh!>N1~TJeVmeIRaNm*5Pw!njbr#5A?Tx10fIm7yfH4|1_}NRND0g2EDsN zO)A2PXFhN}$UNRXW*t9*DK+6KM=%9s4`nyn(gki!9tWOS;9&;H9!gJ!WY;_bs2)}}RK z3Y$~dHIYeFbUIz;2e*E4*_OD(4`%yPOs8EJ5JU1QU~OFhMRi0U)e|8q5HTteLj)f~)Dgk#%0=gL zVwfEkM#QKQN+OsT=krCi76mu%z(&tV28_B;)W}*+u8h6pe#7io zz6Tw+xF2GTnxhsqe+ExKiikO48ATCs6kQZ%uZoclMNEf{2rbXKsL~79E*wEu@lFJZ zTKqVIui-N|nit6%Gqd3n3k@f#BE~Tb8^7q#PpMe(n*|3kdS!bH-=5@Y0f;XLaQfsd zz5vV|-})Nh*Og|FsB94qk|LgaQGjLk+*! z{C_ugYoSrNE7aU4F4(tzb+^`4boU7h_O0rs9ai;?(7QYgtu)`0To#_Q4+d%QMnb;Ro?*$1avgkehpQ{e7VG`MA`Qib*X=O|mvEB|XnImvIjN(6WD` z;Y|JO#!sIlM$(0E4>JGPzX=e+DEwzXF zzk=2x$d9H9qCTRBN+dSZy@_43+Ii@PZcg2FiuKyvq(Q@#e_7M6?ZJ!BwDjpuMp)g59KF8FL8e!MMmJ2opN`&f-7q{ z@ZcFX%O8^~8P delta 370 zcmZqq!1UlI6W?-PUM>b8xE{cjDt2cgp9EvtMs+SGMz_sIOkWrcQiYfpQbkhimoYLh ztOjBTNM}fqNwH611VfoL_7sN}#$`aM)eMsv`NhPGJmY&~)ECk0qpY^Y&?WY^+{DlUHs2H7AFe%^%2o$1*u*LE2>A#f|K@ zSPP0W^GYU9UaZ0NgJtvH#VZ-v!huTuux!p*s?EyiH+jY?Sp{F9h$izb*37(=)QTcc zpi7FPK|-uWNg#IQdn0)hVoLKq&Y{LKm diff --git a/litellm/tests/test_get_model_cost_map.py b/litellm/tests/test_get_model_cost_map.py index e8d751af89..e006f49f42 100644 --- a/litellm/tests/test_get_model_cost_map.py +++ b/litellm/tests/test_get_model_cost_map.py @@ -5,6 +5,9 @@ sys.path.insert( 0, os.path.abspath("../..") ) # Adds the parent directory to the system path import time -from litellm import get_max_tokens +from litellm import get_max_tokens, model_cost, open_ai_chat_completion_models -print(get_max_tokens("gpt-3.5-turbo")) \ No newline at end of file +print(get_max_tokens("gpt-3.5-turbo")) + +print(model_cost) +print(open_ai_chat_completion_models)