pub struct LlmEventSummarizer { /* private fields */ }Available on crate feature
agents only.Expand description
An LLM-based event summarizer for sliding window compaction.
When called with a list of events, this formats the events, generates a
summary using an LLM, and returns a new Event containing the summary
within an EventCompaction.
Implementations§
Source§impl LlmEventSummarizer
impl LlmEventSummarizer
Sourcepub fn new(llm: Arc<dyn Llm>) -> LlmEventSummarizer
pub fn new(llm: Arc<dyn Llm>) -> LlmEventSummarizer
Create a new summarizer using the given LLM.
Sourcepub fn with_prompt_template(
self,
template: impl Into<String>,
) -> LlmEventSummarizer
pub fn with_prompt_template( self, template: impl Into<String>, ) -> LlmEventSummarizer
Create a new summarizer with a custom prompt template.
The template must contain {conversation_history} as a placeholder.
Trait Implementations§
Source§impl BaseEventsSummarizer for LlmEventSummarizer
impl BaseEventsSummarizer for LlmEventSummarizer
Source§fn summarize_events<'life0, 'life1, 'async_trait>(
&'life0 self,
events: &'life1 [Event],
) -> Pin<Box<dyn Future<Output = Result<Option<Event>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LlmEventSummarizer: 'async_trait,
fn summarize_events<'life0, 'life1, 'async_trait>(
&'life0 self,
events: &'life1 [Event],
) -> Pin<Box<dyn Future<Output = Result<Option<Event>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LlmEventSummarizer: 'async_trait,
Summarize the given events into a single compacted event.
Returns
None if no compaction is needed (e.g., empty input).Auto Trait Implementations§
impl Freeze for LlmEventSummarizer
impl !RefUnwindSafe for LlmEventSummarizer
impl Send for LlmEventSummarizer
impl Sync for LlmEventSummarizer
impl Unpin for LlmEventSummarizer
impl UnsafeUnpin for LlmEventSummarizer
impl !UnwindSafe for LlmEventSummarizer
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