Vector Search
Узнай, как векторный поиск использует эмбеддинги для нахождения похожих данных. Научись генерировать высококачественные векторы с помощью Ultralytics YOLO26 для точного поиска информации.
Векторный поиск — это сложный метод информационного поиска, который находит похожие элементы в наборе данных на основе их математических характеристик, а не точного совпадения ключевых слов. В отличие от традиционного поиска по ключевым словам, который полагается на поиск конкретных строк символов, векторный поиск анализирует глубинный семантический смысл данных. Этот метод является фундаментальным для современных приложений искусственного интеллекта (ИИ), поскольку он позволяет компьютерам понимать связи между абстрактными концепциями, обрабатывая неструктурированные данные, такие как изображения, аудиофайлы и текст на естественном языке, с поразительной точностью.
Link to this sectionКак работает векторный поиск#
Суть векторного поиска заключается в преобразовании необработанных данных в многомерные числовые векторы, известные как эмбеддинги. Этот процесс отображает элементы в виде точек в многомерном пространстве, где концептуально похожие элементы располагаются близко друг к другу.
-
Векторизация: Модель глубокого обучения (DL) обрабатывает входные данные — например, изображение собаки — и выдает вектор признаков. Современные модели, такие как YOLO26, часто используются для эффективной генерации этих богатых представлений признаков.
-
Индексация: Чтобы выполнять поиск быстро, эти векторы организуются с использованием специализированных алгоритмов и часто хранятся в выделенной векторной базе данных.
-
Расчет сходства: Когда пользователь отправляет запрос, система преобразует его в вектор и измеряет расстояние до сохраненных векторов с помощью таких метрик, как косинусное сходство или евклидово расстояние.
-
Извлечение: Система возвращает «ближайших соседей», которые представляют собой наиболее контекстуально релевантные результаты.
Link to this sectionПример на 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}")Link to this sectionРеальные приложения#
Векторный поиск — это движок многих интуитивно понятных функций в современном программном обеспечении, который связывает компьютерное зрение (CV) и намерения пользователя.
- Системы визуальных рекомендаций: В секторе ИИ в ритейле векторный поиск обеспечивает работу функций типа «купи образ». Если клиенту нравится определенная сумка, система находит товары с похожими визуальными векторами — соответствующими по форме, текстуре и стилю, — создавая персонализированную систему рекомендаций.
- Генеративно-поисковые системы (RAG): Чтобы улучшить большие языковые модели (LLM), разработчики используют векторный поиск для извлечения релевантных документов из базы знаний. Это обеспечивает ИИ контекстом, уменьшая количество галлюцинаций и повышая точность взаимодействий с чат-ботом.
- Обнаружение аномалий: Путем кластеризации векторов «нормальных» операций системы могут выявлять выбросы, которые сильно отклоняются от кластера. Это критически важно для обнаружения аномалий в контроле качества на производстве и безопасности данных.
Link to this sectionРазграничение похожих концепций#
Полезно отличать векторный поиск от похожих терминов, чтобы понимать полный конвейер машинного обучения (ML).
- Векторный поиск vs. Семантический поиск: Семантический поиск — это более широкое применение понимания намерений пользователя («что»). Векторный поиск — это конкретный алгоритмический метод, используемый для достижения этого путем вычисления близости векторов («как»).
- Векторный поиск vs. Векторная база данных: Векторная база данных — это инфраструктура, предназначенная для хранения и управления эмбеддингами в больших масштабах. Векторный поиск — это процесс запроса к этой базе данных для извлечения информации.
- Векторный поиск vs. Поиск по ключевым словам: Поиск по ключевым словам находит точные текстовые строки (например, «apple» совпадает с «apple»). Векторный поиск находит смысл, поэтому «apple» может совпасть с «фрукт» или «красный», даже если слова различаются.
Link to this sectionИнтеграция с платформой Ultralytics#
Для команд, создающих системы поиска по сходству, управление наборами данных и обучение моделей эмбеддингов — это важный первый шаг. Платформа Ultralytics упрощает этот рабочий процесс, предоставляя инструменты для управления данными, облачного обучения и развертывания моделей. Обеспечивая высокую производительность базовых моделей — будь то для обнаружения объектов или классификации, — ты гарантируешь, что полученные векторы обеспечат точные и значимые результаты поиска.






