一些兼容 pydantic<3,>=1.9.0 model_config 的代码,

This commit is contained in:
glide-the 2024-05-20 11:57:06 +08:00
parent d0267bf66b
commit 6dd00b5d94
6 changed files with 68 additions and 8 deletions

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from typing import List, Literal, Optional from typing import List, Literal, Optional
from ..._compat import PYDANTIC_V2, ConfigDict
from ..._models import BaseModel from ..._models import BaseModel
from model_providers.core.entities.model_entities import ( from model_providers.core.entities.model_entities import (
@ -72,6 +73,13 @@ class ProviderResponse(BaseModel):
preferred_provider_type: ProviderType preferred_provider_type: ProviderType
custom_configuration: CustomConfigurationResponse custom_configuration: CustomConfigurationResponse
system_configuration: SystemConfigurationResponse system_configuration: SystemConfigurationResponse
if PYDANTIC_V2:
model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
def __init__(self, **data) -> None: def __init__(self, **data) -> None:
super().__init__(**data) super().__init__(**data)
@ -171,6 +179,14 @@ class DefaultModelResponse(BaseModel):
model_type: ModelType model_type: ModelType
provider: SimpleProviderEntityResponse provider: SimpleProviderEntityResponse
if PYDANTIC_V2:
model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
class ModelWithProviderEntityResponse(ModelWithProviderEntity): class ModelWithProviderEntityResponse(ModelWithProviderEntity):
""" """

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from typing import List, Optional from typing import List, Optional
from ..._compat import PYDANTIC_V2, ConfigDict
from ..._models import BaseModel from ..._models import BaseModel
from model_providers.core.model_runtime.entities.common_entities import I18nObject from model_providers.core.model_runtime.entities.common_entities import I18nObject
@ -77,3 +78,11 @@ class DefaultModelEntity(BaseModel):
model: str model: str
model_type: ModelType model_type: ModelType
provider: DefaultModelProviderEntity provider: DefaultModelProviderEntity
if PYDANTIC_V2:
model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()

View File

@ -4,6 +4,7 @@ import logging
from json import JSONDecodeError from json import JSONDecodeError
from typing import Dict, Iterator, List, Optional from typing import Dict, Iterator, List, Optional
from ..._compat import PYDANTIC_V2, ConfigDict
from ..._models import BaseModel from ..._models import BaseModel
from model_providers.core.entities.model_entities import ( from model_providers.core.entities.model_entities import (
@ -349,7 +350,13 @@ class ProviderModelBundle(BaseModel):
provider_instance: ModelProvider provider_instance: ModelProvider
model_type_instance: AIModel model_type_instance: AIModel
class Config: if PYDANTIC_V2:
"""Configuration for this pydantic object.""" model_config = ConfigDict(
protected_namespaces=(),
arbitrary_types_allowed=True
)
else:
class Config:
protected_namespaces = ()
arbitrary_types_allowed = True arbitrary_types_allowed = True

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from typing import List, Optional from typing import List, Optional
from ..._compat import PYDANTIC_V2, ConfigDict
from ..._models import BaseModel from ..._models import BaseModel
from model_providers.core.model_runtime.entities.model_entities import ModelType from model_providers.core.model_runtime.entities.model_entities import ModelType
@ -57,6 +58,14 @@ class RestrictModel(BaseModel):
base_model_name: Optional[str] = None base_model_name: Optional[str] = None
model_type: ModelType model_type: ModelType
if PYDANTIC_V2:
model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
class QuotaConfiguration(BaseModel): class QuotaConfiguration(BaseModel):
""" """
@ -99,6 +108,14 @@ class CustomModelConfiguration(BaseModel):
model_type: ModelType model_type: ModelType
credentials: dict credentials: dict
if PYDANTIC_V2:
model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
class CustomConfiguration(BaseModel): class CustomConfiguration(BaseModel):
""" """

View File

@ -2,6 +2,7 @@ from decimal import Decimal
from enum import Enum from enum import Enum
from typing import Any, Dict, List, Optional from typing import Any, Dict, List, Optional
from ...._compat import PYDANTIC_V2, ConfigDict
from ...._models import BaseModel from ...._models import BaseModel
from model_providers.core.model_runtime.entities.common_entities import I18nObject from model_providers.core.model_runtime.entities.common_entities import I18nObject
@ -162,9 +163,13 @@ class ProviderModel(BaseModel):
fetch_from: FetchFrom fetch_from: FetchFrom
model_properties: Dict[ModelPropertyKey, Any] model_properties: Dict[ModelPropertyKey, Any]
deprecated: bool = False deprecated: bool = False
if PYDANTIC_V2:
class Config: model_config = ConfigDict(
protected_namespaces = () protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
class ParameterRule(BaseModel): class ParameterRule(BaseModel):

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from typing import List, Optional from typing import List, Optional
from ...._compat import PYDANTIC_V2, ConfigDict
from ...._models import BaseModel from ...._models import BaseModel
from model_providers.core.model_runtime.entities.common_entities import I18nObject from model_providers.core.model_runtime.entities.common_entities import I18nObject
@ -134,8 +135,13 @@ class ProviderEntity(BaseModel):
provider_credential_schema: Optional[ProviderCredentialSchema] = None provider_credential_schema: Optional[ProviderCredentialSchema] = None
model_credential_schema: Optional[ModelCredentialSchema] = None model_credential_schema: Optional[ModelCredentialSchema] = None
class Config: if PYDANTIC_V2:
protected_namespaces = () model_config = ConfigDict(
protected_namespaces=()
)
else:
class Config:
protected_namespaces = ()
def to_simple_provider(self) -> SimpleProviderEntity: def to_simple_provider(self) -> SimpleProviderEntity:
""" """