Vector database
Материал из Montelibero
Vector database (векторная база данных) — специализированное хранилище для поиска по эмбеддингам.
Общее
Обычная БД ищет по точному совпадению или префиксу. Vector database ищет по близости векторов — находит семантически похожие объекты.
Как работает
- Документы преобразуются в Embedding и сохраняются в базу.
- При поиске запрос тоже преобразуется в эмбеддинг.
- База находит K ближайших векторов (KNN — K Nearest Neighbors).
- Возвращаются соответствующие документы.
Примеры
- 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.