| | from enum import Enum |
| | from typing import Optional |
| |
|
| | from pydantic import BaseModel, ConfigDict |
| |
|
| | from core.model_runtime.entities.common_entities import I18nObject |
| | from core.model_runtime.entities.model_entities import ModelType, ProviderModel |
| | from core.model_runtime.entities.provider_entities import ProviderEntity |
| |
|
| |
|
| | class ModelStatus(Enum): |
| | """ |
| | Enum class for model status. |
| | """ |
| |
|
| | ACTIVE = "active" |
| | NO_CONFIGURE = "no-configure" |
| | QUOTA_EXCEEDED = "quota-exceeded" |
| | NO_PERMISSION = "no-permission" |
| | DISABLED = "disabled" |
| |
|
| |
|
| | class SimpleModelProviderEntity(BaseModel): |
| | """ |
| | Simple provider. |
| | """ |
| |
|
| | provider: str |
| | label: I18nObject |
| | icon_small: Optional[I18nObject] = None |
| | icon_large: Optional[I18nObject] = None |
| | supported_model_types: list[ModelType] |
| |
|
| | def __init__(self, provider_entity: ProviderEntity) -> None: |
| | """ |
| | Init simple provider. |
| | |
| | :param provider_entity: provider entity |
| | """ |
| | super().__init__( |
| | provider=provider_entity.provider, |
| | label=provider_entity.label, |
| | icon_small=provider_entity.icon_small, |
| | icon_large=provider_entity.icon_large, |
| | supported_model_types=provider_entity.supported_model_types, |
| | ) |
| |
|
| |
|
| | class ProviderModelWithStatusEntity(ProviderModel): |
| | """ |
| | Model class for model response. |
| | """ |
| |
|
| | status: ModelStatus |
| | load_balancing_enabled: bool = False |
| |
|
| |
|
| | class ModelWithProviderEntity(ProviderModelWithStatusEntity): |
| | """ |
| | Model with provider entity. |
| | """ |
| |
|
| | provider: SimpleModelProviderEntity |
| |
|
| |
|
| | class DefaultModelProviderEntity(BaseModel): |
| | """ |
| | Default model provider entity. |
| | """ |
| |
|
| | provider: str |
| | label: I18nObject |
| | icon_small: Optional[I18nObject] = None |
| | icon_large: Optional[I18nObject] = None |
| | supported_model_types: list[ModelType] |
| |
|
| |
|
| | class DefaultModelEntity(BaseModel): |
| | """ |
| | Default model entity. |
| | """ |
| |
|
| | model: str |
| | model_type: ModelType |
| | provider: DefaultModelProviderEntity |
| |
|
| | |
| | model_config = ConfigDict(protected_namespaces=()) |
| |
|