pub struct DynamicIndex { /* private fields */ }Expand description
Dynamic index that supports multiple embedding versions
Implementations§
Source§impl DynamicIndex
impl DynamicIndex
Sourcepub fn new(initial_version: ModelVersion, dimension: usize) -> Result<Self>
pub fn new(initial_version: ModelVersion, dimension: usize) -> Result<Self>
Create a new dynamic index
Sourcepub fn active_version(&self) -> ModelVersion
pub fn active_version(&self) -> ModelVersion
Get the current active version
Sourcepub fn add_version(
&self,
version: ModelVersion,
transform: Option<EmbeddingTransform>,
) -> Result<()>
pub fn add_version( &self, version: ModelVersion, transform: Option<EmbeddingTransform>, ) -> Result<()>
Add a new version with optional transform from previous version
Sourcepub fn set_active_version(&self, version: ModelVersion) -> Result<()>
pub fn set_active_version(&self, version: ModelVersion) -> Result<()>
Set the active version
Sourcepub fn insert(
&self,
cid: &Cid,
embedding: &[f32],
version: Option<ModelVersion>,
) -> Result<()>
pub fn insert( &self, cid: &Cid, embedding: &[f32], version: Option<ModelVersion>, ) -> Result<()>
Insert an embedding for a specific version
Sourcepub fn update(
&self,
cid: &Cid,
new_embedding: &[f32],
version: Option<ModelVersion>,
) -> Result<()>
pub fn update( &self, cid: &Cid, new_embedding: &[f32], version: Option<ModelVersion>, ) -> Result<()>
Update an existing embedding
Sourcepub fn migrate(&self, from: &ModelVersion, to: &ModelVersion) -> Result<usize>
pub fn migrate(&self, from: &ModelVersion, to: &ModelVersion) -> Result<usize>
Migrate embeddings from one version to another
Sourcepub fn version_stats(&self) -> HashMap<ModelVersion, VersionStats>
pub fn version_stats(&self) -> HashMap<ModelVersion, VersionStats>
Get statistics for all versions
Auto Trait Implementations§
impl Freeze for DynamicIndex
impl RefUnwindSafe for DynamicIndex
impl Send for DynamicIndex
impl Sync for DynamicIndex
impl Unpin for DynamicIndex
impl UnwindSafe for DynamicIndex
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.