pub struct EmbeddingIndex {
pub version: u32,
pub dimensions: usize,
pub entries: Vec<EmbeddingEntry>,
pub file_hashes: HashMap<String, String>,
}Fields§
§version: u32§dimensions: usize§entries: Vec<EmbeddingEntry>§file_hashes: HashMap<String, String>Implementations§
Source§impl EmbeddingIndex
impl EmbeddingIndex
pub fn new(dimensions: usize) -> Self
Sourcepub fn load_or_new(root: &Path, dimensions: usize) -> Self
pub fn load_or_new(root: &Path, dimensions: usize) -> Self
Load a previously saved index, or create a new empty one.
Sourcepub fn files_needing_update(&self, chunks: &[CodeChunk]) -> Vec<String>
pub fn files_needing_update(&self, chunks: &[CodeChunk]) -> Vec<String>
Determine which files need re-embedding based on content hashes.
Sourcepub fn update(
&mut self,
chunks: &[CodeChunk],
new_embeddings: &[(usize, Vec<f32>)],
changed_files: &[String],
)
pub fn update( &mut self, chunks: &[CodeChunk], new_embeddings: &[(usize, Vec<f32>)], changed_files: &[String], )
Update the index with new embeddings for changed files. Preserves existing embeddings for unchanged files.
Sourcepub fn get_aligned_embeddings(
&self,
chunks: &[CodeChunk],
) -> Option<Vec<Vec<f32>>>
pub fn get_aligned_embeddings( &self, chunks: &[CodeChunk], ) -> Option<Vec<Vec<f32>>>
Get all embeddings in chunk order (aligned with BM25Index.chunks). Returns None if index doesn’t cover all chunks.
pub fn coverage(&self, total_chunks: usize) -> f64
pub fn save(&self, root: &Path) -> Result<()>
pub fn load(root: &Path) -> Option<Self>
Trait Implementations§
Source§impl Clone for EmbeddingIndex
impl Clone for EmbeddingIndex
Source§fn clone(&self) -> EmbeddingIndex
fn clone(&self) -> EmbeddingIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EmbeddingIndex
impl Debug for EmbeddingIndex
Source§impl<'de> Deserialize<'de> for EmbeddingIndex
impl<'de> Deserialize<'de> for EmbeddingIndex
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 EmbeddingIndex
impl RefUnwindSafe for EmbeddingIndex
impl Send for EmbeddingIndex
impl Sync for EmbeddingIndex
impl Unpin for EmbeddingIndex
impl UnsafeUnpin for EmbeddingIndex
impl UnwindSafe for EmbeddingIndex
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