Spaces:
Paused
Paused
| from typing import List, Optional, Union, Dict, Tuple, Literal | |
| from pydantic import BaseModel, validator | |
| from .completion import CompletionRequest | |
| from .embedding import EmbeddingRequest | |
| class ModelConfig(BaseModel): | |
| model_name: str | |
| litellm_params: Union[CompletionRequest, EmbeddingRequest] | |
| tpm: int | |
| rpm: int | |
| class RouterConfig(BaseModel): | |
| model_list: List[ModelConfig] | |
| redis_url: Optional[str] = None | |
| redis_host: Optional[str] = None | |
| redis_port: Optional[int] = None | |
| redis_password: Optional[str] = None | |
| cache_responses: Optional[bool] = False | |
| cache_kwargs: Optional[Dict] = {} | |
| caching_groups: Optional[List[Tuple[str, List[str]]]] = None | |
| client_ttl: Optional[int] = 3600 | |
| num_retries: Optional[int] = 0 | |
| timeout: Optional[float] = None | |
| default_litellm_params: Optional[Dict[str, str]] = {} | |
| set_verbose: Optional[bool] = False | |
| fallbacks: Optional[List] = [] | |
| allowed_fails: Optional[int] = None | |
| context_window_fallbacks: Optional[List] = [] | |
| model_group_alias: Optional[Dict[str, List[str]]] = {} | |
| retry_after: Optional[int] = 0 | |
| routing_strategy: Literal[ | |
| "simple-shuffle", | |
| "least-busy", | |
| "usage-based-routing", | |
| "latency-based-routing", | |
| ] = "simple-shuffle" | |