Spaces:
Build error
Build error
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=()) | |