pub struct IncrementalGpuIndexBuilder { /* private fields */ }Expand description
Incremental GPU index builder for streaming ingestion
Supports adding vectors in micro-batches and triggering GPU rebalancing operations on the HNSW graph.
Implementations§
Source§impl IncrementalGpuIndexBuilder
impl IncrementalGpuIndexBuilder
Sourcepub fn new(
config: GpuIndexBuilderConfig,
micro_batch_threshold: usize,
) -> Result<Self>
pub fn new( config: GpuIndexBuilderConfig, micro_batch_threshold: usize, ) -> Result<Self>
Create a new incremental builder
Sourcepub fn add_vector(&mut self, id: usize, vector: Vec<f32>) -> Result<()>
pub fn add_vector(&mut self, id: usize, vector: Vec<f32>) -> Result<()>
Add a vector to the incremental builder
Sourcepub fn flush_micro_batch(&mut self) -> Result<()>
pub fn flush_micro_batch(&mut self) -> Result<()>
Flush any pending micro-batch and build/update the graph
Sourcepub fn pending_count(&self) -> usize
pub fn pending_count(&self) -> usize
Get count of vectors in the current micro-batch
Sourcepub fn total_committed(&self) -> usize
pub fn total_committed(&self) -> usize
Get total vectors committed so far
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IncrementalGpuIndexBuilder
impl !RefUnwindSafe for IncrementalGpuIndexBuilder
impl Send for IncrementalGpuIndexBuilder
impl Sync for IncrementalGpuIndexBuilder
impl Unpin for IncrementalGpuIndexBuilder
impl UnsafeUnpin for IncrementalGpuIndexBuilder
impl !UnwindSafe for IncrementalGpuIndexBuilder
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> 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<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.