pub struct ConversationContext {
pub summary: Option<String>,
pub messages: Vec<ChatMessage>,
pub total_messages: usize,
pub summarized_count: usize,
}Fields§
§summary: Option<String>§messages: Vec<ChatMessage>§total_messages: usize§summarized_count: usizeImplementations§
Source§impl ConversationContext
impl ConversationContext
pub fn new() -> ConversationContext
pub fn with_messages(messages: Vec<ChatMessage>) -> ConversationContext
pub fn with_summary( self, summary: String, summarized_count: usize, ) -> ConversationContext
pub fn to_llm_messages(&self) -> Vec<ChatMessage>
Sourcepub fn to_llm_messages_with_allocation(
&self,
allocation: &TokenAllocation,
) -> Vec<ChatMessage>
pub fn to_llm_messages_with_allocation( &self, allocation: &TokenAllocation, ) -> Vec<ChatMessage>
Build LLM messages with per-component token budgets.
pub fn to_llm_messages_with_budget(&self, max_tokens: u32) -> Vec<ChatMessage>
pub fn estimated_tokens(&self) -> u32
pub fn is_empty(&self) -> bool
pub fn message_count(&self) -> usize
Trait Implementations§
Source§impl Clone for ConversationContext
impl Clone for ConversationContext
Source§fn clone(&self) -> ConversationContext
fn clone(&self) -> ConversationContext
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 ConversationContext
impl Debug for ConversationContext
Source§impl Default for ConversationContext
impl Default for ConversationContext
Source§fn default() -> ConversationContext
fn default() -> ConversationContext
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ConversationContext
impl<'de> Deserialize<'de> for ConversationContext
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ConversationContext, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ConversationContext, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ConversationContext
impl Serialize for ConversationContext
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ConversationContext
impl RefUnwindSafe for ConversationContext
impl Send for ConversationContext
impl Sync for ConversationContext
impl Unpin for ConversationContext
impl UnsafeUnpin for ConversationContext
impl UnwindSafe for ConversationContext
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 moreCreates a shared type from an unshared type.