mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-07 08:26:10 +00:00
perf: use frozenset for enum membership checks to avoid O(n) iteration
Replace O(n) list/enum iteration with O(1) frozenset lookups: - route_checks.py: frozenset for LiteLLMRoutes._member_names_ - types/utils.py: cache DynamicPromptManagementParamLiteral.list_all_params() - utils.py: use existing LlmProvidersSet instead of _member_map_.values()
This commit is contained in:
parent
8356dfa045
commit
476aed3fd6
3 changed files with 11 additions and 4 deletions
|
|
@ -12,6 +12,8 @@ from litellm.proxy._types import (
|
|||
UserAPIKeyAuth,
|
||||
)
|
||||
|
||||
_LITELLM_ROUTES_MEMBER_NAMES: frozenset = frozenset(LiteLLMRoutes._member_names_)
|
||||
|
||||
from .auth_checks_organization import _user_is_org_admin
|
||||
|
||||
|
||||
|
|
@ -61,11 +63,11 @@ class RouteChecks:
|
|||
|
||||
## check if 'allowed_route' is a field name in LiteLLMRoutes
|
||||
if any(
|
||||
allowed_route in LiteLLMRoutes._member_names_
|
||||
allowed_route in _LITELLM_ROUTES_MEMBER_NAMES
|
||||
for allowed_route in valid_token.allowed_routes
|
||||
):
|
||||
for allowed_route in valid_token.allowed_routes:
|
||||
if allowed_route in LiteLLMRoutes._member_names_:
|
||||
if allowed_route in _LITELLM_ROUTES_MEMBER_NAMES:
|
||||
if RouteChecks.check_route_access(
|
||||
route=route,
|
||||
allowed_routes=LiteLLMRoutes._member_map_[allowed_route].value,
|
||||
|
|
|
|||
|
|
@ -3430,7 +3430,12 @@ class DynamicPromptManagementParamLiteral(str, Enum):
|
|||
|
||||
@classmethod
|
||||
def list_all_params(cls):
|
||||
return [param.value for param in cls]
|
||||
return _DYNAMIC_PROMPT_MANAGEMENT_PARAMS
|
||||
|
||||
|
||||
_DYNAMIC_PROMPT_MANAGEMENT_PARAMS: frozenset = frozenset(
|
||||
param.value for param in DynamicPromptManagementParamLiteral
|
||||
)
|
||||
|
||||
|
||||
class CallbacksByType(TypedDict):
|
||||
|
|
|
|||
|
|
@ -3167,7 +3167,7 @@ def get_optional_params_embeddings( # noqa: PLR0915
|
|||
optional_params = {}
|
||||
if (
|
||||
custom_llm_provider is not None
|
||||
and custom_llm_provider in LlmProviders._member_map_.values()
|
||||
and custom_llm_provider in LlmProvidersSet
|
||||
):
|
||||
provider_config = ProviderConfigManager.get_provider_embedding_config(
|
||||
model=model,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue