Vector Search & Approximate Nearest Neighbors

Wprowadzenie

Vector Search to technologia wyszukiwania semantycznego, w której dane są reprezentowane jako wektory (embeddingi), a wyszukiwanie polega na znalezieniu najbardziej podobnych wektorów do zapytania. Ponieważ dokładne wyszukiwanie (Exact Nearest Neighbors) jest zbyt wolne w wysokich wymiarach, stosuje się Approximate Nearest Neighbors (ANN).

Dlaczego Approximate?

W przestrzeniach o wysokiej wymiarowości (np. 768–4096 wymiarów) obliczenie dokładnej odległości do milionów lub miliardów wektorów jest obliczeniowo niewykonalne. ANN poświęca niewielką dokładność na rzecz ogromnego wzrostu prędkości.

Popularne algorytmy ANN

  • HNSW (Hierarchical Navigable Small World) – obecnie najpopularniejszy, świetny balans prędkości i dokładności
  • IVF (Inverted File Index) – bardzo skalowalny, często łączony z PQ
  • PQ (Product Quantization) – kompresja wektorów, duża oszczędność pamięci
  • FAISS (Facebook AI Similarity Search) – najpopularniejsza biblioteka
  • Annoy (Spotify) – prosty i szybki
  • USearch – bardzo szybki, lekki, napisany w C++
  • SCANN (Google) – zoptymalizowany pod kątem Google Cloud

Zastosowania Vector Search

  • RAG (Retrieval-Augmented Generation) – pobieranie kontekstu dla LLM
  • Semantyczne wyszukiwanie dokumentów i wiedzy
  • Systemy rekomendacyjne
  • Wyszukiwanie obrazów i multimodale (CLIP, BLIP)
  • Detekcja duplikatów i near-duplicates
  • Personalizacja i matching

Najpopularniejsze bazy wektorowe (2026)

  • Pinecone
  • Weaviate
  • Qdrant
  • Milvus / Zilliz
  • Chroma
  • pgvector (PostgreSQL)
  • ElasticSearch + vector search

Trade-offy

  • Dokładność vs Prędkość
  • Pamięć vs Wydajność
  • Skalowalność (miliony vs miliardy wektorów)

Powiązane pojęcia

Embeddings • Semantic Search • RAG • HNSW • FAISS • Product Quantization • Cosine Similarity • Vector Database • ANN Algorithms