Введение в векторный поиск 2.0

1. Введение

Последнее обновление: 04.03.2026

Векторный поиск , или векторная база данных, стал основополагающей технологией для современных систем искусственного интеллекта. Представляя данные в виде многомерных вложений, отражающих семантическое значение, он лежит в основе всего: от семантического поиска, понимающего намерения пользователя, до рекомендательных систем, отображающих релевантный контент, до генерации с расширенным поиском (RAG) и агентов ИИ, которые основывают ответы LLM на реальной, актуальной информации. Крупные технологические компании, включая Google, используют эту технологию в огромных масштабах для обработки миллиардов поисковых запросов, рекомендаций и оснований ежедневно.

Однако создание готовых к использованию векторных поисковых систем по-прежнему остается сложной задачей. Недавно Google выпустил Vertex AI Vector Search 2.0, чтобы изменить это — полностью управляемый сервис, разработанный для устранения сложностей проектирования и эксплуатации, которые замедляют работу команд.

26136405e588dcfd.png

Почему векторный поиск сложнее, чем кажется

Концепция проста. А вот реализация? Вот тут-то и начинаются сложности.

61df16b7d734ee87.png

Генерация векторных представлений. Векторный поиск требует преобразования ваших данных в числовые представления (встраивания), которые отражают семантическое значение. Это означает, что вам нужно вызвать API для работы с векторными представлениями , объединить запросы в пакеты, обработать ограничения скорости и сохранить векторы. Каждый раз, когда ваши данные изменяются, вы перезапускаете конвейер. Это инфраструктура, которую вам нужно построить, прежде чем вы сможете даже начать поиск.

Хранилище признаков. Многие продукты для векторного поиска предоставляют только векторный индекс, который возвращает список идентификаторов товаров для каждого поиска. Для предоставления пользователям полных результатов поиска необходимо отдельное хранилище признаков или хранилище типа «ключ-значение» для получения фактических данных о товарах — названий, цен, категорий, URL-адресов изображений в миллисекунды — путем передачи этих идентификаторов. Во многих случаях также необходимо реализовать сложную фильтрацию по признакам товаров, таким как цена, категория или наличие. Это означает создание и поддержку двух разных сервисов: одного для векторного поиска, другого для извлечения данных и фильтрации. Каждое обновление и запрос требуют доступа к обеим системам и их синхронизации.

Настройка индекса. Для построения приблизительных индексов ближайших соседей (ANN) с миллионами элементов необходимо принимать экспертные решения для достижения наилучшей производительности: сколько элементов должен содержать каждый узел индекса? Какой процент индекса должен сканироваться за запрос, чтобы сбалансировать полноту и задержку? Какой размер шарда соответствует вашему набору данных? Это решения, касающиеся инфраструктуры машинного обучения, которые не имеют никакого отношения к вашему реальному продукту.

Гибридный поиск. Семантический поиск отлично справляется с пониманием намерений — например, находит «пляжные шорты», когда пользователи ищут «мужскую одежду для пляжа». Но он не справляется с кодами товаров, такими как «SKU-12345», которые не имеют семантического значения, и испытывает трудности с недавно придуманными терминами или названиями брендов, которые модель встраивания никогда не встречала. Поиск по ключевым словам обрабатывает эти случаи, но упускает семантический контекст. Пользователям нужны оба варианта, поэтому гибридный поиск стал необходимым. Однако его создание далеко не тривиально. Вам нужна полнотекстовая поисковая система с токенизацией, инвертированными индексами или разреженными встраиваниями — в дополнение к вашей векторной поисковой системе. Затем необходимо выполнять параллельные запросы к обеим системам, нормализовать их различные системы оценки и объединять результаты с помощью таких методов, как Reciprocal Rank Fusion.

Как Vector Search 2.0 решает эти проблемы

Технология Vector Search 2.0 в Google Cloud напрямую решает каждую из этих задач:

eb385a0369369374.png

43d893d0a2bf1fe1.png

На этом мастер-классе мы создадим полностью управляемый гибридный поиск, используя 10 000 товаров модной индустрии из набора данных TheLook об электронной коммерции .

Что такое векторный поиск 2.0?

Vector Search 2.0 — это полностью управляемая, самонастраивающаяся векторная база данных от Google Cloud, построенная на алгоритме Google ScaNN (Scalable Nearest Neighbors) — той же технологии, которая используется в Google Поиске, YouTube и Google Play.

Ключевые отличия

  • От нулевой индексации до индексации миллиардов векторов : начните разработку немедленно с нулевой задержкой индексации, используя kNN (метод k-ближайших соседей) , а затем масштабируйте до миллиардов векторов с задержкой в ​​миллисекунды с помощью индексов ANN (приблизительных ближайших соседей) масштаба Google для производственной среды — все с тем же API и тем же набором данных.
  • Единое хранилище данных : храните вместе векторные представления и предоставленные пользователем данные (отдельная база данных или хранилище признаков не требуется).
  • Автоматическое создание эмбеддингов : автоматическое создание семантических эмбеддингов с использованием моделей эмбеддингов Vertex AI.
  • Встроенный полнотекстовый поиск : обеспечивает встроенный полнотекстовый поиск без необходимости самостоятельного создания разреженных векторных представлений. Вы также можете использовать собственные разреженные векторные представления (например, BM25, SPLADE) с векторным поиском для настраиваемого полнотекстового поиска.
  • Гибридный поиск : объединение семантического поиска и поиска по ключевым словам/токенам в одном запросе с интеллектуальным ранжированием RRF.
  • Самонастройка : автоматическая оптимизация производительности без ручной настройки.
  • Готовность к использованию в корпоративной среде : встроенная масштабируемость, безопасность и соответствие нормативным требованиям.

