Overview
package wittgenstein_llm_router
Wittgenstein LLM Router Library.
Provides models and services for routing LLM requests dynamically.
Classes
-
LLMModel — Configuration for a single LLM model provider/endpoint.
-
ModelRouter — Configuration for LLM routing strategy.
-
LLMRouterService — Selects the best suited LLM model based on cost, context capacity, and request complexity.
-
ModelSelector — Selects a model from a candidate list using a named routing strategy.
wittgenstein_llm_router.LLMModel
mkapi_definition_mkapi class LLMModel()
Bases : BaseModel
Configuration for a single LLM model provider/endpoint.
wittgenstein_llm_router.ModelRouter
mkapi_definition_mkapi class ModelRouter()
Bases : BaseModel
Configuration for LLM routing strategy.
wittgenstein_llm_router.RequestType
mkapi_definition_mkapi class RequestType()
Bases : str, Enum
wittgenstein_llm_router.LLMRouterService
mkapi_definition_mkapi class LLMRouterService(models: List[LLMModel], default_router: ModelRouter)
Selects the best suited LLM model based on cost, context capacity, and request complexity.
Methods
-
route_request — Route request to the most optimal model based on strategies.
wittgenstein_llm_router.LLMRouterService.route_request
mkapi_definition_mkapi method LLMRouterService.route_request(request_type: RequestType, estimated_input_tokens: int = 500, router_override: Optional[ModelRouter] = None) → LLMModel
Route request to the most optimal model based on strategies.
wittgenstein_llm_router.ModelSelector
mkapi_definition_mkapi class ModelSelector()
Selects a model from a candidate list using a named routing strategy.
Methods
-
select_by_strategy — Select a model based on the router's routing strategy.
wittgenstein_llm_router.ModelSelector.select_by_strategy
mkapi_definition_mkapi method ModelSelector.select_by_strategy(router: Optional[ModelRouter], available_models: List[LLMModel], request_type: str, estimated_tokens: Optional[int]) → LLMModel
Select a model based on the router's routing strategy.
Falls back to the first available model if the strategy yields nothing (e.g. a custom-rules router whose rules don't match).