From 20b3f1efed5904485ee34842463a0144c7a4e2cf Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Sat, 5 Sep 2026 02:15:16 -0700 Subject: [PATCH] refactor(openai): reuse is_openai_backed_api_base for the hosted endpoint check --- litellm/llms/openai/chat/gpt_transformation.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/litellm/llms/openai/chat/gpt_transformation.py b/litellm/llms/openai/chat/gpt_transformation.py index 17cbd5278c7..3758f6cfd25 100644 --- a/litellm/llms/openai/chat/gpt_transformation.py +++ b/litellm/llms/openai/chat/gpt_transformation.py @@ -7,7 +7,6 @@ import os from collections.abc import AsyncIterator, Coroutine, Iterator, Mapping, Sequence from types import MappingProxyType from typing import TYPE_CHECKING, Any, Final, Literal, Optional, cast, overload -from urllib.parse import urlparse import httpx @@ -57,7 +56,7 @@ from litellm.types.utils import ( ) from litellm.utils import convert_to_model_response_object -from ..common_utils import OpenAIError +from ..common_utils import OpenAIError, is_openai_backed_api_base if TYPE_CHECKING: import tiktoken @@ -80,12 +79,7 @@ def targets_openai_hosted_endpoint(custom_llm_provider: str | None, api_base: st resolved_api_base: Final = ( api_base or litellm.api_base or os.getenv("OPENAI_BASE_URL") or os.getenv("OPENAI_API_BASE") ) - if not resolved_api_base: - return True - hostname: Final = urlparse(resolved_api_base).hostname - if hostname is None: - return True - return hostname == "openai.com" or hostname.endswith(".openai.com") + return not resolved_api_base or is_openai_backed_api_base(resolved_api_base) def translate_developer_role_for_openai_compatible_endpoint(