5 августа 2026 года AWS объявила о общедоступности функции векторного поиска в Amazon DynamoDB. Она позволяет хранить векторные эмбеддинги вместе с операционными данными и выполнять поиск сходства непосредственно в таблице — без копирования данных в отдельную векторную базу данных.
Функция обеспечивает задержку в единицы миллисекунд при полноте поиска свыше 99% и рассчитана на масштабирование до любого объёма, включая триллионы векторов. Она также использует бессерверную архитектуру DynamoDB, поэтому пользователю не нужно предоставлять серверы, устанавливать на них исправления, а также устанавливать и администрировать программное обеспечение. AWS отмечает, что сервис не требует версий или окон технического обслуживания и поддерживает непрерывное обслуживание.
Снижение сложности архитектуры приложений искусственного интеллекта
Ранее добавление векторного поиска в приложение, использующее DynamoDB, обычно требовало копирования данных в специализированное хранилище векторов и создания конвейера для синхронизации двух сервисов. По данным AWS, такой подход увеличивал операционные затраты, расходы на передачу данных и лицензирование, а также создавал проблему обеспечения низкой и предсказуемой задержки при масштабировании.
После интеграции векторного поиска в DynamoDB операционные данные и эмбеддинги могут использовать одну и ту же бессерверную инфраструктуру и модель оплаты за запрос. Векторные индексы обеспечивают неограниченную ёмкость хранения и горизонтальное масштабирование по мере роста объёма данных.
Функция предназначена для приложений с памятью агентов, генерацией с дополненным поиском, рекомендательных систем, персонализированного взаимодействия, обнаружения аномалий и других сценариев, требующих семантического поиска.
Как работает векторный поиск
Функция создаёт новый тип индекса для атрибута, в котором хранятся векторные эмбеддинги. Эти эмбеддинги можно создавать с помощью выбранной пользователем модели, например Amazon Bedrock Titan Text Embeddings, Cohere Embed или моделей OpenAI для текстовых эмбеддингов, а затем сохранять в виде списка десятичных чисел посредством стандартного вызова PutItem.
Затем пользователь создаёт векторный индекс, указывая количество измерений, функцию расстояния и любые невекторные атрибуты, которые можно использовать для фильтрации результатов во время поиска. Интерфейс SearchVectors принимает вектор запроса и требуемое количество результатов, максимум 100 результатов, а также необязательные условия фильтрации, после чего возвращает результаты, отсортированные по сходству.
Функция поддерживает до 4096 измерений, евклидово расстояние, Cosine и Dot product, а также встроенную фильтрацию. AWS рекомендует согласовывать функцию расстояния с функцией, использованной при обучении модели эмбеддингов, для достижения наилучшей точности.
Пример магазина спортивных товаров
В руководстве AWS показано добавление векторного поиска в существующую таблицу каталога товаров. В примере эмбеддинги описаний товаров хранятся в новом атрибуте с именем descriptionEmbedding с использованием существующего типа List в DynamoDB, без необходимости вводить новый тип данных или изменять схему.
После создания индекса с именем ProductDescriptionIndex можно использовать marketplace в качестве ключа секционирования для распределения векторов по разделам и ограничения поиска конкретным рынком, а также добавить category в качестве атрибута фильтрации. Условия фильтрации поддерживают только точное совпадение и не поддерживают условия диапазона, такие как BETWEEN или BEGINS_WITH.
При поиске по естественной фразе, например «лёгкие беговые кроссовки для лета», пользователь создаёт вектор запроса с помощью той же модели, а затем указывает индекс, количество результатов, значение рынка, например US, и нужную категорию. DynamoDB возвращает пять наиболее похожих товаров вместе с их операционными атрибутами, такими как название и цена, в том же ответе. Для Cosine и Euclidean меньшие значения указывают на большее сходство, тогда как при использовании Dot product большее сходство обозначается более высокими значениями.
Доступность
Векторный поиск в DynamoDB стал общедоступным во всех коммерческих регионах AWS, включая регионы AWS GovCloud (US). AWS рекомендует обращаться к странице возможностей AWS по регионам, чтобы узнать о региональной доступности и будущей дорожной карте, а также к странице цен Amazon DynamoDB для получения подробной информации о стоимости.