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.

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

Example Usage

IndexIVFFlat

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

Parameters

Example Usage

IndexIVFPQ

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

Parameters

Example Usage