Spaces:
Running
Running
from enum import Enum | |
from typing import Optional | |
from pydantic import BaseModel | |
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 | |
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 | |
class CustomConfiguration(BaseModel): | |
""" | |
Model class for provider custom configuration. | |
""" | |
provider: Optional[CustomProviderConfiguration] = None | |
models: list[CustomModelConfiguration] = [] | |