pub struct ChatMessage {
pub role: String,
pub content: Option<MessageContent>,
pub tool_calls: Option<Vec<ToolCall>>,
pub tool_call_id: Option<String>,
}Expand description
Represents a chat message in a conversation
Fields§
§role: StringThe role of the message sender
content: Option<MessageContent>The content of the message
tool_calls: Option<Vec<ToolCall>>Tool calls made by the assistant (if any)
tool_call_id: Option<String>Tool call ID (required for role: “tool”)
Implementations§
Source§impl ChatMessage
impl ChatMessage
Sourcepub fn system<S: Into<MessageContent>>(content: S) -> Self
pub fn system<S: Into<MessageContent>>(content: S) -> Self
Create a system message
Sourcepub fn user<S: Into<MessageContent>>(content: S) -> Self
pub fn user<S: Into<MessageContent>>(content: S) -> Self
Create a user message
Sourcepub fn user_parts(parts: Vec<ContentPart>) -> Self
pub fn user_parts(parts: Vec<ContentPart>) -> Self
Create a user message with multiple parts
Sourcepub fn assistant<S: Into<MessageContent>>(content: S) -> Self
pub fn assistant<S: Into<MessageContent>>(content: S) -> Self
Create an assistant message
Sourcepub fn assistant_with_tools<S: Into<MessageContent>>(
content: Option<S>,
tool_calls: Vec<ToolCall>,
) -> Self
pub fn assistant_with_tools<S: Into<MessageContent>>( content: Option<S>, tool_calls: Vec<ToolCall>, ) -> Self
Create an assistant message with tool calls
Trait Implementations§
Source§impl Clone for ChatMessage
impl Clone for ChatMessage
Source§fn clone(&self) -> ChatMessage
fn clone(&self) -> ChatMessage
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 ChatMessage
impl Debug for ChatMessage
Source§impl<'de> Deserialize<'de> for ChatMessage
impl<'de> Deserialize<'de> for ChatMessage
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
Source§impl PartialEq for ChatMessage
impl PartialEq for ChatMessage
Source§impl Serialize for ChatMessage
impl Serialize for ChatMessage
impl StructuralPartialEq for ChatMessage
Auto Trait Implementations§
impl Freeze for ChatMessage
impl RefUnwindSafe for ChatMessage
impl Send for ChatMessage
impl Sync for ChatMessage
impl Unpin for ChatMessage
impl UnsafeUnpin for ChatMessage
impl UnwindSafe for ChatMessage
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