Represents a message in a chat conversation.
The content of the message
A list of images to include in the message (for multimodal models)
The role of the message, either "system", "user", "assistant", or "tool"
The model's thinking process (for thinking models)
A list of tools in JSON that the model wants to use
The name of the tool that was executed to inform the model of the result