Vector Search
Изучи, как векторный поиск использует эмбеддинги для поиска похожих данных. Научись генерировать высококачественные векторы с помощью Ultralytics YOLO26 для точного информационного поиска.
Векторный поиск — это сложный метод информационного поиска, который выявляет похожие элементы в наборе данных на основе их математических характеристик, а не точного совпадения ключевых слов. В отличие от традиционного поиска по ключевым словам, который основан на поиске определённых строк символов, векторный поиск анализирует лежащее в основе данных семантическое значение. Этот метод имеет фундаментальное значение для современных приложений искусственного интеллекта (AI), поскольку позволяет компьютерам понимать взаимосвязи между абстрактными понятиями и с высокой точностью обрабатывать неструктурированные данные, такие как изображения, аудиофайлы и тексты на естественном языке.
Как работает векторный поиск#
В основе векторного поиска лежит преобразование исходных данных в многомерные числовые векторы, известные как эмбеддинги. Этот процесс отображает элементы в точки многомерного пространства, где концептуально похожие элементы расположены близко друг к другу.
-
Векторизация: Модель глубокого обучения (DL) обрабатывает входные данные — например, изображение собаки — и выдаёт вектор признаков. Для эффективного создания таких информативных представлений часто используются продвинутые модели, такие как YOLO26.
-
Индексирование: Чтобы быстро выполнять поиск, эти векторы организуются с помощью специализированных алгоритмов и часто хранятся в выделенной векторной базе данных.
-
Расчёт сходства: Когда пользователь отправляет запрос, система преобразует его в вектор и измеряет расстояние до сохранённых векторов с помощью таких метрик, как косинусное сходство или евклидово расстояние.
-
Извлечение: Система возвращает «ближайших соседей», которые представляют наиболее релевантные результаты с учётом контекста.
Пример на Python: создание эмбеддингов#
Чтобы реализовать векторный поиск, сначала нужно преобразовать данные в векторы. В следующем фрагменте кода показано, как создать карты признаков и эмбеддинги из изображения с помощью пакета ultralytics и предварительно обученной модели YOLO26.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")Практические применения#
Векторный поиск лежит в основе многих интуитивно понятных функций современной программной экосистемы, устраняя разрыв между компьютерным зрением (CV) и намерениями пользователя.
- Системы визуальных рекомендаций: В сфере AI в розничной торговле векторный поиск обеспечивает работу функций «собери образ». Если покупателю нравится конкретная сумка, система находит товары с похожими визуальными векторами — соответствующие по форме, текстуре и стилю, — создавая персонализированную систему рекомендаций.
- Генерация с дополнением извлечением (RAG): Чтобы расширить возможности больших языковых моделей (LLMs), разработчики используют векторный поиск для извлечения релевантных документов из базы знаний. Это предоставляет AI контекст, уменьшает количество галлюцинаций и повышает точность взаимодействия с чат-ботами.
- Обнаружение аномалий: Кластеризуя векторы «нормальных» операций, системы могут выявлять выбросы, которые значительно удалены от кластера. Это крайне важно для обнаружения аномалий при контроле качества производства и обеспечения безопасности данных.
Различие между связанными понятиями#
Чтобы понять весь конвейер машинного обучения (ML), полезно отличать векторный поиск от схожих терминов.
- Векторный поиск и семантический поиск: Семантический поиск — это более широкое применение понимания намерений пользователя («что»). Векторный поиск — это конкретный алгоритмический метод, используемый для достижения этой цели путём вычисления близости векторов («как»).
- Векторный поиск и векторная база данных: Векторная база данных — это инфраструктура, предназначенная для хранения и управления эмбеддингами в больших масштабах. Векторный поиск — это процесс выполнения запросов к этой базе данных для извлечения информации.
- Векторный поиск и поиск по ключевым словам: Поиск по ключевым словам сопоставляет точные текстовые строки (например, «apple» соответствует «apple»). Векторный поиск сопоставляет значения, поэтому «apple» может соответствовать «fruit» или «red», даже если слова различаются.
Интеграция с платформой Ultralytics#
Для команд, создающих системы поиска по сходству, управление наборами данных и обучение моделей эмбеддингов — важнейший первый шаг. Платформа Ultralytics упрощает этот рабочий процесс, предоставляя инструменты для управления данными, облачного обучения и развёртывания моделей. Если базовые модели — будь то модели для обнаружения объектов или классификации — работают эффективно, результирующие векторы обеспечивают точные и содержательные результаты поиска.









