Специализированная база данных, оптимизированная для быстрого поиска ближайших по смыслу эмбеддингов среди миллионов записей.
Векторная база данных — это специализированное хранилище, оптимизированное для эффективного поиска среди огромного количества векторов (эмбеддингов) тех, что наиболее близки по смыслу к заданному запросу, измеряя расстояние в многомерном пространстве (например, косинусное расстояние), а не точное совпадение значений, как в традиционных реляционных базах данных.
Такая база данных необходима, потому что перебор всех сохранённых векторов «в лоб» становится слишком медленным уже при миллионах записей — векторные базы используют специальные индексные структуры для приближённого поиска ближайших соседей, находящие достаточно точный результат за миллисекунды даже среди миллиардов записей.
Векторная база данных — обязательный компонент практически любой RAG-системы: документы компании заранее превращаются в эмбеддинги и сохраняются в такой базе, а при запросе пользователя система находит наиболее релевантные фрагменты для передачи модели в качестве контекста.
Обычная база данных ищет по точному совпадению значений (например, конкретное имя или ID). Векторная база ищет по семантической близости — находит записи, похожие по смыслу, даже если формулировки различаются.
Для очень малых объёмов данных иногда достаточно простого линейного перебора векторов, но при росте объёма данных специализированная векторная база становится необходимой для приемлемой скорости поиска.
Нет, они решают разные задачи и обычно используются вместе: обычная БД хранит структурированные данные, векторная — эмбеддинги для семантического поиска.