Базовая архитектура

Vector Search 2.0 состоит из трех основных компонентов:

  1. Коллекции : контейнеры для ваших данных, использующие схему хранения.
  2. Объекты данных : Отдельные элементы, содержащие данные и векторные представления.
  3. Индексы : Мгновенный поиск ближайшего соседа в ваших данных с помощью алгоритма kNN. Для поиска ближайшего соседа с низкой задержкой используйте индекс ANN.
  • Быстрый старт : используйте kNN немедленно, без времени на настройку — идеально подходит для разработки и небольших наборов данных.
  • Масштабирование до уровня производства : используйте индексы ANN для поиска в масштабах миллиардов запросов с задержкой менее секунды на основе алгоритма ScaNN.

Давайте рассмотрим каждую концепцию на практических примерах!

2. Создание образа в рамках модного поиска.

Представьте, что покупатель заходит на ваш сайт интернет-магазина и вводит в поиск «что-нибудь милое для пляжного отдыха». При традиционном поиске по ключевым словам он не получает никаких результатов — в вашем каталоге нет товаров, содержащих именно эти слова. Разочарованный, он уходит.

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

Чтобы продемонстрировать, как Vector Search 2.0 делает это возможным, мы создадим систему поиска товаров, используя TheLook — реалистичный набор данных для электронной коммерции, содержащий 30 000 товаров модной одежды в 26 категориях. Каждый товар имеет атрибуты, которые вы найдете в любом реальном каталоге:

40d8ed36e05881be.png

Поисковые задачи, которые мы решим

Реальные клиенты ищут информацию не так, как это ожидают базы данных. Они ищут так, как думают:

a76cbe51798283d7.png

Vector Search 2.0 решает все четыре задачи благодаря единой архитектуре.

Архитектура данных векторного поиска 2.0

Прежде чем перейти к коду, давайте разберемся, как Vector Search 2.0 организует ваши данные. Архитектура основана на трех ключевых концепциях: коллекциях, объектах данных и индексах.

8eed6976638d4cf0.jpeg

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

Создание поисковой выдачи TheLook: шаг за шагом

Теперь давайте создадим работающую систему поиска товаров. Мы загрузим 10 000 товаров из раздела «Мода» на сайте TheLook, включим автоматическое встраивание и выполним семантический, ключевой и гибридный поиск — и всё это примерно за 50 строк кода.

Откройте блокнот: Введение в Vertex AI Vector Search 2.0

Гибридный поиск в действии

Vector Search 2.0 поддерживает три режима поиска: семантический поиск (понимает намерение пользователя с помощью векторных представлений), текстовый поиск (сопоставление ключевых слов) и гибридный поиск (сочетает оба). Гибридный поиск дает наилучшие результаты в большинстве случаев: семантический поиск находит «пляжные шорты», когда пользователи ищут «мужскую одежду для пляжа», а текстовый поиск гарантирует точное совпадение, например, не пропускает коды товаров.

c279a1b2a12a8b2d.png

Почему важны векторные представления типов задач

Обратите внимание на параметры task_type в приведенном выше коде: RETRIEVAL_DOCUMENT при индексировании продуктов и QUESTION_ANSWERING при поиске. Это не случайно — это ключевой метод повышения качества поиска, позволяющий модели встраивания работать как рекомендательная модель.

В большинстве случаев векторный поиск основан на простом сопоставлении по сходству, но это часто не обеспечивает качество поиска на уровне производственных задач, поскольку вопросы и ответы не являются по своей сути похожими в пространстве встраивания. «Что хорошо для пляжного отдыха?» и «Шорты для плавания» имеют разную семантику, но должны совпадать. Встраивание по типу задачи решает эту проблему, оптимизируя модель встраивания для асимметричных отношений: документы встраиваются иначе, чем запросы, создавая пространство встраивания, где релевантные совпадения группируются вместе — добавляя возможность рекомендаций, поиска релевантных элементов на основе намерений пользователя.

807608c0806b2f3c.png

Использование векторных представлений, специфичных для конкретной задачи, может улучшить качество поиска на 30–40% по сравнению с общими векторными представлениями. Более подробное описание принципа работы см. в блокноте «Векторные представления для типов задач» .

От нуля до миллиардного масштаба

Для масштабного производства Vector Search 2.0 предлагает индексы ANN (Approximate Nearest Neighbor), основанные на алгоритме Google ScaNN (Scalable Nearest Neighbors) — той же технологии, что используется в Google Search, YouTube и Google Play. ANN жертвует незначительной точностью (~99%) ради значительного увеличения скорости: задержка менее 10 мс даже при работе с миллиардами векторов.

6d412a551119495b.jpeg

Полная картина

Всего за пять шагов — при этом шаги с 1 по 4 занимают около 5 минут — мы создали готовую к внедрению систему поиска товаров:

e2a176d9dec3a2a8.jpeg

Vector Search 2.0 устраняет инфраструктурную сложность, которая обычно замедляет внедрение векторного поиска. Вы сосредотачиваетесь на своем продукте; платформа берет на себя встраивание данных, индексирование и масштабирование.

3. Поздравляем!

Поздравляем, вы успешно создали свое первое приложение с помощью Vector Search 2.0!

Дополнительная информация