add pydantic v2 support and change role's private fields into public

This commit is contained in:
better629 2023-12-27 14:00:54 +08:00
parent 66925dd791
commit afaa7385c4
67 changed files with 518 additions and 555 deletions

View file

@ -25,11 +25,12 @@ except ImportError:
class GoogleAPIWrapper(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True)
google_api_key: Optional[str] = Field(default=None, validate_default=True)
google_cse_id: Optional[str] = Field(default=None, validate_default=True)
loop: Optional[asyncio.AbstractEventLoop] = None
executor: Optional[futures.Executor] = None
model_config = ConfigDict(arbitrary_types_allowed=True)
@field_validator("google_api_key", mode="before")
@classmethod

View file

@ -9,7 +9,7 @@ import json
from typing import Any, Dict, Optional, Tuple
import aiohttp
from pydantic import BaseModel, ConfigDict, Field, field_validator
from pydantic import BaseModel, Field, field_validator
from metagpt.config import CONFIG
@ -19,7 +19,6 @@ class SerperWrapper(BaseModel):
payload: dict = Field(default={"page": 1, "num": 10})
serper_api_key: Optional[str] = Field(default=None, validate_default=True)
aiosession: Optional[aiohttp.ClientSession] = None
model_config = ConfigDict(arbitrary_types_allowed=True)
@field_validator("serper_api_key", mode="before")
@classmethod