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






