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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.