experimental[major]: upgrade pydantic (#26228)

This commit is contained in:
ccurme
2024-09-09 14:27:24 -04:00
committed by GitHub
parent 109ba548bd
commit 6c8d626d70
45 changed files with 183 additions and 170 deletions

View File

@@ -14,8 +14,7 @@ from langchain_core.prompts.chat import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
)
from langchain_experimental.pydantic_v1 import root_validator
from pydantic import ConfigDict, model_validator
class SmartLLMChain(Chain):
@@ -83,14 +82,13 @@ class SmartLLMChain(Chain):
"""Whether to return ideas and critique, in addition to resolution."""
history: SmartLLMChainHistory = SmartLLMChainHistory()
class Config:
extra = "forbid"
model_config = ConfigDict(
extra="forbid",
)
# TODO: move away from `root_validator` since it is deprecated in pydantic v2
# and causes mypy type-checking failures (hence the `type: ignore`)
@root_validator # type: ignore[call-overload]
@model_validator(mode="before")
@classmethod
def validate_inputs(cls, values: Dict[str, Any]) -> Dict[str, Any]:
def validate_inputs(cls, values: Dict[str, Any]) -> Any:
"""Ensure we have an LLM for each step."""
llm = values.get("llm")
ideation_llm = values.get("ideation_llm")