File size: 1,053 Bytes
acb3380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from typing import Dict, List, Union

from ctm.messengers.messenger_base import BaseMessenger


@BaseMessenger.register_messenger("gpt4_messenger")  # type: ignore[no-untyped-call] # FIX ME
class GPT4Messenger(BaseMessenger):
    def __init__(self, role=None, content=None, *args, **kwargs):  # type: ignore[no-untyped-def] # FIX ME
        self.init_messenger(role, content)

    def init_messenger(  # type: ignore[no-untyped-def] # FIX ME
        self, role: str = None, content: Union[str, Dict, List] = None  # type: ignore[assignment, type-arg] # FIX ME
    ):
        self.messages = []  # type: ignore[var-annotated] # FIX ME
        if content and role:
            self.update_messages(role, content)  # type: ignore[attr-defined] # FIX ME

    def update_message(self, role: str, content: Union[str, Dict, List]):  # type: ignore[no-untyped-def, type-arg] # FIX ME
        self.messages.append({"role": role, "content": content})

    def check_iter_round_num(self):  # type: ignore[no-untyped-def] # FIX ME
        return len(self.messages)