Skip to content

Message

Message

Bases: BaseModel

The basic class for memory message.

Attributes:

Name Type Description
type Optional[str]

The type of the message.

content Optional[str]

The content of the message.

Source code in agentuniverse/agent/memory/message.py
Python
class Message(BaseModel):
    """The basic class for memory message.

    Attributes:
        type (Optional[str]): The type of the message.
        content (Optional[str]): The content of the message.
    """

    type: Optional[str] = None
    content: Union[str, List[Union[str, Dict]]] = None

    def as_langchain(self):
        """Convert the agentUniverse(aU) message class to the langchain message class."""
        if self.type == ChatMessageEnum.SYSTEM.value:
            return SystemMessagePromptTemplate.from_template(self.content)
        elif self.type == ChatMessageEnum.HUMAN.value:
            if isinstance(self.content, str):
                return HumanMessagePromptTemplate.from_template(self.content)
            elif isinstance(self.content, list):
                return HumanMessage(content=self.content)
        elif self.type == ChatMessageEnum.AI.value:
            return AIMessagePromptTemplate.from_template(self.content)
        else:
            return BaseStringMessagePromptTemplate.from_template(self.content)

    @staticmethod
    def as_langchain_list(message_list: List['Message']):
        """Convert agentUniverse(aU) message list to langchain message list """
        langchain_message_list = []
        if message_list is None:
            return langchain_message_list
        for message in message_list:
            langchain_message_list.append(message.as_langchain())
        return langchain_message_list

as_langchain()

Convert the agentUniverse(aU) message class to the langchain message class.

Source code in agentuniverse/agent/memory/message.py
Python
def as_langchain(self):
    """Convert the agentUniverse(aU) message class to the langchain message class."""
    if self.type == ChatMessageEnum.SYSTEM.value:
        return SystemMessagePromptTemplate.from_template(self.content)
    elif self.type == ChatMessageEnum.HUMAN.value:
        if isinstance(self.content, str):
            return HumanMessagePromptTemplate.from_template(self.content)
        elif isinstance(self.content, list):
            return HumanMessage(content=self.content)
    elif self.type == ChatMessageEnum.AI.value:
        return AIMessagePromptTemplate.from_template(self.content)
    else:
        return BaseStringMessagePromptTemplate.from_template(self.content)

as_langchain_list(message_list) staticmethod

Convert agentUniverse(aU) message list to langchain message list

Source code in agentuniverse/agent/memory/message.py
Python
@staticmethod
def as_langchain_list(message_list: List['Message']):
    """Convert agentUniverse(aU) message list to langchain message list """
    langchain_message_list = []
    if message_list is None:
        return langchain_message_list
    for message in message_list:
        langchain_message_list.append(message.as_langchain())
    return langchain_message_list