pub struct MessageHistoryMemory { /* private fields */ }Expand description
MessageHistoryMemory implementation, implementing BaseMemory trait
Implementations§
Source§impl MessageHistoryMemory
impl MessageHistoryMemory
Sourcepub async fn new(session_id: String, data_dir: PathBuf) -> Result<Self>
pub async fn new(session_id: String, data_dir: PathBuf) -> Result<Self>
Create a new MessageHistoryMemory instance
Sourcepub async fn new_with_recent_count(
session_id: String,
data_dir: PathBuf,
recent_count: usize,
) -> Result<Self>
pub async fn new_with_recent_count( session_id: String, data_dir: PathBuf, recent_count: usize, ) -> Result<Self>
Create a new MessageHistoryMemory instance with specified recent message count
Sourcepub fn get_session_id(&self) -> &str
pub fn get_session_id(&self) -> &str
Get session ID
Sourcepub async fn get_recent_messages(
&self,
count: usize,
) -> Result<Vec<ChatMessageRecord>>
pub async fn get_recent_messages( &self, count: usize, ) -> Result<Vec<ChatMessageRecord>>
Get recent messages
Sourcepub async fn get_default_recent_messages(
&self,
) -> Result<Vec<ChatMessageRecord>>
pub async fn get_default_recent_messages( &self, ) -> Result<Vec<ChatMessageRecord>>
Get recent messages using default count
Sourcepub async fn get_message_count(&self) -> Result<usize>
pub async fn get_message_count(&self) -> Result<usize>
Get total message count
Sourcepub async fn keep_recent_messages(&self, count: usize) -> Result<()>
pub async fn keep_recent_messages(&self, count: usize) -> Result<()>
Keep only the most recent N messages
Sourcepub async fn add_message(&self, message: &ChatMessage) -> Result<()>
pub async fn add_message(&self, message: &ChatMessage) -> Result<()>
Add ChatMessage to history
Sourcepub async fn get_recent_chat_messages(
&self,
count: usize,
) -> Result<Vec<ChatMessage>>
pub async fn get_recent_chat_messages( &self, count: usize, ) -> Result<Vec<ChatMessage>>
Get the most recent N messages, return ChatMessage type
Trait Implementations§
Source§impl BaseMemory for MessageHistoryMemory
impl BaseMemory for MessageHistoryMemory
fn memory_variables(&self) -> Vec<String>
fn load_memory_variables<'a>( &'a self, _inputs: &'a HashMap<String, Value>, ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, Value>, Error>> + Send + 'a>>
fn save_context<'a>( &'a self, inputs: &'a HashMap<String, Value>, outputs: &'a HashMap<String, Value>, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>>
fn clear<'a>( &'a self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>>
fn clone_box(&self) -> Box<dyn BaseMemory>
fn get_session_id(&self) -> Option<&str>
fn set_session_id(&mut self, session_id: String)
fn get_token_count(&self) -> Result<usize, Error>
fn as_any(&self) -> &dyn Any
Source§impl Clone for MessageHistoryMemory
impl Clone for MessageHistoryMemory
Auto Trait Implementations§
impl Freeze for MessageHistoryMemory
impl !RefUnwindSafe for MessageHistoryMemory
impl Send for MessageHistoryMemory
impl Sync for MessageHistoryMemory
impl Unpin for MessageHistoryMemory
impl !UnwindSafe for MessageHistoryMemory
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