From e37aa8e5bf8198b63e72963fea573325d36abcec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Tue, 30 Apr 2024 12:24:30 +0800 Subject: [PATCH] feat: add metadata {"agent":xx} to assistant message --- metagpt/roles/role.py | 4 +++- metagpt/schema.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/metagpt/roles/role.py b/metagpt/roles/role.py index f3bf91dfa..210155e00 100644 --- a/metagpt/roles/role.py +++ b/metagpt/roles/role.py @@ -407,8 +407,10 @@ class Role(SerializationMixin, ContextMixin, BaseModel): ) elif isinstance(response, Message): msg = response + elif isinstance(response, AIMessage): + msg = response.with_agent(self._setting) else: - msg = AIMessage(content=response, cause_by=self.rc.todo, sent_from=self) + msg = AIMessage(content=response, cause_by=self.rc.todo, sent_from=self).with_agent(self._setting) if self.enable_memory: self.rc.memory.add(msg) diff --git a/metagpt/schema.py b/metagpt/schema.py index b3600ec98..847147c30 100644 --- a/metagpt/schema.py +++ b/metagpt/schema.py @@ -378,6 +378,7 @@ class AIMessage(Message): def with_agent(self, name: str): self.add_metadata(key=AGENT, value=name) + return self @property def agent(self) -> str: