pub struct ConversationMemoryStore { /* private fields */ }Expand description
Conversation memory backed by persistent storage
Implementations§
Source§impl ConversationMemoryStore
impl ConversationMemoryStore
Sourcepub fn new(
storage: Arc<dyn Memory>,
session_id: String,
max_length: usize,
persist: bool,
) -> Self
pub fn new( storage: Arc<dyn Memory>, session_id: String, max_length: usize, persist: bool, ) -> Self
Create a new conversation memory store
Sourcepub async fn add_message(&self, message: ChatMessage) -> RragResult<()>
pub async fn add_message(&self, message: ChatMessage) -> RragResult<()>
Add a message to conversation history
Sourcepub async fn get_messages(&self) -> RragResult<Vec<ChatMessage>>
pub async fn get_messages(&self) -> RragResult<Vec<ChatMessage>>
Get all messages in order
Sourcepub async fn count(&self) -> RragResult<usize>
pub async fn count(&self) -> RragResult<usize>
Get the number of messages
Sourcepub async fn clear(&self) -> RragResult<()>
pub async fn clear(&self) -> RragResult<()>
Clear all messages except system message
Sourcepub async fn is_empty(&self) -> RragResult<bool>
pub async fn is_empty(&self) -> RragResult<bool>
Check if conversation is empty
Auto Trait Implementations§
impl Freeze for ConversationMemoryStore
impl !RefUnwindSafe for ConversationMemoryStore
impl Send for ConversationMemoryStore
impl Sync for ConversationMemoryStore
impl Unpin for ConversationMemoryStore
impl !UnwindSafe for ConversationMemoryStore
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