pub struct ConversationMessage {
pub id: String,
pub role: MessageRole,
pub content: String,
pub metadata: HashMap<String, Value>,
pub timestamp: DateTime<Utc>,
pub token_count: Option<usize>,
}Expand description
Conversation message
Fields§
§id: StringMessage ID
role: MessageRoleRole (user, assistant, system, tool)
content: StringMessage content
metadata: HashMap<String, Value>Message metadata
timestamp: DateTime<Utc>Timestamp
token_count: Option<usize>Token count (if available)
Implementations§
Source§impl ConversationMessage
impl ConversationMessage
Sourcepub fn new(role: MessageRole, content: impl Into<String>) -> Self
pub fn new(role: MessageRole, content: impl Into<String>) -> Self
Create a new conversation message
Sourcepub fn with_metadata(self, key: impl Into<String>, value: Value) -> Self
pub fn with_metadata(self, key: impl Into<String>, value: Value) -> Self
Add metadata to the message
Sourcepub fn with_token_count(self, count: usize) -> Self
pub fn with_token_count(self, count: usize) -> Self
Set the token count for the message
Sourcepub fn estimated_tokens(&self) -> usize
pub fn estimated_tokens(&self) -> usize
Get estimated token count (simple heuristic if not set)
Trait Implementations§
Source§impl Clone for ConversationMessage
impl Clone for ConversationMessage
Source§fn clone(&self) -> ConversationMessage
fn clone(&self) -> ConversationMessage
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 ConversationMessage
impl Debug for ConversationMessage
Source§impl<'de> Deserialize<'de> for ConversationMessage
impl<'de> Deserialize<'de> for ConversationMessage
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 ConversationMessage
impl RefUnwindSafe for ConversationMessage
impl Send for ConversationMessage
impl Sync for ConversationMessage
impl Unpin for ConversationMessage
impl UnwindSafe for ConversationMessage
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