from typing import Any, Dict, List, Optional, TypeVar, Union from .messenger_base import BaseMessenger T = TypeVar("T", bound="BaseMessenger") @BaseMessenger.register_messenger("roberta_text_sentiment_messenger") class RobertaTextSentimentMessenger(BaseMessenger): def __init__( self, role: Optional[str] = None, content: Optional[Union[str, Dict[str, Any], List[Any]]] = None, *args: Any, **kwargs: Any, ) -> None: super().__init__(role, content, *args, **kwargs) def init_messenger( self, role: Optional[str] = None, content: Optional[Union[str, Dict[str, Any], List[Any]]] = None, ) -> None: self.messages: str = "" if role and content: self.update_message(role, content) def update_message( self, role: str, content: Union[str, Dict[str, Any], List[Any]] ) -> None: self.messages += content def check_iter_round_num(self) -> int: return len(self.messages)