Every RAG postmortem I’ve sat through eventually lands on the same realization: the embedding model was never the bottleneck — the index was. Tom Salembien’s visual walkthrough of FAISS is a sharp reminder of why, revisiting the 2017 billion-scale GPU paper with interactive geometry instead of dense math.

The thing teams underestimate is how much of retrieval quality is decided by index engineering, not model choice:

What I like about the piece is that it treats the index as a systems artifact — partitioning, quantization, memory bandwidth — which is exactly how it behaves in production once your corpus stops fitting in cache. The HN discussion has the usual “just use a managed vector DB” replies, and they’re not wrong for small corpora — but the managed layer is FAISS-shaped underneath, and the moment you care about P99 or cost, you’re back to tuning these same knobs.

So here’s the contrarian bit: the rush to hosted vector databases hasn’t removed this complexity, it’s hidden it behind an API until your bill or your latency forces you to learn it anyway. When did an index config last cost you more recall than your embedding model did?