pub struct MultimodalMessage {
pub role: MessageRole,
pub content: Vec<ContentPart>,
pub timestamp: DateTime<Utc>,
pub metadata: HashMap<String, Value>,
}Expand description
A multimodal message that can contain mixed content types
Fields§
§role: MessageRoleMessage role
content: Vec<ContentPart>Content parts
timestamp: DateTime<Utc>Timestamp
metadata: HashMap<String, Value>Additional metadata
Implementations§
Source§impl MultimodalMessage
impl MultimodalMessage
Sourcepub fn text(role: MessageRole, text: impl Into<String>) -> Self
pub fn text(role: MessageRole, text: impl Into<String>) -> Self
Create a new text-only message
Sourcepub fn with_image(
role: MessageRole,
text: impl Into<String>,
image: ImageContent,
) -> Self
pub fn with_image( role: MessageRole, text: impl Into<String>, image: ImageContent, ) -> Self
Create a message with text and image
Sourcepub fn add_image(&mut self, image: ImageContent)
pub fn add_image(&mut self, image: ImageContent)
Add an image to this message
Sourcepub fn add_sensor(&mut self, sensor: SensorData)
pub fn add_sensor(&mut self, sensor: SensorData)
Add sensor data to this message
Sourcepub fn add_action(&mut self, action: ActionCommand)
pub fn add_action(&mut self, action: ActionCommand)
Add an action to this message
Sourcepub fn text_content(&self) -> String
pub fn text_content(&self) -> String
Get all text content concatenated
Sourcepub fn images(&self) -> Vec<&ImageContent>
pub fn images(&self) -> Vec<&ImageContent>
Get all images in this message
Sourcepub fn actions(&self) -> Vec<&ActionCommand>
pub fn actions(&self) -> Vec<&ActionCommand>
Get all actions in this message
Trait Implementations§
Source§impl Clone for MultimodalMessage
impl Clone for MultimodalMessage
Source§fn clone(&self) -> MultimodalMessage
fn clone(&self) -> MultimodalMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MultimodalMessage
impl Debug for MultimodalMessage
Source§impl<'de> Deserialize<'de> for MultimodalMessage
impl<'de> Deserialize<'de> for MultimodalMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MultimodalMessage
impl RefUnwindSafe for MultimodalMessage
impl Send for MultimodalMessage
impl Sync for MultimodalMessage
impl Unpin for MultimodalMessage
impl UnwindSafe for MultimodalMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more