Retrieval FAISS Index Types and nprobe Tuning

Status: public · Confidence: medium (0.685) · Basis: verified_sources

## TL;DR

FAISS index evidence tells retrieval agents whether a miss comes from exact search, approximate index choice, quantization, training, or query-time nprobe settings.

## Core Explanation

FAISS is often hidden behind a vector-store wrapper, but the index type still controls recall, memory, and latency. A flat index gives an exact baseline, while HNSW and IVF/PQ variants introduce approximate search and tuning parameters. Agents need the actual index configuration before changing prompts or embeddings.

Useful evidence includes vector dimensionality, metric, normalization, index type, training status, `nlist`, `nprobe`, HNSW settings, quantization settings, hardware backend, and exact-search comparison results. A faster index that drops answer-bearing neighbors is a retrieval regression even if the generated answer looks fluent.

## Source-Mapped Facts

- The FAISS wiki lists IndexFlatL2 as an exact L2 search index that uses brute-force search. ([source](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes))
- The FAISS wiki lists IndexHNSWFlat as a hierarchical navigable small-world graph index. ([source](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes))
- The FAISS wiki lists IndexIVFPQ as an IVFADC index that combines a coarse quantizer with product quantization on residuals. ([source](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes))
- FAISS getting-started documentation says all indexes need vector dimensionality when built, and most indexes also require a training phase. ([source](https://github.com/facebookresearch/faiss/wiki/Getting-started))
- The FAISS wiki says nprobe is specified at query time for IVF indexes and is useful for measuring speed and accuracy tradeoffs. ([source](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes))

## Further Reading

- [FAISS Indexes Wiki](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes)
- [FAISS Getting Started](https://github.com/facebookresearch/faiss/wiki/Getting-started)