pub struct ChatMessage {
pub role: Role,
pub content: Content,
pub tool_calls: Option<Vec<ToolCall>>,
pub tool_call_id: Option<String>,
}Expand description
A message in the conversation.
Represents one turn in the conversation with role and content.
§Fields
role- Message author rolecontent- Message contentstool_calls- Tool calls (for assistant messages)tool_call_id- Tool call ID (for tool result messages)
§Example
ⓘ
let user_msg = ChatMessage {
role: Role::User,
content: Content::Text("Hello".to_string()),
tool_calls: None,
tool_call_id: None,
};
let tool_result = ChatMessage {
role: Role::Tool,
content: Content::Text("Result".to_string()),
tool_calls: None,
tool_call_id: Some("call-123".to_string()),
};Fields§
§role: RoleThe role of the message author.
content: ContentThe contents of the message.
tool_calls: Option<Vec<ToolCall>>The tool calls generated by the model, if any.
tool_call_id: Option<String>The ID of the tool call this message is a response to.
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 FromProvider<ChatMessage> for Message
impl FromProvider<ChatMessage> for Message
Source§fn from_provider(msg: OpenAIChatMessage) -> ProtocolResult<Self>
fn from_provider(msg: OpenAIChatMessage) -> ProtocolResult<Self>
Convert from provider-specific type to internal type.
Source§impl FromProviderBatch<ChatMessage> for Message
impl FromProviderBatch<ChatMessage> for Message
fn from_provider_batch(values: Vec<ChatMessage>) -> ProtocolResult<Vec<Self>>
Source§impl PartialEq for ChatMessage
impl PartialEq for ChatMessage
Source§impl Serialize for ChatMessage
impl Serialize for ChatMessage
Source§impl ToProvider<ChatMessage> for Message
impl ToProvider<ChatMessage> for Message
Source§fn to_provider(&self) -> ProtocolResult<OpenAIChatMessage>
fn to_provider(&self) -> ProtocolResult<OpenAIChatMessage>
Convert from internal type to provider-specific type.
Source§impl ToProviderBatch<ChatMessage> for Vec<Message>
impl ToProviderBatch<ChatMessage> for Vec<Message>
fn to_provider_batch(&self) -> ProtocolResult<Vec<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