Files
hsa/AlgoriAgent/examples/distributed_debate/user_proxy_agent.py
CakeCN 4198ca63b1 init
2024-12-03 16:21:19 +08:00

32 lines
893 B
Python

# -*- 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)