База данных для ИИ Б

Специализированные базы данных для хранения и поиска векторных представлений (эмбеддингов) данных, обеспечивающие семантический поиск для приложений на базе ИИ.

English Vector databases, vector stores
Синонимы Векторные базы данных, векторные хранилища, VDB, Vector DB

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

Как это работает

Процесс начинается с преобразования данных в векторы с помощью модели эмбеддингов. Например, текст «горный велосипед для бездорожья» превращается в массив из 768 или 1536 чисел, где каждое измерение отражает определённый семантический признак. Семантически близкие объекты получают близкие векторы в многомерном пространстве.

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

Зачем это нужно

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

Это позволяет:

  • Строить ИИ-ассистентов, отвечающих по внутренней документации без дообучения модели
  • Реализовывать семантический поиск, устойчивый к опечаткам и синонимам
  • Создавать рекомендательные системы, сравнивающие объекты по смыслу, а не по тегам
  • Искать по разнородным данным: текстам, изображениям, аудио — в едином пространстве

Примеры

  • Корпоративная база знаний: компания загружает 5000 страниц документации в векторную базу. Сотрудник спрашивает: «Как оформить возврат для клиента из ЕС?» — система находит три релевантных раздела и передаёт их LLM, который формулирует ответ.
  • Подбор товаров: интернет-магазин векторизует описания товаров. Пользователь вводит «лёгкая куртка для межсезонья» — векторный поиск находит товары, семантически близкие к запросу, даже если в описании нет слова «куртка».
  • Поиск по изображениям: платформа хранит эмбеддинги фотографий. Запрос «закат на море» находит изображения без ручной разметки тегами.
  • Yandex Алиса Про: использует векторный поиск в YDB для персонализации ответов на основе предпочтений пользователя.

Метрики

Ключевые метрики при выборе и настройке векторной базы:

  • Recall@K — доля релевантных результатов среди K найденных. Целевое значение для production: 90%+.
  • Latency (P50/P99) — задержка поиска. Для интерактивных приложений приемлемо P99 до 50–100 мс.
  • QPS — запросов в секунду при заданном уровне recall.
  • Потребление памяти — байт на вектор. Квантизация (например, бинарная у Qdrant) даёт сжатие до 32x с небольшой потерей точности.

Типичные ошибки

  • Использование векторной базы для задач, где хватит pgvector. Если у вас меньше 50–100 тысяч векторов, PostgreSQL с расширением pgvector проще и дешевле специализированного решения.
  • Игнорирование гибридного поиска. Чистый векторный поиск проигрывает на точных запросах (артикулы, имена, аббревиатуры). Комбинация BM25 + вектор даёт лучший результат в большинстве RAG-сценариев.
  • Векторизация всего подряд без чанкинга. Длинные документы разбиваются на фрагменты по 200–500 токенов с перекрытием. Целый документ в одном эмбеддинге размывает смысл.
  • Выбор по бенчмаркам вендоров. Vendor benchmarks показывают производительность в идеальных условиях. Реальный результат зависит от ваших данных, фильтров и нагрузки.

Как улучшить

  • Экспериментируйте с размером чанка и перекрытием. Для технической документации подходят фрагменты по 300–500 токенов, для юридических текстов — крупнее.
  • Добавьте метаданные для фильтрации. Храните вместе с вектором дату, автора, категорию — это позволяет сузить поиск до релевантного подмножества до вычисления расстояний.
  • Используйте гибридный поиск. Комбинируйте векторное сходство с BM25 или полнотекстовым поиском. Настройте вес (alpha) под ваш тип запросов.
  • Применяйте квантизацию для больших объёмов. При миллионах векторов scalar или binary quantization снижает требования к памяти с приемлемой потерей recall.
  • Выбирайте алгоритм индексации под нагрузку. HNSW — для низкой задержки, IVF — для быстрой сборки, DiskANN — для данных, не помещающихся в RAM.

Источники

Microsoft Learn — Векторные базы данных для .NET + AI (https://learn.microsoft.com/ru-ru/dotnet/ai/conceptual/vector-databases)

Le Ma et al. — A Comprehensive Survey on Vector Database (arXiv:2310.11703)

IEEE Xplore — A Deep Dive into Vector Stores: Classifying the Backbone of RAG

Yandex B2B Tech — YDB с поддержкой векторного поиска