pub struct Message {
pub content: String,
pub message_type: MessageType,
pub id: Option<String>,
pub tool_calls: Option<Value>,
pub images: Option<Vec<ImageContent>>,
}
Expand description
Fields§
§content: String
§message_type: MessageType
§id: Option<String>
§tool_calls: Option<Value>
§images: Option<Vec<ImageContent>>
Implementations§
Source§impl Message
impl Message
pub fn new_human_message<T: Display>(content: T) -> Self
pub fn new_human_message_with_images<T: Into<ImageContent>>( images: Vec<T>, ) -> Self
pub fn new_system_message<T: Display>(content: T) -> Self
pub fn new_ai_message<T: Display>(content: T) -> Self
pub fn new_tool_message<T: Display, S: Into<String>>(content: T, id: S) -> Self
Sourcepub fn with_tool_calls(self, tool_calls: Value) -> Self
pub fn with_tool_calls(self, tool_calls: Value) -> Self
Sets the tool calls for the OpenAI-like API call.
Use this method when you need to specify tool calls in the configuration. This is particularly useful in scenarios where interactions with specific tools are required for operation.
§Arguments
tool_calls
- Aserde_json::Value
representing the tool call configurations.
pub fn messages_from_value(value: &Value) -> Result<Vec<Message>, Error>
pub fn messages_to_string(messages: &[Message]) -> String
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