diff --git a/llm/models.py b/llm/models.py index 01baae8..f6cae4a 100644 --- a/llm/models.py +++ b/llm/models.py @@ -2,7 +2,7 @@ from dataclasses import dataclass from typing import Any, Dict, Generator, Optional, Set from abc import ABC, abstractmethod import os -from pydantic import BaseModel +from pydantic import ConfigDict, BaseModel @dataclass @@ -62,8 +62,7 @@ class Model(ABC): can_stream: bool = False class Options(BaseModel): - class Config: - extra = "forbid" + model_config = ConfigDict(extra="forbid") def get_key(self): if self.needs_key is None: diff --git a/llm/templates.py b/llm/templates.py index 4eedbb6..6885fe3 100644 --- a/llm/templates.py +++ b/llm/templates.py @@ -1,17 +1,15 @@ -from pydantic import BaseModel +from pydantic import ConfigDict, BaseModel import string from typing import Optional class Template(BaseModel): name: str - prompt: Optional[str] - system: Optional[str] - model: Optional[str] - defaults: Optional[dict] - - class Config: - extra = "forbid" + prompt: Optional[str] = None + system: Optional[str] = None + model: Optional[str] = None + defaults: Optional[dict] = None + model_config = ConfigDict(extra="forbid") class MissingVariables(Exception): pass diff --git a/setup.py b/setup.py index f44b792..f8c46c6 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ setup( "openai", "click-default-group-wheel", "sqlite-utils", - "pydantic<2.0", + "pydantic>=2.0.0", "PyYAML", "pluggy", ],