Skip to main content

DBConfig

The DBConfig class specifies the storage location for the index, with options for in-memory storage, databases, or file-based storage.

Parameters

The supported location options are:
  • "redis": Use for high-speed, in-memory storage (recommended for index_location).
  • "postgres": Use for reliable, SQL-based storage (recommended for config_location).
  • "memory" Use for temporary in-memory storage (for benchmarking and evaluation purposes).

Example Usage

For more info, you can read about supported backing stores here.

GPUConfig

The GPUConfig class configures which operations should use GPU acceleration. GPU acceleration requires CUDA support.

Parameters

The query parameter is not available in the constructor. To enable GPU for query operations, you must enable both upsert=True and train=True, or use the bitflag operations directly in C++.

Properties (Read-Only)

Example Usage


DistanceMetric

DistanceMetric is a string representing the distance metric used for the index. Options include:
  • "cosine": Cosine similarity.
  • "euclidean": Euclidean distance.
  • "squared_euclidean": Squared Euclidean distance.

IndexConfig

The IndexConfig class defines the parameters for the type of index to be created. Each index type (e.g., ivf, ivfflat, ivfpq) has unique configuration options:

IndexIVF

Ideal for large-scale datasets where fast retrieval is prioritized over high recall:

Parameters

Properties (Read-Only)

Example Usage

IndexIVFFlat

Suitable for applications requiring high recall with less concern for memory usage:

Parameters

Properties (Read-Only)

Example Usage

IndexIVFFlat is the default index configuration and is suitable for most use cases.

IndexIVFPQ

Product Quantization compresses embeddings, making it suitable for balancing memory use and recall:

Parameters

Properties (Read-Only)

Example Usage

If dimension is not provided, it will be auto-determined based on the first vector embedding added to the index.