base_message
Bases:
ABC, [`SerializableMixin`](../../../mixins/serializable_mixin.md#griptape.mixins.serializable_mixin.SerializableMixin "SerializableMixin (griptape.mixins.serializable_mixin.SerializableMixin)")Source Code in griptape/common/prompt_stack/messages/base_message.py
@define class BaseMessage(ABC, SerializableMixin): @define class Usage(SerializableMixin): input_tokens: Optional[float] = field(kw_only=True, default=None, metadata={"serializable": True}) output_tokens: Optional[float] = field(kw_only=True, default=None, metadata={"serializable": True}) @property def total_tokens(self) -> float: return (self.input_tokens or 0) + (self.output_tokens or 0) def __add__(self, other: BaseMessage.Usage) -> BaseMessage.Usage: return BaseMessage.Usage( input_tokens=(self.input_tokens or 0) + (other.input_tokens or 0), output_tokens=(self.output_tokens or 0) + (other.output_tokens or 0), ) USER_ROLE = "user" ASSISTANT_ROLE = "assistant" SYSTEM_ROLE = "system" content: list[Union[BaseMessageContent, BaseDeltaMessageContent]] = field(metadata={"serializable": True}) role: str = field(kw_only=True, metadata={"serializable": True}) usage: Usage = field(kw_only=True, default=Factory(lambda: BaseMessage.Usage()), metadata={"serializable": True}) def is_system(self) -> bool: return self.role == self.SYSTEM_ROLE def is_user(self) -> bool: return self.role == self.USER_ROLE def is_assistant(self) -> bool: return self.role == self.ASSISTANT_ROLE
ASSISTANT_ROLE = 'assistant'
class-attribute instance-attributeSYSTEM_ROLE = 'system'
class-attribute instance-attributeUSER_ROLE = 'user'
class-attribute instance-attributecontent = field(metadata={'serializable': True})
class-attribute instance-attributerole = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeusage = field(kw_only=True, default=Factory(lambda: BaseMessage.Usage()), metadata={'serializable': True})
class-attribute instance-attribute
Usage
Bases:
SerializableMixin
Source Code in griptape/common/prompt_stack/messages/base_message.py
@define class Usage(SerializableMixin): input_tokens: Optional[float] = field(kw_only=True, default=None, metadata={"serializable": True}) output_tokens: Optional[float] = field(kw_only=True, default=None, metadata={"serializable": True}) @property def total_tokens(self) -> float: return (self.input_tokens or 0) + (self.output_tokens or 0) def __add__(self, other: BaseMessage.Usage) -> BaseMessage.Usage: return BaseMessage.Usage( input_tokens=(self.input_tokens or 0) + (other.input_tokens or 0), output_tokens=(self.output_tokens or 0) + (other.output_tokens or 0), )
input_tokens = field(kw_only=True, default=None, metadata={'serializable': True})
class-attribute instance-attributeoutput_tokens = field(kw_only=True, default=None, metadata={'serializable': True})
class-attribute instance-attributetotal_tokens
property
is_assistant()
Source Code in griptape/common/prompt_stack/messages/base_message.py
def is_assistant(self) -> bool: return self.role == self.ASSISTANT_ROLE
is_system()
Source Code in griptape/common/prompt_stack/messages/base_message.py
def is_system(self) -> bool: return self.role == self.SYSTEM_ROLE
is_user()
Source Code in griptape/common/prompt_stack/messages/base_message.py
def is_user(self) -> bool: return self.role == self.USER_ROLE
- On this page
- Usage
- is_assistant()
- is_system()
- is_user()
Could this page be better? Report a problem or suggest an addition!