Source code for sherpa_ai.agents.user

from typing import List

from loguru import logger

from sherpa_ai.actions.base import BaseAction
from sherpa_ai.agents.base import BaseAgent
from sherpa_ai.events import EventType


[docs] class UserAgent(BaseAgent): """ A wrapper class for redirecting the task to a real person """ name: str = "User" description: str = "A user agent that redirects the task to an expert"
[docs] def create_actions(self) -> List[BaseAction]: pass
[docs] def synthesize_output(self) -> str: pass
[docs] def run( self, ) -> str: """ Redirect the task to a real person """ self.shared_memory.observe(self.belief) task = self.belief.current_task user_name = self.user_id if self.user_id else self.name message = f"@{user_name} Please complete the following task: \n{task.content}" if self.verbose_logger is None: logger.warning("No event logger provided. Using print instead.") print(message) result = input() self.shared_memory.add( event_type=EventType.result, agent=self.name, content=result ) return result else: self.verbose_logger.log(message) return result