mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-04-25 00:36:55 +02:00
remove extra value after model_validator in Role/ContextMixin
This commit is contained in:
parent
f6824b078c
commit
3125f4c0c7
2 changed files with 10 additions and 8 deletions
|
|
@ -34,14 +34,15 @@ class ContextMixin(BaseModel):
|
|||
|
||||
@model_validator(mode="after")
|
||||
def validate_context_mixin_extra(self):
|
||||
self._process_context_mixin_extra(**(self.model_extra or {}))
|
||||
self._process_context_mixin_extra()
|
||||
return self
|
||||
|
||||
def _process_context_mixin_extra(self, **kwargs):
|
||||
def _process_context_mixin_extra(self):
|
||||
"""Process the extra field"""
|
||||
self.set_context(kwargs.get("context"))
|
||||
self.set_config(kwargs.get("config"))
|
||||
self.set_llm(kwargs.get("llm"))
|
||||
kwargs = self.model_extra or {}
|
||||
self.set_context(kwargs.pop("context", None))
|
||||
self.set_config(kwargs.pop("config", None))
|
||||
self.set_llm(kwargs.pop("llm", None))
|
||||
|
||||
def set(self, k, v, override=False):
|
||||
"""Set attribute"""
|
||||
|
|
|
|||
|
|
@ -151,18 +151,19 @@ class Role(SerializationMixin, ContextMixin, BaseModel):
|
|||
|
||||
@model_validator(mode="after")
|
||||
def validate_role_extra(self):
|
||||
self._process_role_extra(**(self.model_extra or {}))
|
||||
self._process_role_extra()
|
||||
return self
|
||||
|
||||
def _process_role_extra(self, **kwargs):
|
||||
def _process_role_extra(self):
|
||||
self.pydantic_rebuild_model()
|
||||
kwargs = self.model_extra or {}
|
||||
|
||||
if self.is_human:
|
||||
self.llm = HumanProvider(None)
|
||||
|
||||
self._check_actions()
|
||||
self.llm.system_prompt = self._get_prefix()
|
||||
self._watch(kwargs.get("watch") or [UserRequirement])
|
||||
self._watch(kwargs.pop("watch", [UserRequirement]))
|
||||
|
||||
if self.latest_observed_msg:
|
||||
self.recovered = True
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue