Spaces:
Paused
Paused
| from enum import Enum | |
| from typing import Optional | |
| from pydantic import BaseModel, ConfigDict | |
| from core.model_runtime.entities.model_entities import ModelType | |
| from models.provider import ProviderQuotaType | |
| class QuotaUnit(Enum): | |
| TIMES = "times" | |
| TOKENS = "tokens" | |
| CREDITS = "credits" | |
| class SystemConfigurationStatus(Enum): | |
| """ | |
| Enum class for system configuration status. | |
| """ | |
| ACTIVE = "active" | |
| QUOTA_EXCEEDED = "quota-exceeded" | |
| UNSUPPORTED = "unsupported" | |
| class RestrictModel(BaseModel): | |
| model: str | |
| base_model_name: Optional[str] = None | |
| model_type: ModelType | |
| # pydantic configs | |
| model_config = ConfigDict(protected_namespaces=()) | |
| class QuotaConfiguration(BaseModel): | |
| """ | |
| Model class for provider quota configuration. | |
| """ | |
| quota_type: ProviderQuotaType | |
| quota_unit: QuotaUnit | |
| quota_limit: int | |
| quota_used: int | |
| is_valid: bool | |
| restrict_models: list[RestrictModel] = [] | |
| class SystemConfiguration(BaseModel): | |
| """ | |
| Model class for provider system configuration. | |
| """ | |
| enabled: bool | |
| current_quota_type: Optional[ProviderQuotaType] = None | |
| quota_configurations: list[QuotaConfiguration] = [] | |
| credentials: Optional[dict] = None | |
| class CustomProviderConfiguration(BaseModel): | |
| """ | |
| Model class for provider custom configuration. | |
| """ | |
| credentials: dict | |
| class CustomModelConfiguration(BaseModel): | |
| """ | |
| Model class for provider custom model configuration. | |
| """ | |
| model: str | |
| model_type: ModelType | |
| credentials: dict | |
| # pydantic configs | |
| model_config = ConfigDict(protected_namespaces=()) | |
| class CustomConfiguration(BaseModel): | |
| """ | |
| Model class for provider custom configuration. | |
| """ | |
| provider: Optional[CustomProviderConfiguration] = None | |
| models: list[CustomModelConfiguration] = [] | |
| class ModelLoadBalancingConfiguration(BaseModel): | |
| """ | |
| Class for model load balancing configuration. | |
| """ | |
| id: str | |
| name: str | |
| credentials: dict | |
| class ModelSettings(BaseModel): | |
| """ | |
| Model class for model settings. | |
| """ | |
| model: str | |
| model_type: ModelType | |
| enabled: bool = True | |
| load_balancing_configs: list[ModelLoadBalancingConfiguration] = [] | |
| # pydantic configs | |
| model_config = ConfigDict(protected_namespaces=()) | |