pub struct Memory {
pub id: Uuid,
pub content: String,
pub content_hash: String,
pub tags: Vec<String>,
pub context: String,
pub summary: String,
pub chunk_index: Option<i32>,
pub total_chunks: Option<i32>,
pub parent_id: Option<Uuid>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Enhanced memory structure for text storage with context and summary Implements encoding specificity principle (Tulving & Thomson, 1973)
Fields§
§id: Uuid§content: String§content_hash: String§context: String§summary: String§chunk_index: Option<i32>§total_chunks: Option<i32>§parent_id: Option<Uuid>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl Memory
impl Memory
Sourcepub fn new(
content: String,
context: String,
summary: String,
tags: Option<Vec<String>>,
) -> Self
pub fn new( content: String, context: String, summary: String, tags: Option<Vec<String>>, ) -> Self
Create a new memory with the given content Implements encoding specificity principle - context matters for retrieval
Sourcepub fn new_chunk(
content: String,
context: String,
summary: String,
tags: Option<Vec<String>>,
chunk_index: i32,
total_chunks: i32,
parent_id: Uuid,
) -> Self
pub fn new_chunk( content: String, context: String, summary: String, tags: Option<Vec<String>>, chunk_index: i32, total_chunks: i32, parent_id: Uuid, ) -> Self
Create a new chunked memory with parent reference Preserves context specificity for chunked content
Sourcepub fn is_semantically_similar(
&self,
other: &Memory,
similarity_threshold: f64,
) -> bool
pub fn is_semantically_similar( &self, other: &Memory, similarity_threshold: f64, ) -> bool
Check semantic similarity between two memories Implements transfer appropriate processing - matching encoding and retrieval contexts
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Memory
impl<'de> Deserialize<'de> for Memory
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Send for Memory
impl Sync for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more