Vector Search
Explore comment la recherche vectorielle utilise les embeddings pour trouver des données similaires. Apprends à générer des vecteurs de haute qualité avec Ultralytics YOLO26 pour une recherche d'information précise.
La recherche vectorielle est une méthode sophistiquée de recherche d'informations qui identifie des éléments similaires au sein d'un ensemble de données en se basant sur leurs caractéristiques mathématiques plutôt que sur des 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 d'intelligence artificielle (IA) modernes car elle permet aux ordinateurs de comprendre les relations entre des concepts abstraits, en traitant des données non structurées telles que des images, des fichiers audio et du texte en langage naturel avec une précision remarquable.
Comment fonctionne la recherche vectorielle#
Le cœur de la recherche vectorielle consiste à transformer des données brutes en vecteurs numériques de grande dimension appelés embeddings. Ce processus mappe les éléments vers des points dans un espace multidimensionnel où des éléments conceptuellement similaires sont situés à proximité les uns des autres.
-
Vectorization: A deep learning (DL) model processes the input data—for example, an image of a dog—and outputs a feature vector. Advanced models like YOLO26 are often used to generate these rich feature representations efficiently.
-
Indexation : Pour effectuer des recherches rapidement, ces vecteurs sont organisés à l'aide d'algorithmes spécialisés, souvent stockés dans une base de données vectorielle dédiée.
-
Calcul de similarité : Lorsqu'un utilisateur soumet une requête, le système convertit cette requête en vecteur et mesure la distance par rapport aux vecteurs stockés en utilisant des 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 en Python : Générer des embeddings#
Pour implémenter la 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 en utilisant le package ultralytics et 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 dans l'écosystème logiciel actuel, comblant le fossé 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 "shop the look". Si un client aime un sac à main spécifique, le système trouve des éléments avec des vecteurs visuels similaires — correspondant à la forme, la texture et le style —, créant ainsi 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 (LLM), les développeurs utilisent la recherche vectorielle pour récupérer des documents pertinents à partir d'une base de connaissances. Cela fournit un contexte à l'IA, réduisant les hallucinations et améliorant la précision des interactions avec le chatbot.
- Détection d'anomalies : En regroupant les vecteurs d'opérations "normales", les systèmes peuvent identifier les valeurs aberrantes qui s'écartent fortement du cluster. C'est essentiel pour la détection d'anomalies dans le contrôle qualité de la fabrication et la sécurité des données.
Distinguer les concepts apparentés#
Il est utile de différencier la recherche vectorielle de termes similaires pour comprendre l'ensemble du pipeline d'apprentissage automatique (ML).
- Recherche vectorielle vs Recherche sémantique : La recherche sémantique est l'application plus large de la compréhension de 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é vectorielle (le "comment").
- Recherche vectorielle vs 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 d'interrogation de cette base de données pour récupérer des informations.
- Recherche vectorielle vs Recherche par mots-clés : La recherche par mots-clés fait correspondre des chaînes de texte exactes (par exemple, "apple" correspond à "apple"). La recherche vectorielle fait correspondre le sens, de sorte que "apple" peut correspondre à "fruit" ou "rouge", même si les mots diffèrent.
Intégration avec la plateforme Ultralytics#
For teams building similarity search systems, managing datasets and training embedding models is a crucial first step. The Ultralytics Platform simplifies this workflow by providing tools for data management, cloud training, and model deployment. By ensuring your base models—whether for object detection or classification—are high-performing, you ensure the resulting vectors provide accurate and meaningful search results.






