Camel.messages.base
BaseMessage
Base class for message objects used in CAMEL chat system.
Parameters:
- role_name (str): The name of the user or assistant role.
- role_type (RoleType): The type of role, either :obj:
RoleType. ASSISTANT
or :obj:RoleType.USER
. - meta_dict (Optional[Dict[str, Any]]): Additional metadata dictionary for the message.
- content (str): The content of the message.
- video_bytes (Optional[bytes]): Optional bytes of a video associated with the message. (default: :obj:
None
) - image_list (Optional[List[Image.Image]]): Optional list of PIL Image objects associated with the message. (default: :obj:
None
) - image_detail (
Literal["auto", "low", "high"]
): Detail level of the images associated with the message. (default: :obj:auto
) - video_detail (
Literal["auto", "low", "high"]
): Detail level of the videos associated with the message. (default: :obj:low
) - parsed: Optional[Union[Type[BaseModel], dict]]: Optional object which is parsed from the content. (default: :obj:
None
)
make_user_message
Create a new user message.
Parameters:
- role_name (str): The name of the user role.
- content (str): The content of the message.
- meta_dict (Optional[Dict[str, str]]): Additional metadata dictionary for the message.
- video_bytes (Optional[bytes]): Optional bytes of a video associated with the message.
- image_list (Optional[List[Image.Image]]): Optional list of PIL Image objects associated with the message.
- image_detail (Union[OpenAIVisionDetailType, str]): Detail level of the images associated with the message.
- video_detail (Union[OpenAIVisionDetailType, str]): Detail level of the videos associated with the message.
Returns:
BaseMessage: The new user message.
make_assistant_message
Create a new assistant message.
Parameters:
- role_name (str): The name of the assistant role.
- content (str): The content of the message.
- meta_dict (Optional[Dict[str, str]]): Additional metadata dictionary for the message.
- video_bytes (Optional[bytes]): Optional bytes of a video associated with the message.
- image_list (Optional[List[Image.Image]]): Optional list of PIL Image objects associated with the message.
- image_detail (Union[OpenAIVisionDetailType, str]): Detail level of the images associated with the message.
- video_detail (Union[OpenAIVisionDetailType, str]): Detail level of the videos associated with the message.
Returns:
BaseMessage: The new assistant message.
create_new_instance
Create a new instance of the :obj:BaseMessage
with updated
content.
Parameters:
- content (str): The new content value.
Returns:
BaseMessage: The new instance of :obj:BaseMessage
.
add
Addition operator override for :obj:BaseMessage
.
Parameters:
- other (Any): The value to be added with.
Returns:
Union[BaseMessage, Any]: The result of the addition.
mul
Multiplication operator override for :obj:BaseMessage
.
Parameters:
- other (Any): The value to be multiplied with.
Returns:
Union[BaseMessage, Any]: The result of the multiplication.
len
Returns:
int: The length of the content.
contains
Contains operator override for :obj:BaseMessage
.
Parameters:
- item (str): The item to check for containment.
Returns:
bool: :obj:True
if the item is contained in the content,
:obj:False
otherwise.
extract_text_and_code_prompts
Returns:
Tuple[List[TextPrompt], List[CodePrompt]]: A tuple containing a list of text prompts and a list of code prompts extracted from the content.
from_sharegpt
Convert ShareGPT message to BaseMessage or FunctionCallingMessage. Note tool calls and responses have an ‘assistant’ role in CAMEL
Parameters:
- message (ShareGPTMessage): ShareGPT message to convert.
- function_format (FunctionCallFormatter, optional): Function call formatter to use. (default: :obj:
HermesFunctionFormatter()
. - role_mapping (Dict[str, List[str, RoleType]], optional): Role mapping to use. Defaults to a CAMEL specific mapping.
Returns:
BaseMessage: Converted message.
to_sharegpt
Convert BaseMessage to ShareGPT message
Parameters:
- function_format (FunctionCallFormatter): Function call formatter to use. Defaults to Hermes.
to_openai_message
Converts the message to an :obj:OpenAIMessage
object.
Parameters:
- role_at_backend (OpenAIBackendRole): The role of the message in OpenAI chat system.
Returns:
OpenAIMessage: The converted :obj:OpenAIMessage
object.
to_openai_system_message
Returns:
OpenAISystemMessage: The converted :obj:OpenAISystemMessage
object.
to_openai_user_message
Returns:
OpenAIUserMessage: The converted :obj:OpenAIUserMessage
object.
to_openai_assistant_message
Returns:
OpenAIAssistantMessage: The converted :obj:OpenAIAssistantMessage
object.
to_dict
Returns:
dict: The converted dictionary.