diff --git a/litellm/llms/anthropic.py b/litellm/llms/anthropic.py index 24d889b0f4..377235deeb 100644 --- a/litellm/llms/anthropic.py +++ b/litellm/llms/anthropic.py @@ -84,6 +84,48 @@ class AnthropicConfig: and v is not None } + def get_supported_openai_params(self): + return [ + "stream", + "stop", + "temperature", + "top_p", + "max_tokens", + "tools", + "tool_choice", + ] + + def map_openai_params(self, non_default_params: dict, optional_params: dict): + for param, value in non_default_params.items(): + if param == "max_tokens": + optional_params["max_tokens"] = value + if param == "tools": + optional_params["tools"] = value + if param == "stream": + optional_params["stream"] = value + if param == "stop": + if isinstance(value, str): + if ( + value == "\n" + ): # anthropic doesn't allow whitespace characters as stop-sequences + continue + value = [value] + elif isinstance(value, list): + new_v = [] + for v in value: + if ( + v == "\n" + ): # anthropic doesn't allow whitespace characters as stop-sequences + continue + new_v.append(v) + value = new_v + optional_params["stop_sequences"] = value + if param == "temperature": + optional_params["temperature"] = value + if param == "top_p": + optional_params["top_p"] = value + return optional_params + # makes headers for API call def validate_environment(api_key, user_headers):