Neighbors Cagra Params Module

View as Markdown

Rust module: cuvs::neighbors::cagra::params

Source: rust/cuvs/src/neighbors/cagra/params.rs

Builder-pattern parameter types for CAGRA index build and search.

Each parameter type owns its C params handle directly. The generated bon builder configures that handle in the constructor, so there is no duplicate Rust field-bag to keep in sync with the FFI state. All setters are optional; unset values retain the library defaults from the underlying C *ParamsCreate functions. Out-of-range values are rejected by build() with [CagraError::Validation].

CompressionParams

1pub struct CompressionParams {
2 /* private fields */
3}

VPQ (Vector-Product Quantization) compression parameters.

Attach to [IndexParams] to enable compressed dataset storage.

Methods

NameSource
newrust/cuvs/src/neighbors/cagra/params.rs:39

new

1#[builder]
2pub fn new(
3pq_bits: Option<u32>,
4pq_dim: Option<u32>,
5vq_n_centers: Option<u32>,
6kmeans_n_iters: Option<u32>,
7vq_kmeans_trainset_fraction: Option<f64>,
8pq_kmeans_trainset_fraction: Option<f64>,
9) -> Result<Self, CagraError>

Source: rust/cuvs/src/neighbors/cagra/params.rs:39

Source: rust/cuvs/src/neighbors/cagra/params.rs:32

IndexParams

1pub struct IndexParams {
2 /* private fields */
3}

Parameters for building a CAGRA index.

use cuvs::neighbors::cagra::IndexParams;
use cuvs::distance::DistanceType;
let params = IndexParams::builder()
.metric(DistanceType::InnerProduct)
.graph_degree(64)
.build()?;

Methods

NameSource
newrust/cuvs/src/neighbors/cagra/params.rs:153

new

1#[builder]
2pub fn new(
3metric: Option<DistanceType>,
4intermediate_graph_degree: Option<usize>,
5graph_degree: Option<usize>,
6compression: Option<CompressionParams>,
7#[builder(setters(vis = "", some_fn = graph_build_internal))] graph_build: Option<
8RequestedGraphBuild,
9>,
10) -> Result<Self, CagraError>

Source: rust/cuvs/src/neighbors/cagra/params.rs:153

Source: rust/cuvs/src/neighbors/cagra/params.rs:142

SearchParams

1pub struct SearchParams {
2 /* private fields */
3}

Parameters for searching a CAGRA index.

use cuvs::neighbors::cagra::SearchParams;
let params = SearchParams::builder().itopk_size(128).build()?;

Methods

NameSource
newrust/cuvs/src/neighbors/cagra/params.rs:340

new

1#[builder]
2#[allow(clippy::too_many_arguments)]
3pub fn new(
4max_queries: Option<usize>,
5itopk_size: Option<usize>,
6max_iterations: Option<usize>,
7algo: Option<SearchAlgo>,
8team_size: Option<usize>,
9min_iterations: Option<usize>,
10thread_block_size: Option<usize>,
11hashmap_mode: Option<HashMode>,
12hashmap_min_bitlen: Option<usize>,
13hashmap_max_fill_rate: Option<f32>,
14num_random_samplings: Option<u32>,
15rand_xor_mask: Option<u64>,
16) -> Result<Self, CagraError>

Source: rust/cuvs/src/neighbors/cagra/params.rs:340

Source: rust/cuvs/src/neighbors/cagra/params.rs:332

impl IndexParamsBuilder

1impl IndexParamsBuilder

Methods

NameSource
autorust/cuvs/src/neighbors/cagra/params.rs:214
nn_descentrust/cuvs/src/neighbors/cagra/params.rs:221
nn_descent_with_iterationsrust/cuvs/src/neighbors/cagra/params.rs:228
iterative_cagra_searchrust/cuvs/src/neighbors/cagra/params.rs:238
acerust/cuvs/src/neighbors/cagra/params.rs:245
ivf_pqrust/cuvs/src/neighbors/cagra/params.rs:252

auto

1pub fn auto(self) -> IndexParamsBuilder<SetGraphBuild<S>>
2where
3S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:214

nn_descent

1pub fn nn_descent(self) -> IndexParamsBuilder<SetGraphBuild<S>>
2where
3S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:221

nn_descent_with_iterations

1pub fn nn_descent_with_iterations(
2self,
3iterations: usize,
4) -> IndexParamsBuilder<SetGraphBuild<S>>
5where
6S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:228

1pub fn iterative_cagra_search(self) -> IndexParamsBuilder<SetGraphBuild<S>>
2where
3S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:238

ace

1pub fn ace(self) -> IndexParamsBuilder<SetGraphBuild<S>>
2where
3S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:245

ivf_pq

1pub fn ivf_pq(self) -> IndexParamsBuilder<SetGraphBuild<S>>
2where
3S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:252

Source: rust/cuvs/src/neighbors/cagra/params.rs:213