This commit is contained in:
CakeCN
2024-12-03 16:21:19 +08:00
commit 4198ca63b1
975 changed files with 333413 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
"""User Proxy Agent class for distributed usage"""
from typing import Sequence, Union
from typing import Optional
from agentscope.agents import UserAgent
from agentscope.message import Msg
class UserProxyAgent(UserAgent):
"""User proxy agent class"""
def reply( # type: ignore[override]
self,
x: Optional[Union[Msg, Sequence[Msg]]] = None,
required_keys: Optional[Union[list[str], str]] = None,
) -> Msg:
"""
Reply with `self.speak(x)`
"""
if x is not None:
self.speak(x)
return super().reply(x, required_keys)
def observe(self, x: Union[dict, Sequence[dict]]) -> None:
"""
Observe with `self.speak(x)`
"""
if x is not None:
self.speak(x) # type: ignore[arg-type]
self.memory.add(x)