12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- 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] = []
- 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] = []
|