Vector Database
Une base de données vectorielle stocke et indexe des plongements afin que les applications puissent retrouver rapidement des images, des textes ou des fichiers audio similaires. Présente son fonctionnement, ses usages et les outils associés.
Une base de données vectorielle est un système de stockage spécialisé conçu pour gérer, indexer et interroger des données vectorielles de grande dimension, souvent appelées représentations vectorielles. Contrairement à une base de données relationnelle traditionnelle, qui organise les données structurées en lignes et en colonnes pour permettre une correspondance exacte des mots-clés, une base de données vectorielle est optimisée pour la recherche sémantique. Elle permet aux systèmes intelligents de trouver des points de données conceptuellement similaires plutôt qu’identiques. Cette capacité est fondamentale pour l’infrastructure moderne de l’intelligence artificielle (AI) : elle permet aux applications de traiter et de comprendre des données non structurées — comme des images, de l’audio, de la vidéo et du texte — en analysant leurs relations mathématiques. Ces bases de données servent de mémoire à long terme aux agents intelligents et facilitent des tâches comme la recherche visuelle et les recommandations personnalisées.
Fonctionnement des bases de données vectorielles#
Le fonctionnement d’une base de données vectorielle repose sur le concept d’espace vectoriel, dans lequel les éléments de données sont représentés par des points dans un système de coordonnées multidimensionnel. Le processus commence par l’extraction de caractéristiques, au cours de laquelle un modèle d’apprentissage profond (DL) convertit les données brutes en vecteurs numériques.
-
Ingestion : Un réseau neuronal, comme le modèle de pointe YOLO26, traite les données pour générer des embeddings. Ces vecteurs condensent la signification sémantique de l’entrée dans une liste dense de nombres à virgule flottante.
-
Indexation : pour garantir une faible latence d’inférence lors de la recherche, la base de données organise ces vecteurs à l’aide d’algorithmes spécialisés. Des techniques comme les petits mondes navigables hiérarchiques (HNSW) ou les index de fichiers inversés (IVF) permettent au système de parcourir efficacement des milliards de vecteurs sans examiner chaque entrée.
-
Interrogation : lorsqu’un utilisateur soumet une requête de recherche (par exemple, l’image d’un modèle de chaussure précis), le système convertit la requête en vecteur et calcule sa proximité avec les vecteurs enregistrés à l’aide de mesures de distance comme la similarité cosinus ou la distance euclidienne.
-
Récupération : la base de données renvoie les « plus proches voisins », qui correspondent aux résultats les plus pertinents sur le plan contextuel.
L’ingestion et les requêtes se rejoignent au niveau de l’index :
L’extrait de code Python suivant montre comment générer des représentations vectorielles à l’aide d’un modèle standard ultralytics, étape préalable au remplissage d’une base de données vectorielle.
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}")Applications concrètes#
Les bases de données vectorielles sont au cœur de nombreuses applications avancées de vision par ordinateur (CV) et de traitement automatique du langage naturel (NLP) utilisées aujourd’hui en entreprise.
- Génération augmentée par récupération (RAG) : à l’ère de l’IA générative, les bases de données vectorielles permettent aux grands modèles de langage (LLM) d’accéder à une vaste bibliothèque de données privées et à jour. En récupérant les documents pertinents selon le sens sémantique de la requête d’un utilisateur, le système réduit les hallucinations des LLM et fournit des réponses factuelles et adaptées au contexte.
- Moteurs de recommandations visuelles : dans le secteur de l’IA dans le commerce de détail, les plateformes utilisent des bases de données vectorielles pour alimenter les fonctionnalités du type « trouver des styles similaires ». Si un utilisateur consulte une robe d’été précise, le système interroge la base de données pour trouver d’autres images de produits présentant des représentations vectorielles visuelles similaires — motifs, coupes et couleurs — et offre une meilleure expérience utilisateur qu’un simple filtrage par étiquettes.
- Détection d’anomalies et de menaces : les systèmes de sécurité exploitent les bases de données vectorielles pour la détection d’anomalies. En stockant les représentations vectorielles des comportements « normaux » ou du personnel autorisé, le système peut immédiatement signaler les valeurs aberrantes qui se situent en dehors du groupe attendu dans l’espace vectoriel, renforçant ainsi la sécurité des données et la surveillance des installations.
Distinguer les concepts associés#
Pour mettre ces systèmes en œuvre efficacement, il est utile de distinguer les bases de données vectorielles des technologies connexes dans l’écosystème des opérations d’apprentissage automatique (MLOps).
- Base de données vectorielle et recherche vectorielle : la recherche vectorielle est l’action ou le processus algorithmique qui consiste à trouver des vecteurs similaires (le « comment »). Une base de données vectorielle est l’infrastructure robuste conçue pour stocker les données, gérer l’index et effectuer ces recherches à grande échelle (le « où »).
- Base de données vectorielle ou magasin de caractéristiques : Un magasin de caractéristiques est un référentiel centralisé qui gère les caractéristiques utilisées pour l’entraînement et l’inférence des modèles afin d’en garantir la cohérence. Il gère les données de caractéristiques, mais n’est pas principalement optimisé pour les requêtes de récupération fondées sur la similarité qui définissent une base de données vectorielle.
- Base de données vectorielle et lac de données : un lac de données stocke de grandes quantités de données brutes dans leur format natif. Une base de données vectorielle stocke les représentations mathématiques traitées (les représentations vectorielles) de ces données, optimisées spécifiquement pour la recherche par similarité.
Intégration aux flux de travail modernes en IA#
La mise en œuvre d’une base de données vectorielle implique souvent un pipeline dans lequel des modèles efficaces comme YOLO26 servent de moteurs d’embedding. Ces modèles traitent les données visuelles en périphérie ou dans le cloud, puis les vecteurs obtenus sont envoyés vers des solutions comme Pinecone, Milvus ou Qdrant.
Pour les équipes qui souhaitent rationaliser l’ensemble de ce cycle de vie — de la sélection des données et de l’annotation automatique à l’entraînement et au déploiement des modèles —, l’Ultralytics Platform offre un environnement complet. En intégrant l’entraînement des modèles à des stratégies de déploiement efficaces, les développeurs peuvent garantir la précision des représentations vectorielles alimentant leurs bases de données vectorielles, ce qui améliore la qualité des résultats de recherche et rend les agents d’IA plus intelligents.










