pub struct SessionMemory { /* private fields */ }Expand description
Session memory manages short-term and long-term memory for a session
Implementations§
Source§impl SessionMemory
impl SessionMemory
Sourcepub fn new(store: Box<dyn MemoryStore>, context_window: usize) -> Self
pub fn new(store: Box<dyn MemoryStore>, context_window: usize) -> Self
Creates a new session memory with the given store
Sourcepub async fn store(&self, record: MemoryRecord) -> Result<()>
pub async fn store(&self, record: MemoryRecord) -> Result<()>
Stores a memory record
Sourcepub async fn retrieve_recent(
&self,
session_id: &str,
) -> Result<Vec<MemoryRecord>>
pub async fn retrieve_recent( &self, session_id: &str, ) -> Result<Vec<MemoryRecord>>
Retrieves recent memories from short-term cache
pub async fn search( &self, session_id: &str, query: &str, limit: usize, ) -> Result<Vec<MemoryRecord>>
Auto Trait Implementations§
impl !Freeze for SessionMemory
impl !RefUnwindSafe for SessionMemory
impl Send for SessionMemory
impl Sync for SessionMemory
impl Unpin for SessionMemory
impl UnsafeUnpin for SessionMemory
impl !UnwindSafe for SessionMemory
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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::Request