pub struct ObservedMemory<M> { /* private fields */ }Expand description
Wraps any ConversationMemory and emits a context.sampled event on
every load. append and clear pass through unchanged.
§Example
use rig::memory::InMemoryConversationMemory;
use rig_tap::ObservedMemory;
let inner = InMemoryConversationMemory::new();
let observed = ObservedMemory::new(inner);
// pass `observed` to `agent.memory(observed)`Implementations§
Source§impl<M> ObservedMemory<M>
impl<M> ObservedMemory<M>
Trait Implementations§
Source§impl<M> Clone for ObservedMemory<M>where
M: Clone,
impl<M> Clone for ObservedMemory<M>where
M: Clone,
Source§impl<M> ConversationMemory for ObservedMemory<M>where
M: ConversationMemory,
impl<M> ConversationMemory for ObservedMemory<M>where
M: ConversationMemory,
Source§fn load<'a>(
&'a self,
conversation_id: &'a str,
) -> WasmBoxedFuture<'a, Result<Vec<Message>, MemoryError>>
fn load<'a>( &'a self, conversation_id: &'a str, ) -> WasmBoxedFuture<'a, Result<Vec<Message>, MemoryError>>
Load the full conversation history for
conversation_id. Read moreSource§fn append<'a>(
&'a self,
conversation_id: &'a str,
messages: Vec<Message>,
) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
fn append<'a>( &'a self, conversation_id: &'a str, messages: Vec<Message>, ) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
Source§fn clear<'a>(
&'a self,
conversation_id: &'a str,
) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
fn clear<'a>( &'a self, conversation_id: &'a str, ) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
Remove all stored messages for
conversation_id.Auto Trait Implementations§
impl<M> Freeze for ObservedMemory<M>where
M: Freeze,
impl<M> RefUnwindSafe for ObservedMemory<M>where
M: RefUnwindSafe,
impl<M> Send for ObservedMemory<M>where
M: Send,
impl<M> Sync for ObservedMemory<M>where
M: Sync,
impl<M> Unpin for ObservedMemory<M>where
M: Unpin,
impl<M> UnsafeUnpin for ObservedMemory<M>where
M: UnsafeUnpin,
impl<M> UnwindSafe for ObservedMemory<M>where
M: UnwindSafe,
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