diff --git a/litellm/llms/bedrock/claude_platform/common_utils.py b/litellm/llms/bedrock/claude_platform/common_utils.py index 9dc57119358..f02ade6be75 100644 --- a/litellm/llms/bedrock/claude_platform/common_utils.py +++ b/litellm/llms/bedrock/claude_platform/common_utils.py @@ -1,8 +1,12 @@ -from typing import Literal, Optional, Tuple +from typing import Literal, Optional, Protocol, Tuple import litellm from litellm._logging import verbose_logger from litellm.llms.bedrock.base_aws_llm import BaseAWSLLM + + +class _SupportsGet(Protocol): + def get(self, key: str, default: object = None) -> object: ... from litellm.secret_managers.main import get_secret_str CLAUDE_PLATFORM_SERVICE_NAME: Literal["aws-external-anthropic"] = ( @@ -74,8 +78,8 @@ def filter_claude_platform_request_body( } -def _resolve_unsupported_override( - litellm_params: dict, +def resolve_unsupported_override( + litellm_params: _SupportsGet, ) -> Optional[frozenset[str]]: """Read ``claude_platform_unsupported_params`` from litellm_params. @@ -87,7 +91,7 @@ def _resolve_unsupported_override( if raw is None: return None if isinstance(raw, (list, set, frozenset, tuple)): - return frozenset(raw) + return frozenset(str(item) for item in raw) return None diff --git a/litellm/llms/bedrock/claude_platform/messages_transformation.py b/litellm/llms/bedrock/claude_platform/messages_transformation.py index 5b9f7c2c7c2..778c8165790 100644 --- a/litellm/llms/bedrock/claude_platform/messages_transformation.py +++ b/litellm/llms/bedrock/claude_platform/messages_transformation.py @@ -10,7 +10,7 @@ from litellm.types.router import GenericLiteLLMParams from .common_utils import ( BedrockClaudePlatformMixin, - _resolve_unsupported_override, + resolve_unsupported_override, filter_claude_platform_request_body, strip_claude_platform_route, ) @@ -67,7 +67,7 @@ class BedrockClaudePlatformMessagesConfig( litellm_params: GenericLiteLLMParams, headers: dict, ) -> Dict: - unsupported_override = _resolve_unsupported_override(litellm_params) + unsupported_override = resolve_unsupported_override(litellm_params) anthropic_messages_optional_request_params = ( filter_claude_platform_request_body( anthropic_messages_optional_request_params, diff --git a/litellm/llms/bedrock/claude_platform/transformation.py b/litellm/llms/bedrock/claude_platform/transformation.py index 1b2e747db0a..e37c2f03aeb 100644 --- a/litellm/llms/bedrock/claude_platform/transformation.py +++ b/litellm/llms/bedrock/claude_platform/transformation.py @@ -7,7 +7,7 @@ from litellm.types.llms.openai import AllMessageValues from .common_utils import ( BedrockClaudePlatformMixin, - _resolve_unsupported_override, + resolve_unsupported_override, filter_claude_platform_request_body, ) @@ -94,7 +94,7 @@ class BedrockClaudePlatformConfig(BedrockClaudePlatformMixin, AnthropicConfig): litellm_params: dict, headers: dict, ) -> dict: - unsupported_override = _resolve_unsupported_override(litellm_params) + unsupported_override = resolve_unsupported_override(litellm_params) optional_params = filter_claude_platform_request_body( optional_params, unsupported_override=unsupported_override )