Что такое векторная база данных?

Векторная база данных хранит и индексирует многомерные векторы эмбеддингов из моделей машинного обучения, обеспечивая быстрый поиск по сходству для ИИ-приложений, таких как RAG и семантический поиск.

Векторная база данных — это специализированная система хранения, предназначенная для работы с многомерными векторами — числовыми массивами, обычно состоящими из сотен или тысяч чисел с плавающей точкой, которые модели машинного обучения используют для представления смысла. Слова, предложения, изображения, аудиофрагменты и поведение пользователей — всё это можно кодировать в виде векторов, и векторная база данных позволяет хранить миллиарды таких эмбеддингов и находить ближайшие совпадения к новому запросу за миллисекунды.

Как работает векторная база данных

Когда модель машинного обучения, такая как большая языковая модель или энкодер изображений, создаёт эмбеддинг, этот вектор отправляется в базу данных вместе со ссылкой на исходный объект — фрагмент текста, файл изображения, запись о товаре и так далее. База данных строит индекс с использованием алгоритма приблизительного поиска ближайших соседей (ANN), такого как HNSW (Hierarchical Navigable Small World) или IVF (Inverted File Index) — структур, которые немного жертвуют точностью ради значительно более быстрых запросов на больших наборах данных. Во время поиска приложение отправляет свежий эмбеддинг в качестве запроса, и индекс возвращает top-k векторов, ранжированных по метрике сходства — обычно косинусному сходству, скалярному произведению или евклидову расстоянию.

Почему это важно

Традиционный поиск по ключевым словам не способен определить, что «пушистый питомец» и «домашняя кошка» означают почти одно и то же, но их эмбеддинги оказываются близко друг к другу в векторном пространстве, поэтому векторная база данных всё равно находит их как совпадения. Именно эта возможность лежит в основе современного семантического поиска, рекомендательных систем, поиска изображений и аудио, обнаружения аномалий и этапа извлечения в Retrieval-Augmented Generation (RAG), где LLM опирается на документы, полученные из векторного хранилища. Без специально разработанного индексирования сравнение запроса с миллионами векторов по одному было бы слишком медленным для продакшн-нагрузки.

Основные типы и примеры

  • Специализированные векторные базы данных: движки, созданные специально для этой задачи, такие как Milvus, Qdrant, Weaviate и Pinecone, с самого начала спроектированные вокруг ANN-индексов.
  • Библиотеки векторного поиска: лёгкие движки, такие как FAISS и Annoy, которые работают внутри приложения, а не как отдельный сервис.
  • Гибридные базы данных: традиционные хранилища, такие как PostgreSQL (через pgvector), Elasticsearch и MongoDB, которые добавляют векторное индексирование к существующим документным или реляционным возможностям.
  • Управляемые облачные сервисы: хостинговые предложения от крупных облачных провайдеров, которые интегрируют векторный поиск с более широкими платформами обработки данных.

Выбор между ними обычно зависит от масштаба, требований к задержке, от того, хранятся ли данные вместе со структурированными записями, и от того, какую операционную нагрузку готова взять на себя команда. Лучшие системы в этой области оцениваются на бенчмарках, таких как таблица лидеров ANN-Benchmarks, которая сравнивает полноту с количеством запросов в секунду на репрезентативных наборах данных.

You might also like

Похожие статьи

Что такое эмбеддинг?

Эмбеддинг — это числовое представление данных (чаще всего текста, но также изображений, аудио или поведения пользователя) в виде точки (вектора вещественных чисел) в многомерном пространстве, созданное так, чтобы семантически похожие объекты оказывались рядом друг с другом. Эмбеддинги позволяют моделям машинного обучения измерять сходство, находить ближайших соседей и

Читать далее →

Что такое генерация с дополнением извлечением (RAG)?

RAG объединяет языковую модель с поиском по документам, благодаря чему ответы опираются на найденные источники, а не только на память, заложенную при обучении модели.

Читать далее →
Обзор Graphlit: API-ориентированная платформа ИИ для неструктурированных данных

Обзор Graphlit: API-ориентированная платформа ИИ для неструктурированных данных

Graphlit — это бессерверная API-ориентированная платформа, которая помогает разработчикам извлекать структурированные знания из неструктурированного контента, такого как PDF-файлы, видео и веб-страницы. Вот как она справляется с реальной разработкой ИИ-приложений.

Читать далее →