From 1b811cd1529448c563ac11cb83d50eb1011816eb Mon Sep 17 00:00:00 2001 From: phact Date: Tue, 7 May 2024 13:24:28 -0400 Subject: [PATCH] unit test and list fix --- .../test_get_optional_params_functions_not_supported.py | 9 +++++++++ litellm/utils.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 litellm/tests/test_get_optional_params_functions_not_supported.py diff --git a/litellm/tests/test_get_optional_params_functions_not_supported.py b/litellm/tests/test_get_optional_params_functions_not_supported.py new file mode 100644 index 000000000..2abfbc41f --- /dev/null +++ b/litellm/tests/test_get_optional_params_functions_not_supported.py @@ -0,0 +1,9 @@ +import litellm +from litellm import get_optional_params + +litellm.add_function_to_prompt = True +optional_params = get_optional_params( + tools= [{'type': 'function', 'function': {'description': 'Get the current weather in a given location', 'name': 'get_current_weather', 'parameters': {'type': 'object', 'properties': {'location': {'type': 'string', 'description': 'The city and state, e.g. San Francisco, CA'}, 'unit': {'type': 'string', 'enum': ['celsius', 'fahrenheit']}}, 'required': ['location']}}}], + tool_choice= 'auto', +) +assert optional_params is not None \ No newline at end of file diff --git a/litellm/utils.py b/litellm/utils.py index 75d6f8b7f..c0241f1c3 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -5769,7 +5769,7 @@ def get_optional_params( optional_params["extra_body"] = extra_body else: # if user passed in non-default kwargs for specific providers/models, pass them along - for k in passed_params.keys(): + for k in list(passed_params.keys()): if k not in default_params.keys(): optional_params[k] = passed_params[k] print_verbose(f"Final returned optional params: {optional_params}")