diff --git a/litellm/litellm_core_utils/prompt_templates/factory.py b/litellm/litellm_core_utils/prompt_templates/factory.py index 9b3cad5db2a..db3b2ce68a1 100644 --- a/litellm/litellm_core_utils/prompt_templates/factory.py +++ b/litellm/litellm_core_utils/prompt_templates/factory.py @@ -2488,14 +2488,13 @@ def anthropic_messages_pt( for content in user_content[user_content_start:] ) ): - cached_user_content: AnthropicMessagesUserMessageValues = copy.copy(user_content[-1]) # pyright: ignore[reportGeneralTypeIssues] # fresh copy per user message + user_content[-1] = copy.copy(user_content[-1]) add_cache_control_to_content( anthropic_content_element=cast( # cast-ok: copied TypedDict is a dict - dict[str, object], cached_user_content + dict[str, object], user_content[-1] ), original_content_element=user_message_types_block, ) - user_content[-1] = cached_user_content elif isinstance(user_message_types_block["content"], str): _anthropic_content_text_element: AnthropicMessagesTextParam = { "type": "text", @@ -2799,14 +2798,13 @@ def anthropic_messages_pt( for content in assistant_content[assistant_content_start:] ) ): - cached_assistant_content: AnthropicMessagesAssistantMessageValues = copy.copy(assistant_content[-1]) # pyright: ignore[reportGeneralTypeIssues] # fresh copy per assistant message + assistant_content[-1] = copy.copy(assistant_content[-1]) add_cache_control_to_content( anthropic_content_element=cast( # cast-ok: copied TypedDict is a dict - dict[str, object], cached_assistant_content + dict[str, object], assistant_content[-1] ), original_content_element=assistant_content_block, ) - assistant_content[-1] = cached_assistant_content msg_i += 1 @@ -4623,10 +4621,11 @@ class BedrockConverseMessagesProcessor: assistant_content.append(BedrockContentBlock(text=_assistant_content)) # If content is empty/whitespace, skip it (don't add a placeholder) # Add cache point block for assistant string content - assistant_message_cache_point_block = litellm.AmazonConverseConfig().get_cache_point_block( - assistant_message_block, block_type="content_block", model=model - ) # pyright: ignore[reportGeneralTypeIssues] # reset per assistant message - if assistant_message_cache_point_block is not None: + if ( + assistant_message_cache_point_block := litellm.AmazonConverseConfig().get_cache_point_block( + assistant_message_block, block_type="content_block", model=model + ) + ) is not None: assistant_content.append(assistant_message_cache_point_block) _tool_calls = assistant_message_block.get("tool_calls", []) @@ -4639,10 +4638,11 @@ class BedrockConverseMessagesProcessor: and assistant_message_block.get("cache_control") is not None and not any("cachePoint" in block for block in assistant_content[assistant_message_content_start:]) ): - assistant_list_cache_point_block = litellm.AmazonConverseConfig().get_cache_point_block( - assistant_message_block, block_type="content_block", model=model - ) # pyright: ignore[reportGeneralTypeIssues] # reset per assistant message - if assistant_list_cache_point_block is not None: + if ( + assistant_list_cache_point_block := litellm.AmazonConverseConfig().get_cache_point_block( + assistant_message_block, block_type="content_block", model=model + ) + ) is not None: assistant_content.append(assistant_list_cache_point_block) msg_i += 1 @@ -5023,10 +5023,11 @@ def _bedrock_converse_messages_pt( if _assistant_content.strip(): assistant_content.append(BedrockContentBlock(text=_assistant_content)) # Add cache point block for assistant string content - assistant_message_cache_point_block = litellm.AmazonConverseConfig().get_cache_point_block( - assistant_message_block, block_type="content_block", model=model - ) # pyright: ignore[reportGeneralTypeIssues] # reset per assistant message - if assistant_message_cache_point_block is not None: + if ( + assistant_message_cache_point_block := litellm.AmazonConverseConfig().get_cache_point_block( + assistant_message_block, block_type="content_block", model=model + ) + ) is not None: assistant_content.append(assistant_message_cache_point_block) _tool_calls = assistant_message_block.get("tool_calls", []) if _tool_calls: @@ -5038,10 +5039,11 @@ def _bedrock_converse_messages_pt( and assistant_message_block.get("cache_control") is not None and not any("cachePoint" in block for block in assistant_content[assistant_message_content_start:]) ): - assistant_list_cache_point_block = litellm.AmazonConverseConfig().get_cache_point_block( - assistant_message_block, block_type="content_block", model=model - ) # pyright: ignore[reportGeneralTypeIssues] # reset per assistant message - if assistant_list_cache_point_block is not None: + if ( + assistant_list_cache_point_block := litellm.AmazonConverseConfig().get_cache_point_block( + assistant_message_block, block_type="content_block", model=model + ) + ) is not None: assistant_content.append(assistant_list_cache_point_block) msg_i += 1