From 7cec308a2c4c64b800c96ce8eff73669c2d910b5 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Mon, 2 Oct 2023 12:34:13 -0700 Subject: [PATCH] fixes to get_optional_params --- litellm/__pycache__/main.cpython-311.pyc | Bin 52793 -> 52814 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 138655 -> 138660 bytes litellm/main.py | 2 +- litellm/tests/test_bad_params.py | 2 +- litellm/tests/test_completion.py | 2 +- litellm/utils.py | 2 +- 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/litellm/__pycache__/main.cpython-311.pyc b/litellm/__pycache__/main.cpython-311.pyc index 8fc681ffa25cabdf5f34c506bdfd7786f23a6014..fda9a8790cae32cc9748b1bcaf5595c9d732b144 100644 GIT binary patch delta 2178 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 O=3FRUu3s8>(eyVlY&Apx diff --git a/litellm/__pycache__/utils.cpython-311.pyc b/litellm/__pycache__/utils.cpython-311.pyc index a36ab177a47d5d0e7fa588d9ea5e74e1d2b3ae9e..4021680ec3151f69e21b7a2aaf639833a946f670 100644 GIT binary patch delta 63 zcmbQgn`6mt4&LRwyj%=G;4dkis<@H&=Nd-d$p_XtZgyTfm5a}v`2z!k42+!oag#*z NzwO)qZD(AV3IKq>7MuV8 delta 62 zcmZ3on`8cN4&LRwyj%=Gz#=4_%CnL8=Nd+y$?R+OHe0P-%*9*8^nrmv21-u8yH%>0 MWyf}w9gGW70YH2c<^TWy diff --git a/litellm/main.py b/litellm/main.py index 16d6bd29dd..ec14064b02 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -218,7 +218,7 @@ def completion( ######## end of unpacking kwargs ########### args = locals() openai_params = ["functions", "function_call", "temperature", "temperature", "top_p", "n", "stream", "stop", "max_tokens", "presence_penalty", "frequency_penalty", "logit_bias", "user", "metadata"] - litellm_params = ["return_async", "mock_response", "api_key", "api_version", "api_base", "force_timeout", "logger_fn", "verbose", "custom_llm_provider", "litellm_logging_obj", "litellm_call_id", "use_client", "id", "metadata", "fallbacks"] + litellm_params = ["caching", "return_async", "mock_response", "api_key", "api_version", "api_base", "force_timeout", "logger_fn", "verbose", "custom_llm_provider", "litellm_logging_obj", "litellm_call_id", "use_client", "id", "metadata", "fallbacks"] default_params = openai_params + litellm_params non_default_params = {k: v for k,v in kwargs.items() if k not in default_params} # model-specific params - pass them straight to the model/provider if mock_response: diff --git a/litellm/tests/test_bad_params.py b/litellm/tests/test_bad_params.py index 8cd1047af8..9d3d65d411 100644 --- a/litellm/tests/test_bad_params.py +++ b/litellm/tests/test_bad_params.py @@ -48,7 +48,7 @@ def test_completion_invalid_param_cohere(): try: response = completion(model="command-nightly", messages=messages, top_p=1) except Exception as e: - if "Function calling is not supported by this provider" in str(e): + if "Unsupported parameters passed: top_p" in str(e): pass else: pytest.fail(f'An error occurred {e}') diff --git a/litellm/tests/test_completion.py b/litellm/tests/test_completion.py index 0501527088..aa6c858f26 100644 --- a/litellm/tests/test_completion.py +++ b/litellm/tests/test_completion.py @@ -531,7 +531,7 @@ def test_completion_openai_with_more_optional_params(): except Exception as e: pytest.fail(f"Error occurred: {e}") - +test_completion_openai_with_more_optional_params() # def test_completion_openai_azure_with_functions(): # function1 = [ # { diff --git a/litellm/utils.py b/litellm/utils.py index 9db7516746..798ac457ab 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -1209,7 +1209,7 @@ def get_optional_params( # use the openai defaults if top_p: optional_params["top_p"] = top_p else: # assume passing in params for openai/azure openai - supported_params = ["functions", "function_call", "temperature", "top_p", "n", "stream", "stop", "max_tokens", "presence_penalty", "logit_bias", "user", "deployment_id"] + supported_params = ["functions", "function_call", "temperature", "top_p", "n", "stream", "stop", "max_tokens", "presence_penalty", "frequency_penalty", "logit_bias", "user", "deployment_id"] _check_valid_arg(supported_params=supported_params) optional_params = non_default_params # if user passed in non-default kwargs for specific providers/models, pass them along