pub struct EpisodicMemory { /* private fields */ }Expand description
Episodic memory for long-term context
Implementations§
Source§impl EpisodicMemory
impl EpisodicMemory
Sourcepub fn with_max_episodes(self, max: usize) -> Self
pub fn with_max_episodes(self, max: usize) -> Self
Create episodic memory with custom max episodes
Sourcepub async fn store_episode(&self, episode: Episode) -> RragResult<()>
pub async fn store_episode(&self, episode: Episode) -> RragResult<()>
Store an episode
Sourcepub async fn get_episode(&self, episode_id: &str) -> RragResult<Option<Episode>>
pub async fn get_episode(&self, episode_id: &str) -> RragResult<Option<Episode>>
Retrieve an episode by ID
Sourcepub async fn get_recent_episodes(
&self,
limit: usize,
) -> RragResult<Vec<Episode>>
pub async fn get_recent_episodes( &self, limit: usize, ) -> RragResult<Vec<Episode>>
Get recent episodes
Sourcepub async fn find_by_topic(&self, topic: &str) -> RragResult<Vec<Episode>>
pub async fn find_by_topic(&self, topic: &str) -> RragResult<Vec<Episode>>
Find episodes by topic
Sourcepub async fn find_by_importance(
&self,
min_importance: f64,
) -> RragResult<Vec<Episode>>
pub async fn find_by_importance( &self, min_importance: f64, ) -> RragResult<Vec<Episode>>
Find episodes by importance threshold
Sourcepub async fn find_by_date_range(
&self,
start: DateTime<Utc>,
end: DateTime<Utc>,
) -> RragResult<Vec<Episode>>
pub async fn find_by_date_range( &self, start: DateTime<Utc>, end: DateTime<Utc>, ) -> RragResult<Vec<Episode>>
Find episodes within a date range
Sourcepub async fn get_all_episodes(&self) -> RragResult<Vec<Episode>>
pub async fn get_all_episodes(&self) -> RragResult<Vec<Episode>>
Get all episodes
Sourcepub async fn delete_episode(&self, episode_id: &str) -> RragResult<bool>
pub async fn delete_episode(&self, episode_id: &str) -> RragResult<bool>
Delete an episode
Sourcepub async fn count(&self) -> RragResult<usize>
pub async fn count(&self) -> RragResult<usize>
Count episodes
Sourcepub async fn clear(&self) -> RragResult<()>
pub async fn clear(&self) -> RragResult<()>
Clear all episodes
Sourcepub async fn generate_context_summary(
&self,
num_episodes: usize,
) -> RragResult<String>
pub async fn generate_context_summary( &self, num_episodes: usize, ) -> RragResult<String>
Generate a summary from recent episodes
Sourcepub async fn create_episode_from_messages(
&self,
messages: &[ChatMessage],
llm_client: &Client,
) -> RragResult<Episode>
Available on crate feature rexis-llm-client only.
pub async fn create_episode_from_messages( &self, messages: &[ChatMessage], llm_client: &Client, ) -> RragResult<Episode>
rexis-llm-client only.Create an episode from conversation messages using LLM summarization (requires ‘rsllm-client’ feature)
Sourcepub async fn generate_llm_summary(
&self,
num_episodes: usize,
llm_client: &Client,
) -> RragResult<String>
Available on crate feature rexis-llm-client only.
pub async fn generate_llm_summary( &self, num_episodes: usize, llm_client: &Client, ) -> RragResult<String>
rexis-llm-client only.Generate a comprehensive summary of recent episodes using LLM (requires ‘rsllm-client’ feature)
Sourcepub async fn extract_insights(
&self,
episode: &Episode,
llm_client: &Client,
) -> RragResult<Vec<String>>
Available on crate feature rexis-llm-client only.
pub async fn extract_insights( &self, episode: &Episode, llm_client: &Client, ) -> RragResult<Vec<String>>
rexis-llm-client only.Extract insights from an episode using LLM analysis (requires ‘rsllm-client’ feature)
Auto Trait Implementations§
impl Freeze for EpisodicMemory
impl !RefUnwindSafe for EpisodicMemory
impl Send for EpisodicMemory
impl Sync for EpisodicMemory
impl Unpin for EpisodicMemory
impl !UnwindSafe for EpisodicMemory
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