pub struct Message {
pub content: String,
pub message_type: MessageType,
pub id: Option<String>,
pub tool_calls: Option<Value>,
}Expand description
Represents a message with content, type, optional ID, and optional tool calls.
Fields§
§content: String§message_type: MessageType§id: Option<String>§tool_calls: Option<Value>Implementations§
Source§impl Message
impl Message
Sourcepub fn new_human_message<T: Display>(content: T) -> Self
pub fn new_human_message<T: Display>(content: T) -> Self
Creates a new human message with the given content.
Sourcepub fn new_system_message<T: Display>(content: T) -> Self
pub fn new_system_message<T: Display>(content: T) -> Self
Creates a new system message with the given content.
Sourcepub fn new_tool_message<T: Display, S: Into<String>>(content: T, id: S) -> Self
pub fn new_tool_message<T: Display, S: Into<String>>(content: T, id: S) -> Self
Creates a new tool message with the given content and ID.
Sourcepub fn new_ai_message<T: Display>(content: T) -> Self
pub fn new_ai_message<T: Display>(content: T) -> Self
Creates a new =AI message with the given content.
Sourcepub fn with_tool_calls(self, tool_calls: Value) -> Self
pub fn with_tool_calls(self, tool_calls: Value) -> Self
Adds tool calls to the message.
Sourcepub fn messages_from_value(value: &Value) -> Result<Vec<Message>, Error>
pub fn messages_from_value(value: &Value) -> Result<Vec<Message>, Error>
Deserializes a Value into a vector of Message objects.
Sourcepub fn messages_to_string(messages: &[Message]) -> String
pub fn messages_to_string(messages: &[Message]) -> String
Converts a slice of Message objects into a single string representation.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
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 Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
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