From d993014dc6f992729587205108355040152e3d1b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 18:53:03 +0000 Subject: [PATCH] fix(azure): satisfy type-check gate in file and image format stripping Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/litellm_core_utils/prompt_templates/factory.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/litellm/litellm_core_utils/prompt_templates/factory.py b/litellm/litellm_core_utils/prompt_templates/factory.py index f9b8922d019..ebfb91f2f45 100644 --- a/litellm/litellm_core_utils/prompt_templates/factory.py +++ b/litellm/litellm_core_utils/prompt_templates/factory.py @@ -1067,13 +1067,12 @@ def _azure_tool_call_invoke_helper( def _azure_image_url_helper(content: ChatCompletionImageObject): if isinstance(content["image_url"], str): content["image_url"] = {"url": content["image_url"]} - elif isinstance(content["image_url"], dict): + else: content["image_url"].pop("format", None) def _azure_file_helper(content: ChatCompletionFileObject) -> None: - if isinstance(content.get("file"), dict): - content["file"].pop("format", None) + content.get("file", {}).pop("format", None) def convert_to_azure_openai_messages( @@ -1088,9 +1087,9 @@ def convert_to_azure_openai_messages( if m["role"] == "user" and isinstance(m.get("content"), list): for content in m.get("content", []): if isinstance(content, dict) and content.get("type") == "image_url": - _azure_image_url_helper(content) + _azure_image_url_helper(cast(ChatCompletionImageObject, content)) elif isinstance(content, dict) and content.get("type") == "file": - _azure_file_helper(content) + _azure_file_helper(cast(ChatCompletionFileObject, content)) return messages