[Refactor] - Lazy load 41 configuration classes (#18267)

This commit is contained in:
Alexsander Hamir 2025-12-19 14:19:22 -08:00 • committed by GitHub
parent 5b1fda02fb
commit d9181c188e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 387 additions and 38 deletions

View file

@ -1063,46 +1063,8 @@ from .utils import client
# Note: Most other utils imports are lazy-loaded via __getattr__ to avoid loading utils.py
# (which imports tiktoken) at import time
from .llms.bytez.chat.transformation import BytezChatConfig
from .llms.custom_llm import CustomLLM
from .llms.aiohttp_openai.chat.transformation import AiohttpOpenAIChatConfig
from .llms.github.chat.transformation import GithubChatConfig
from .llms.compactifai.chat.transformation import CompactifAIChatConfig
from .llms.empower.chat.transformation import EmpowerChatConfig
from .llms.huggingface.chat.transformation import HuggingFaceChatConfig
from .llms.huggingface.embedding.transformation import HuggingFaceEmbeddingConfig
from .llms.oobabooga.chat.transformation import OobaboogaConfig
from .llms.maritalk import MaritalkConfig
from .llms.openrouter.chat.transformation import OpenrouterConfig
from .llms.datarobot.chat.transformation import DataRobotConfig
from .llms.anthropic.chat.transformation import AnthropicConfig
from .llms.anthropic.common_utils import AnthropicModelInfo
from .llms.azure_ai.anthropic.transformation import AzureAnthropicConfig
from .llms.groq.stt.transformation import GroqSTTConfig
from .llms.anthropic.completion.transformation import AnthropicTextConfig
from .llms.triton.completion.transformation import TritonConfig
from .llms.triton.completion.transformation import TritonGenerateConfig
from .llms.triton.completion.transformation import TritonInferConfig
from .llms.triton.embedding.transformation import TritonEmbeddingConfig
from .llms.huggingface.rerank.transformation import HuggingFaceRerankConfig
from .llms.databricks.chat.transformation import DatabricksConfig
from .llms.databricks.embed.transformation import DatabricksEmbeddingConfig
from .llms.predibase.chat.transformation import PredibaseConfig
from .llms.replicate.chat.transformation import ReplicateConfig
from .llms.snowflake.chat.transformation import SnowflakeConfig
from .llms.cohere.rerank.transformation import CohereRerankConfig
from .llms.cohere.rerank_v2.transformation import CohereRerankV2Config
from .llms.azure_ai.rerank.transformation import AzureAIRerankConfig
from .llms.infinity.rerank.transformation import InfinityRerankConfig
from .llms.jina_ai.rerank.transformation import JinaAIRerankConfig
from .llms.deepinfra.rerank.transformation import DeepinfraRerankConfig
from .llms.hosted_vllm.rerank.transformation import HostedVLLMRerankConfig
from .llms.nvidia_nim.rerank.transformation import NvidiaNimRerankConfig
from .llms.nvidia_nim.rerank.ranking_transformation import NvidiaNimRankingConfig
from .llms.vertex_ai.rerank.transformation import VertexAIRerankConfig
from .llms.fireworks_ai.rerank.transformation import FireworksAIRerankConfig
from .llms.voyage.rerank.transformation import VoyageRerankConfig
from .llms.clarifai.chat.transformation import ClarifaiConfig
from .llms.ai21.chat.transformation import AI21ChatConfig, AI21ChatConfig as AI21Config
from .llms.meta_llama.chat.transformation import LlamaAPIConfig
from .llms.anthropic.experimental_pass_through.messages.transformation import (
@ -1510,6 +1472,51 @@ if TYPE_CHECKING:
from litellm.types.utils import ModelInfo as _ModelInfoType
from litellm.llms.custom_httpx.http_handler import AsyncHTTPHandler, HTTPHandler
from litellm.caching.caching import Cache
# Type stubs for lazy-loaded configs to help mypy
from .llms.bedrock.chat.converse_transformation import AmazonConverseConfig as AmazonConverseConfig
from .llms.openai_like.chat.handler import OpenAILikeChatConfig as OpenAILikeChatConfig
from .llms.galadriel.chat.transformation import GaladrielChatConfig as GaladrielChatConfig
from .llms.github.chat.transformation import GithubChatConfig as GithubChatConfig
from .llms.azure_ai.anthropic.transformation import AzureAnthropicConfig as AzureAnthropicConfig
from .llms.bytez.chat.transformation import BytezChatConfig as BytezChatConfig
from .llms.compactifai.chat.transformation import CompactifAIChatConfig as CompactifAIChatConfig
from .llms.empower.chat.transformation import EmpowerChatConfig as EmpowerChatConfig
from .llms.aiohttp_openai.chat.transformation import AiohttpOpenAIChatConfig as AiohttpOpenAIChatConfig
from .llms.huggingface.chat.transformation import HuggingFaceChatConfig as HuggingFaceChatConfig
from .llms.huggingface.embedding.transformation import HuggingFaceEmbeddingConfig as HuggingFaceEmbeddingConfig
from .llms.oobabooga.chat.transformation import OobaboogaConfig as OobaboogaConfig
from .llms.maritalk import MaritalkConfig as MaritalkConfig
from .llms.openrouter.chat.transformation import OpenrouterConfig as OpenrouterConfig
from .llms.datarobot.chat.transformation import DataRobotConfig as DataRobotConfig
from .llms.anthropic.chat.transformation import AnthropicConfig as AnthropicConfig
from .llms.anthropic.completion.transformation import AnthropicTextConfig as AnthropicTextConfig
from .llms.groq.stt.transformation import GroqSTTConfig as GroqSTTConfig
from .llms.triton.completion.transformation import TritonConfig as TritonConfig
from .llms.triton.completion.transformation import TritonGenerateConfig as TritonGenerateConfig
from .llms.triton.completion.transformation import TritonInferConfig as TritonInferConfig
from .llms.triton.embedding.transformation import TritonEmbeddingConfig as TritonEmbeddingConfig
from .llms.huggingface.rerank.transformation import HuggingFaceRerankConfig as HuggingFaceRerankConfig
from .llms.databricks.chat.transformation import DatabricksConfig as DatabricksConfig
from .llms.databricks.embed.transformation import DatabricksEmbeddingConfig as DatabricksEmbeddingConfig
from .llms.predibase.chat.transformation import PredibaseConfig as PredibaseConfig
from .llms.replicate.chat.transformation import ReplicateConfig as ReplicateConfig
from .llms.snowflake.chat.transformation import SnowflakeConfig as SnowflakeConfig
from .llms.cohere.rerank.transformation import CohereRerankConfig as CohereRerankConfig
from .llms.cohere.rerank_v2.transformation import CohereRerankV2Config as CohereRerankV2Config
from .llms.azure_ai.rerank.transformation import AzureAIRerankConfig as AzureAIRerankConfig
from .llms.infinity.rerank.transformation import InfinityRerankConfig as InfinityRerankConfig
from .llms.jina_ai.rerank.transformation import JinaAIRerankConfig as JinaAIRerankConfig
from .llms.deepinfra.rerank.transformation import DeepinfraRerankConfig as DeepinfraRerankConfig
from .llms.hosted_vllm.rerank.transformation import HostedVLLMRerankConfig as HostedVLLMRerankConfig
from .llms.nvidia_nim.rerank.transformation import NvidiaNimRerankConfig as NvidiaNimRerankConfig
from .llms.nvidia_nim.rerank.ranking_transformation import NvidiaNimRankingConfig as NvidiaNimRankingConfig
from .llms.vertex_ai.rerank.transformation import VertexAIRerankConfig as VertexAIRerankConfig
from .llms.fireworks_ai.rerank.transformation import FireworksAIRerankConfig as FireworksAIRerankConfig
from .llms.voyage.rerank.transformation import VoyageRerankConfig as VoyageRerankConfig
from .llms.clarifai.chat.transformation import ClarifaiConfig as ClarifaiConfig
from .llms.ai21.chat.transformation import AI21ChatConfig as AI21ChatConfig
from .llms.ai21.chat.transformation import AI21Config as AI21Config
from litellm.caching.llm_caching_handler import LLMClientCache
from litellm.types.llms.bedrock import COHERE_EMBEDDING_INPUT_TYPES
from litellm.types.utils import (

View file

@ -159,6 +159,44 @@ LLM_CONFIG_NAMES = (
"AmazonConverseConfig",
"OpenAILikeChatConfig",
"GaladrielChatConfig",
"GithubChatConfig",
"AzureAnthropicConfig",
"BytezChatConfig",
"CompactifAIChatConfig",
"EmpowerChatConfig",
"AiohttpOpenAIChatConfig",
"HuggingFaceChatConfig",
"HuggingFaceEmbeddingConfig",
"OobaboogaConfig",
"MaritalkConfig",
"OpenrouterConfig",
"DataRobotConfig",
"AnthropicConfig",
"AnthropicTextConfig",
"GroqSTTConfig",
"TritonConfig",
"TritonGenerateConfig",
"TritonInferConfig",
"TritonEmbeddingConfig",
"HuggingFaceRerankConfig",
"DatabricksConfig",
"DatabricksEmbeddingConfig",
"PredibaseConfig",
"ReplicateConfig",
"SnowflakeConfig",
"CohereRerankConfig",
"CohereRerankV2Config",
"AzureAIRerankConfig",
"InfinityRerankConfig",
"JinaAIRerankConfig",
"DeepinfraRerankConfig",
"HostedVLLMRerankConfig",
"NvidiaNimRerankConfig",
"NvidiaNimRankingConfig",
"VertexAIRerankConfig",
"FireworksAIRerankConfig",
"VoyageRerankConfig",
"ClarifaiConfig",
)
# Types that support lazy loading via _lazy_import_types
@ -669,4 +707,308 @@ def _lazy_import_llm_configs(name: str) -> Any:
_globals["GaladrielChatConfig"] = _GaladrielChatConfig
return _GaladrielChatConfig
if name == "GithubChatConfig":
from .llms.github.chat.transformation import (
GithubChatConfig as _GithubChatConfig,
)
_globals["GithubChatConfig"] = _GithubChatConfig
return _GithubChatConfig
if name == "AzureAnthropicConfig":
from .llms.azure_ai.anthropic.transformation import (
AzureAnthropicConfig as _AzureAnthropicConfig,
)
_globals["AzureAnthropicConfig"] = _AzureAnthropicConfig
return _AzureAnthropicConfig
if name == "BytezChatConfig":
from .llms.bytez.chat.transformation import (
BytezChatConfig as _BytezChatConfig,
)
_globals["BytezChatConfig"] = _BytezChatConfig
return _BytezChatConfig
if name == "CompactifAIChatConfig":
from .llms.compactifai.chat.transformation import (
CompactifAIChatConfig as _CompactifAIChatConfig,
)
_globals["CompactifAIChatConfig"] = _CompactifAIChatConfig
return _CompactifAIChatConfig
if name == "EmpowerChatConfig":
from .llms.empower.chat.transformation import (
EmpowerChatConfig as _EmpowerChatConfig,
)
_globals["EmpowerChatConfig"] = _EmpowerChatConfig
return _EmpowerChatConfig
if name == "AiohttpOpenAIChatConfig":
from .llms.aiohttp_openai.chat.transformation import (
AiohttpOpenAIChatConfig as _AiohttpOpenAIChatConfig,
)
_globals["AiohttpOpenAIChatConfig"] = _AiohttpOpenAIChatConfig
return _AiohttpOpenAIChatConfig
if name == "HuggingFaceChatConfig":
from .llms.huggingface.chat.transformation import (
HuggingFaceChatConfig as _HuggingFaceChatConfig,
)
_globals["HuggingFaceChatConfig"] = _HuggingFaceChatConfig
return _HuggingFaceChatConfig
if name == "HuggingFaceEmbeddingConfig":
from .llms.huggingface.embedding.transformation import (
HuggingFaceEmbeddingConfig as _HuggingFaceEmbeddingConfig,
)
_globals["HuggingFaceEmbeddingConfig"] = _HuggingFaceEmbeddingConfig
return _HuggingFaceEmbeddingConfig
if name == "OobaboogaConfig":
from .llms.oobabooga.chat.transformation import (
OobaboogaConfig as _OobaboogaConfig,
)
_globals["OobaboogaConfig"] = _OobaboogaConfig
return _OobaboogaConfig
if name == "MaritalkConfig":
from .llms.maritalk import (
MaritalkConfig as _MaritalkConfig,
)
_globals["MaritalkConfig"] = _MaritalkConfig
return _MaritalkConfig
if name == "OpenrouterConfig":
from .llms.openrouter.chat.transformation import (
OpenrouterConfig as _OpenrouterConfig,
)
_globals["OpenrouterConfig"] = _OpenrouterConfig
return _OpenrouterConfig
if name == "DataRobotConfig":
from .llms.datarobot.chat.transformation import (
DataRobotConfig as _DataRobotConfig,
)
_globals["DataRobotConfig"] = _DataRobotConfig
return _DataRobotConfig
if name == "AnthropicConfig":
from .llms.anthropic.chat.transformation import (
AnthropicConfig as _AnthropicConfig,
)
_globals["AnthropicConfig"] = _AnthropicConfig
return _AnthropicConfig
if name == "AnthropicTextConfig":
from .llms.anthropic.completion.transformation import (
AnthropicTextConfig as _AnthropicTextConfig,
)
_globals["AnthropicTextConfig"] = _AnthropicTextConfig
return _AnthropicTextConfig
if name == "GroqSTTConfig":
from .llms.groq.stt.transformation import (
GroqSTTConfig as _GroqSTTConfig,
)
_globals["GroqSTTConfig"] = _GroqSTTConfig
return _GroqSTTConfig
if name == "TritonConfig":
from .llms.triton.completion.transformation import (
TritonConfig as _TritonConfig,
)
_globals["TritonConfig"] = _TritonConfig
return _TritonConfig
if name == "TritonGenerateConfig":
from .llms.triton.completion.transformation import (
TritonGenerateConfig as _TritonGenerateConfig,
)
_globals["TritonGenerateConfig"] = _TritonGenerateConfig
return _TritonGenerateConfig
if name == "TritonInferConfig":
from .llms.triton.completion.transformation import (
TritonInferConfig as _TritonInferConfig,
)
_globals["TritonInferConfig"] = _TritonInferConfig
return _TritonInferConfig
if name == "TritonEmbeddingConfig":
from .llms.triton.embedding.transformation import (
TritonEmbeddingConfig as _TritonEmbeddingConfig,
)
_globals["TritonEmbeddingConfig"] = _TritonEmbeddingConfig
return _TritonEmbeddingConfig
if name == "HuggingFaceRerankConfig":
from .llms.huggingface.rerank.transformation import (
HuggingFaceRerankConfig as _HuggingFaceRerankConfig,
)
_globals["HuggingFaceRerankConfig"] = _HuggingFaceRerankConfig
return _HuggingFaceRerankConfig
if name == "DatabricksConfig":
from .llms.databricks.chat.transformation import (
DatabricksConfig as _DatabricksConfig,
)
_globals["DatabricksConfig"] = _DatabricksConfig
return _DatabricksConfig
if name == "DatabricksEmbeddingConfig":
from .llms.databricks.embed.transformation import (
DatabricksEmbeddingConfig as _DatabricksEmbeddingConfig,
)
_globals["DatabricksEmbeddingConfig"] = _DatabricksEmbeddingConfig
return _DatabricksEmbeddingConfig
if name == "PredibaseConfig":
from .llms.predibase.chat.transformation import (
PredibaseConfig as _PredibaseConfig,
)
_globals["PredibaseConfig"] = _PredibaseConfig
return _PredibaseConfig
if name == "ReplicateConfig":
from .llms.replicate.chat.transformation import (
ReplicateConfig as _ReplicateConfig,
)
_globals["ReplicateConfig"] = _ReplicateConfig
return _ReplicateConfig
if name == "SnowflakeConfig":
from .llms.snowflake.chat.transformation import (
SnowflakeConfig as _SnowflakeConfig,
)
_globals["SnowflakeConfig"] = _SnowflakeConfig
return _SnowflakeConfig
if name == "CohereRerankConfig":
from .llms.cohere.rerank.transformation import (
CohereRerankConfig as _CohereRerankConfig,
)
_globals["CohereRerankConfig"] = _CohereRerankConfig
return _CohereRerankConfig
if name == "CohereRerankV2Config":
from .llms.cohere.rerank_v2.transformation import (
CohereRerankV2Config as _CohereRerankV2Config,
)
_globals["CohereRerankV2Config"] = _CohereRerankV2Config
return _CohereRerankV2Config
if name == "AzureAIRerankConfig":
from .llms.azure_ai.rerank.transformation import (
AzureAIRerankConfig as _AzureAIRerankConfig,
)
_globals["AzureAIRerankConfig"] = _AzureAIRerankConfig
return _AzureAIRerankConfig
if name == "InfinityRerankConfig":
from .llms.infinity.rerank.transformation import (
InfinityRerankConfig as _InfinityRerankConfig,
)
_globals["InfinityRerankConfig"] = _InfinityRerankConfig
return _InfinityRerankConfig
if name == "JinaAIRerankConfig":
from .llms.jina_ai.rerank.transformation import (
JinaAIRerankConfig as _JinaAIRerankConfig,
)
_globals["JinaAIRerankConfig"] = _JinaAIRerankConfig
return _JinaAIRerankConfig
if name == "DeepinfraRerankConfig":
from .llms.deepinfra.rerank.transformation import (
DeepinfraRerankConfig as _DeepinfraRerankConfig,
)
_globals["DeepinfraRerankConfig"] = _DeepinfraRerankConfig
return _DeepinfraRerankConfig
if name == "HostedVLLMRerankConfig":
from .llms.hosted_vllm.rerank.transformation import (
HostedVLLMRerankConfig as _HostedVLLMRerankConfig,
)
_globals["HostedVLLMRerankConfig"] = _HostedVLLMRerankConfig
return _HostedVLLMRerankConfig
if name == "NvidiaNimRerankConfig":
from .llms.nvidia_nim.rerank.transformation import (
NvidiaNimRerankConfig as _NvidiaNimRerankConfig,
)
_globals["NvidiaNimRerankConfig"] = _NvidiaNimRerankConfig
return _NvidiaNimRerankConfig
if name == "NvidiaNimRankingConfig":
from .llms.nvidia_nim.rerank.ranking_transformation import (
NvidiaNimRankingConfig as _NvidiaNimRankingConfig,
)
_globals["NvidiaNimRankingConfig"] = _NvidiaNimRankingConfig
return _NvidiaNimRankingConfig
if name == "VertexAIRerankConfig":
from .llms.vertex_ai.rerank.transformation import (
VertexAIRerankConfig as _VertexAIRerankConfig,
)
_globals["VertexAIRerankConfig"] = _VertexAIRerankConfig
return _VertexAIRerankConfig
if name == "FireworksAIRerankConfig":
from .llms.fireworks_ai.rerank.transformation import (
FireworksAIRerankConfig as _FireworksAIRerankConfig,
)
_globals["FireworksAIRerankConfig"] = _FireworksAIRerankConfig
return _FireworksAIRerankConfig
if name == "VoyageRerankConfig":
from .llms.voyage.rerank.transformation import (
VoyageRerankConfig as _VoyageRerankConfig,
)
_globals["VoyageRerankConfig"] = _VoyageRerankConfig
return _VoyageRerankConfig
if name == "ClarifaiConfig":
from .llms.clarifai.chat.transformation import (
ClarifaiConfig as _ClarifaiConfig,
)
_globals["ClarifaiConfig"] = _ClarifaiConfig
return _ClarifaiConfig
raise AttributeError(f"LLM config lazy import: unknown attribute {name!r}")