diff --git a/promptlens/models/config.py b/promptlens/models/config.py index 7c85798..0645f07 100644 --- a/promptlens/models/config.py +++ b/promptlens/models/config.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Field +from pydantic import BaseModel, ConfigDict, Field class ProviderConfig(BaseModel): @@ -114,9 +114,8 @@ class RunConfig(BaseModel): execution: ExecutionConfig = Field(default_factory=ExecutionConfig) output: OutputConfig = Field(default_factory=OutputConfig) - class Config: - """Pydantic config.""" - json_schema_extra = { + model_config = ConfigDict( + json_schema_extra={ "example": { "golden_set": "./examples/golden_sets/customer_support.yaml", "models": [ @@ -143,3 +142,4 @@ class Config: }, } } + ) diff --git a/promptlens/models/test_case.py b/promptlens/models/test_case.py index 931208f..4861929 100644 --- a/promptlens/models/test_case.py +++ b/promptlens/models/test_case.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Field +from pydantic import BaseModel, ConfigDict, Field from promptlens.models.tools import ToolDefinition, ExpectedToolCall @@ -50,9 +50,8 @@ class TestCase(BaseModel): description="Whether to actually execute tools (default: False, evaluation only)" ) - class Config: - """Pydantic config.""" - json_schema_extra = { + model_config = ConfigDict( + json_schema_extra={ "example": { "id": "cs-001", "query": "How do I reset my password?", @@ -61,6 +60,7 @@ class Config: "tags": ["password", "account"], } } + ) class GoldenSet(BaseModel): @@ -80,9 +80,8 @@ class GoldenSet(BaseModel): test_cases: List[TestCase] metadata: Dict[str, Any] = Field(default_factory=dict) - class Config: - """Pydantic config.""" - json_schema_extra = { + model_config = ConfigDict( + json_schema_extra={ "example": { "name": "Customer Support Tests", "description": "Test cases for customer support chatbot", @@ -98,3 +97,4 @@ class Config: ], } } + ) diff --git a/promptlens/models/tools.py b/promptlens/models/tools.py index bd7d52b..011447f 100644 --- a/promptlens/models/tools.py +++ b/promptlens/models/tools.py @@ -8,7 +8,7 @@ """ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Field +from pydantic import BaseModel, ConfigDict, Field class ToolParameter(BaseModel): @@ -24,8 +24,7 @@ class ToolParameter(BaseModel): properties: Optional[Dict[str, "ToolParameter"]] = Field(None, description="For object types, nested properties") items: Optional["ToolParameter"] = Field(None, description="For array types, the item schema") - class Config: - extra = "allow" # Allow additional JSON Schema fields + model_config = ConfigDict(extra="allow") # Allow additional JSON Schema fields class ToolDefinition(BaseModel):