Vector Search
Découvre comment la recherche vectorielle utilise les représentations vectorielles pour trouver des données similaires. Apprends à générer des vecteurs de haute qualité avec Ultralytics YOLO26 pour une récupération précise de l’information.
La recherche vectorielle est une méthode sophistiquée de recherche d'informations qui identifie les éléments similaires au sein d'un jeu de données en fonction de leurs caractéristiques mathématiques plutôt que de correspondances exactes de mots-clés. Contrairement à la recherche par mots-clés traditionnelle, qui repose sur la recherche de chaînes de caractères spécifiques, la recherche vectorielle analyse la signification sémantique sous-jacente des données. Cette technique est fondamentale pour les applications modernes d'intelligence artificielle (AI), car elle permet aux ordinateurs de comprendre les relations entre des concepts abstraits et de traiter avec une précision remarquable des données non structurées telles que des images, des fichiers audio et du texte en langage naturel.
Fonctionnement de la recherche vectorielle#
Le principe de la recherche vectorielle consiste à transformer les données brutes en vecteurs numériques de grande dimension appelés embeddings. Ce processus associe les éléments à des points dans un espace multidimensionnel où les éléments conceptuellement similaires sont proches les uns des autres.
-
Vectorisation : un modèle d'apprentissage profond (DL) traite les données d'entrée — par exemple, l'image d'un chien — et produit un vecteur de caractéristiques. Des modèles avancés comme YOLO26 sont souvent utilisés pour générer efficacement ces riches représentations de caractéristiques.
-
Indexation : pour effectuer rapidement les recherches, ces vecteurs sont organisés à l'aide d'algorithmes spécialisés et souvent stockés dans une base de données vectorielle dédiée.
-
Calcul de similarité : lorsqu'un utilisateur envoie une requête, le système convertit cette requête en vecteur et mesure la distance avec les vecteurs stockés à l'aide de métriques telles que la similarité cosinus ou la distance euclidienne.
-
Récupération : le système renvoie les « plus proches voisins », qui représentent les résultats les plus pertinents sur le plan contextuel.
Exemple Python : génération d'embeddings#
Pour implémenter une recherche vectorielle, tu dois d'abord convertir tes données en vecteurs. L'extrait de code suivant montre comment générer des cartes de caractéristiques et des embeddings à partir d'une image à l'aide du package ultralytics et d'un modèle YOLO26 pré-entraîné.
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}")Applications concrètes#
La recherche vectorielle est le moteur de nombreuses fonctionnalités intuitives de l'écosystème logiciel actuel, faisant le lien entre la vision par ordinateur (CV) et l'intention de l'utilisateur.
- Systèmes de recommandation visuelle : dans le secteur de l'IA dans le commerce de détail, la recherche vectorielle alimente les fonctionnalités de type « acheter le look ». Si un client aime un sac à main particulier, le système trouve des articles dotés de vecteurs visuels similaires — correspondant à la forme, à la texture et au style — afin de créer un système de recommandation personnalisé.
- Génération augmentée par récupération (RAG) : pour améliorer les grands modèles de langage (LLMs), les développeurs utilisent la recherche vectorielle pour récupérer des documents pertinents dans une base de connaissances. Cela fournit du contexte à l'IA, réduit les hallucinations et améliore la précision des interactions avec les chatbots.
- Détection des anomalies : en regroupant les vecteurs correspondant aux opérations « normales », les systèmes peuvent identifier les valeurs aberrantes qui s'éloignent fortement du groupe. Cette méthode est essentielle pour la détection des anomalies dans le contrôle qualité industriel et la sécurité des données.
Distinction entre concepts connexes#
Il est utile de distinguer la recherche vectorielle des termes similaires afin de comprendre l'ensemble du pipeline d'apprentissage automatique (ML).
- Recherche vectorielle ou recherche sémantique : la recherche sémantique est l'application plus large qui consiste à comprendre l'intention de l'utilisateur (le « quoi »). La recherche vectorielle est la méthode algorithmique spécifique utilisée pour y parvenir en calculant la proximité entre les vecteurs (le « comment »).
- Recherche vectorielle ou base de données vectorielle : une base de données vectorielle est l'infrastructure conçue pour stocker et gérer des embeddings à grande échelle. La recherche vectorielle est le processus qui consiste à interroger cette base de données pour récupérer des informations.
- Recherche vectorielle ou recherche par mots-clés : la recherche par mots-clés met en correspondance des chaînes de texte exactes (par exemple, « pomme » correspond à « pomme »). La recherche vectorielle met en correspondance le sens ; « pomme » peut donc correspondre à « fruit » ou à « rouge », même si les mots diffèrent.
Intégration avec la plateforme Ultralytics#
Pour les équipes qui développent des systèmes de recherche de similarité, la gestion des jeux de données et l'entraînement de modèles d'embeddings constituent une première étape essentielle. La plateforme Ultralytics simplifie ce workflow en fournissant des outils de gestion des données, d'entraînement dans le cloud et de déploiement des modèles. En veillant à ce que tes modèles de base — qu'ils soient destinés à la détection d'objets ou à la classification — soient performants, tu t'assures que les vecteurs obtenus fournissent des résultats de recherche précis et pertinents.









