From 9a51038bd16ae2deb17ddb0658215a5be811b9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Tue, 19 Mar 2024 11:46:30 +0800 Subject: [PATCH] fixbug: #1031 --- metagpt/environment/base_env.py | 2 +- metagpt/roles/role.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/metagpt/environment/base_env.py b/metagpt/environment/base_env.py index 0e583ffb3..9829c5b3a 100644 --- a/metagpt/environment/base_env.py +++ b/metagpt/environment/base_env.py @@ -129,8 +129,8 @@ class Environment(ExtEnv): self.roles[role.profile] = role for role in roles: # setup system message with roles - role.set_env(self) role.context = self.context + role.set_env(self) def publish_message(self, message: Message, peekable: bool = True) -> bool: """ diff --git a/metagpt/roles/role.py b/metagpt/roles/role.py index 19ed048e3..e0f8a7ea6 100644 --- a/metagpt/roles/role.py +++ b/metagpt/roles/role.py @@ -169,6 +169,7 @@ class Role(SerializationMixin, ContextMixin, BaseModel): self._check_actions() self.llm.system_prompt = self._get_prefix() + self.llm.cost_manager = self.context.cost_manager self._watch(kwargs.pop("watch", [UserRequirement])) if self.latest_observed_msg: @@ -331,6 +332,7 @@ class Role(SerializationMixin, ContextMixin, BaseModel): if env: env.set_addresses(self, self.addresses) self.llm.system_prompt = self._get_prefix() + self.llm.cost_manager = self.context.cost_manager self.set_actions(self.actions) # reset actions to update llm and prefix def _get_prefix(self):