fix: Use ConfigDict instead of class-based Config (#3409)
Signed-off-by: Gabe Goodhart <ghart@us.ibm.com>
This commit is contained in:
@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
|
|||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
import httpx
|
import httpx
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
from mem0.client.utils import api_error_handler
|
from mem0.client.utils import api_error_handler
|
||||||
from mem0.memory.telemetry import capture_client_event
|
from mem0.memory.telemetry import capture_client_event
|
||||||
@@ -20,9 +20,7 @@ class ProjectConfig(BaseModel):
|
|||||||
project_id: Optional[str] = Field(default=None, description="Project ID")
|
project_id: Optional[str] = Field(default=None, description="Project ID")
|
||||||
user_email: Optional[str] = Field(default=None, description="User email")
|
user_email: Optional[str] = Field(default=None, description="User email")
|
||||||
|
|
||||||
class Config:
|
model_config = ConfigDict(validate_assignment=True, extra="forbid")
|
||||||
validate_assignment = True
|
|
||||||
extra = "forbid"
|
|
||||||
|
|
||||||
|
|
||||||
class BaseProject(ABC):
|
class BaseProject(ABC):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class AzureAISearchConfig(BaseModel):
|
class AzureAISearchConfig(BaseModel):
|
||||||
@@ -54,6 +54,4 @@ class AzureAISearchConfig(BaseModel):
|
|||||||
|
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class BaiduDBConfig(BaseModel):
|
class BaiduDBConfig(BaseModel):
|
||||||
@@ -24,6 +24,4 @@ class BaiduDBConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, ClassVar, Dict, Optional
|
from typing import Any, ClassVar, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class ChromaDbConfig(BaseModel):
|
class ChromaDbConfig(BaseModel):
|
||||||
@@ -35,6 +35,4 @@ class ChromaDbConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
from databricks.sdk.service.vectorsearch import EndpointType, VectorIndexType, PipelineType
|
from databricks.sdk.service.vectorsearch import EndpointType, VectorIndexType, PipelineType
|
||||||
|
|
||||||
@@ -58,6 +58,4 @@ class DatabricksConfig(BaseModel):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class FAISSConfig(BaseModel):
|
class FAISSConfig(BaseModel):
|
||||||
@@ -34,6 +34,4 @@ class FAISSConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, ClassVar, Dict
|
from typing import Any, ClassVar, Dict
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class LangchainConfig(BaseModel):
|
class LangchainConfig(BaseModel):
|
||||||
@@ -27,6 +27,4 @@ class LangchainConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class MetricType(str, Enum):
|
class MetricType(str, Enum):
|
||||||
@@ -39,6 +39,4 @@ class MilvusDBConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class PineconeConfig(BaseModel):
|
class PineconeConfig(BaseModel):
|
||||||
@@ -52,6 +52,4 @@ class PineconeConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, ClassVar, Dict, Optional
|
from typing import Any, ClassVar, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class QdrantConfig(BaseModel):
|
class QdrantConfig(BaseModel):
|
||||||
@@ -44,6 +44,4 @@ class QdrantConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
# TODO: Upgrade to latest pydantic version
|
# TODO: Upgrade to latest pydantic version
|
||||||
@@ -21,6 +21,4 @@ class RedisDBConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class S3VectorsConfig(BaseModel):
|
class S3VectorsConfig(BaseModel):
|
||||||
@@ -29,6 +29,4 @@ class S3VectorsConfig(BaseModel):
|
|||||||
)
|
)
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
from typing import Any, ClassVar, Dict, Optional
|
from typing import Any, ClassVar, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from upstash_vector import Index
|
from upstash_vector import Index
|
||||||
@@ -31,6 +31,4 @@ class UpstashVectorConfig(BaseModel):
|
|||||||
raise ValueError("Either a client or URL and token must be provided.")
|
raise ValueError("Either a client or URL and token must be provided.")
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
|
|
||||||
class GoogleMatchingEngineConfig(BaseModel):
|
class GoogleMatchingEngineConfig(BaseModel):
|
||||||
@@ -14,7 +14,7 @@ class GoogleMatchingEngineConfig(BaseModel):
|
|||||||
credentials_path: Optional[str] = Field(None, description="Path to service account credentials file")
|
credentials_path: Optional[str] = Field(None, description="Path to service account credentials file")
|
||||||
vector_search_api_endpoint: Optional[str] = Field(None, description="Vector search API endpoint")
|
vector_search_api_endpoint: Optional[str] = Field(None, description="Vector search API endpoint")
|
||||||
|
|
||||||
model_config = {"extra": "forbid"}
|
model_config = ConfigDict(extra="forbid")
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, ClassVar, Dict, Optional
|
from typing import Any, ClassVar, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, model_validator
|
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||||
|
|
||||||
|
|
||||||
class WeaviateConfig(BaseModel):
|
class WeaviateConfig(BaseModel):
|
||||||
@@ -38,6 +38,4 @@ class WeaviateConfig(BaseModel):
|
|||||||
|
|
||||||
return values
|
return values
|
||||||
|
|
||||||
model_config = {
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
"arbitrary_types_allowed": True,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from datetime import datetime
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, validator
|
from pydantic import BaseModel, ConfigDict, Field, validator
|
||||||
|
|
||||||
|
|
||||||
class MemoryBase(BaseModel):
|
class MemoryBase(BaseModel):
|
||||||
@@ -33,8 +33,7 @@ class Memory(MemoryBase):
|
|||||||
categories: Optional[List[Category]] = None
|
categories: Optional[List[Category]] = None
|
||||||
app: App
|
app: App
|
||||||
|
|
||||||
class Config:
|
model_config = ConfigDict(from_attributes=True)
|
||||||
from_attributes = True
|
|
||||||
|
|
||||||
class MemoryUpdate(BaseModel):
|
class MemoryUpdate(BaseModel):
|
||||||
content: Optional[str] = None
|
content: Optional[str] = None
|
||||||
|
|||||||
Reference in New Issue
Block a user