Vector Database
Узнай, как векторные базы данных управляют многомерными эмбеддингами для семантического поиска. Научись создавать приложения ИИ с Ultralytics YOLO26 и поиском по сходству.
Векторная база данных — это специализированная система хранения, предназначенная для управления, индексации и выполнения запросов к многомерным векторным данным, которые часто называют эмбеддингами. В отличие от традиционной реляционной базы данных, организующей структурированные данные в строках и столбцах для точного сопоставления ключевых слов, векторная база данных оптимизирована для семантического поиска. Она позволяет интеллектуальным системам находить точки данных, концептуально похожие, а не идентичные. Эта возможность лежит в основе современной инфраструктуры искусственного интеллекта (AI), позволяя приложениям обрабатывать и понимать неструктурированные данные, такие как изображения, аудио, видео и текст, анализируя математические взаимосвязи между ними. Такие базы данных служат долговременной памятью для интеллектуальных агентов и поддерживают такие задачи, как визуальный поиск и персонализированные рекомендации.
Принцип работы векторных баз данных#
Работа векторной базы данных основана на концепции векторного пространства, в котором элементы данных представлены как точки в многомерной системе координат. Процесс начинается с извлечения признаков, когда модель глубокого обучения (DL) преобразует исходные данные в числовые векторы.
-
Загрузка данных: Нейронная сеть, например современная модель YOLO26, обрабатывает данные для создания эмбеддингов. Эти векторы сжимают смысл входных данных в плотный список чисел с плавающей точкой.
-
Индексация: Чтобы обеспечить низкую задержку инференса при поиске, база данных организует эти векторы с помощью специализированных алгоритмов. Такие методы, как иерархически навигируемый граф малого мира (HNSW) или инвертированный файловый индекс (IVF), позволяют системе эффективно перемещаться по миллиардам векторов, не сканируя каждую запись.
-
Выполнение запросов: Когда пользователь отправляет поисковый запрос, например изображение обуви определенного стиля, система преобразует запрос в вектор и вычисляет его близость к сохраненным векторам с помощью таких метрик расстояния, как косинусное сходство или евклидово расстояние.
-
Поиск: База данных возвращает «ближайших соседей», которые представляют наиболее релевантные результаты с учетом контекста.
Следующий фрагмент кода на Python показывает, как создавать эмбеддинги с помощью стандартной модели ultralytics, что является обязательным шагом перед заполнением векторной базы данных.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image file
# The 'embed' method creates the vector representation needed for the database
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")Практические применения#
Векторные базы данных лежат в основе многих передовых приложений компьютерного зрения (CV) и обработки естественного языка (NLP), используемых сегодня в корпоративной среде.
- Генерация с дополнением поиска (RAG): В эпоху генеративного AI векторные базы данных позволяют большим языковым моделям (LLMs) получать доступ к обширной библиотеке закрытых и актуальных данных. Извлекая релевантные документы на основе семантического смысла запроса пользователя, система уменьшает количество галлюцинаций в LLMs и формирует фактологичные ответы с учетом контекста.
- Системы визуальных рекомендаций: В сфере AI в розничной торговле платформы используют векторные базы данных для реализации функций «магазин похожих стилей». Если пользователь просматривает конкретное летнее платье, система запрашивает в базе данных другие изображения товаров с похожими визуальными эмбеддингами — совпадающими узорами, фасонами и цветами, — обеспечивая более качественный пользовательский опыт, чем простая фильтрация по тегам.
- Обнаружение аномалий и угроз: Системы безопасности используют векторные базы данных для обнаружения аномалий. Сохраняя эмбеддинги «нормального» поведения или авторизованных сотрудников, система может мгновенно выявлять выбросы, находящиеся за пределами ожидаемого кластера в векторном пространстве, повышая безопасность данных и эффективность мониторинга объекта.
Различия между связанными понятиями#
Для эффективной реализации таких систем полезно отличать векторную базу данных от связанных технологий в экосистеме операций машинного обучения (MLOps).
- Векторная база данных и векторный поиск: Векторный поиск — это действие или алгоритмический процесс поиска похожих векторов («как»). Векторная база данных — это надежная инфраструктура, созданная для хранения данных, управления индексом и выполнения такого поиска в больших масштабах («где»).
- Векторная база данных и хранилище признаков: Хранилище признаков — это централизованный репозиторий для управления признаками, используемыми при обучении и инференсе моделей, который обеспечивает согласованность. Хотя оно работает с данными признаков, оно в первую очередь не оптимизировано для запросов на основе сходства, определяющих работу векторной базы данных.
- Векторная база данных и озеро данных: Озеро данных хранит огромные объемы исходных данных в их естественном формате. Векторная база данных хранит обработанные математические представления (эмбеддинги) этих данных, специально оптимизированные для поиска по сходству.
Интеграция с современными рабочими процессами AI#
Реализация векторной базы данных часто включает конвейер, в котором такие эффективные модели, как YOLO26, выступают в роли движка эмбеддингов. Эти модели обрабатывают визуальные данные на периферии или в облаке, а полученные векторы передаются в такие решения, как Pinecone, Milvus или Qdrant.
Командам, стремящимся оптимизировать весь жизненный цикл — от курирования данных и автоматической разметки до обучения и развертывания моделей, — платформа Ultralytics предлагает комплексную среду. Интегрируя обучение моделей с эффективными стратегиями развертывания, разработчики могут обеспечить точность эмбеддингов, поступающих в их векторные базы данных, что приводит к более качественным результатам поиска и более интеллектуальным AI-агентам.









