Vector database

Материал из Montelibero
Перейти к навигацииПерейти к поиску

Vector database (векторная база данных) — специализированное хранилище для поиска по эмбеддингам.

Общее

Обычная БД ищет по точному совпадению или префиксу. Vector database ищет по близости векторов — находит семантически похожие объекты.

Как работает

  1. Документы преобразуются в Embedding и сохраняются в базу.
  2. При поиске запрос тоже преобразуется в эмбеддинг.
  3. База находит K ближайших векторов (KNN — K Nearest Neighbors).
  4. Возвращаются соответствующие документы.

Примеры

  • Pinecone — managed, облако.
  • Qdrant — open-source, Rust.
  • Chroma — open-source, Python.
  • Weaviate — open-source, гибридный поиск.
  • Milvus — open-source, масштабируемый.

Индексы

Полный перебор всех векторов — медленно. Используются approximate nearest neighbor (ANN) индексы:

  • HNSW — иерархический граф (быстрый, точный).
  • IVF — инвертированный файл (быстрый, менее точный).
  • PQ — product quantization (компактное хранение).

Связанные понятия

  • Embedding — данные, хранящиеся в vector database.
  • Semantic search — применение vector database.
  • RAG — архитектура, использующая vector database.