Recherche vectorielle
Découvrez comment la recherche vectorielle utilise les plongements pour trouver des données similaires. Apprenez à générer des vecteurs de haute qualité avec Ultralytics pour une recherche d'informations précise.
La recherche vectorielle est une méthode sophistiquée de recherche d'informations qui identifie des éléments similaires dans 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 traditionnelle par mot-clé, 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 (IA)
, 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 des
textes 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 haute dimension appelés
« encastrements ». Ce processus associe des éléments à des points dans un
espace multidimensionnel où des éléments conceptuellement similaires sont situés à proximité 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 génère un vecteur de caractéristiques. Des modèles avancés tels que
YOLO26 sont souvent utilisés pour générer efficacement ces représentations riches en caractéristiques
.
-
Indexation: Afin d'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 un vecteur
et mesure la distance par rapport aux vecteurs stockés à l'aide de mesures telles que la
similarité cosinus ou la
distance euclidienne.
-
Récupération: le système renvoie les « voisins les plus proches », qui représentent les résultats les plus
pertinents dans le contexte.
Exemple Python : Générer des emboîtements
Pour mettre en œuvre la recherche vectorielle, vous devez d'abord convertir vos données en vecteurs. L'extrait de code suivant montre comment
générer cartes de caractéristiques et les intégrations à partir d'une image
à l'aide du ultralytics paquet 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 qui sous-tend 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 « shop the
look ». Si un client aime un sac à main spécifique, le système trouve des articles avec des vecteurs visuels similaires
(forme, texture et style correspondants), créant ainsi un système de recommandation personnalisé
.
-
Génération augmentée par la récupération (RAG): pour améliorer les
modèles linguistiques à grande échelle (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 ainsi les
hallucinations et améliorant la précision des
interactions avec les chatbots.
-
Détection des anomalies: en regroupant les vecteurs des opérations « normales », les systèmes peuvent identifier les
valeurs aberrantes qui s'éloignent considérablement du groupe. Cela est essentiel pour la
détection des 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 des 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 une infrastructure conçue pour stocker et gérer des intégrations à grande échelle. La recherche vectorielle
est le processus qui consiste à interroger cette base de données pour récupérer des informations.
-
Recherche vectorielle vs.
Recherche par mot-clé: La recherche par mot-clé trouve les chaînes de texte exactes (par exemple, « pomme » correspond à « pomme »). La recherche vectorielle
trouve le sens, donc « pomme » peut correspondre à « fruit » ou « rouge », même si les mots sont différents.
Intégration avec la Ultralytics
Pour les équipes qui développent des systèmes de recherche par similarité, la
gestion des ensembles de données et la formation des modèles d'intégration constituent une première étape cruciale. Ultralytics simplifie ce flux de travail en fournissant des outils pour la
gestion des données, la formation dans le cloud et le déploiement de modèles. En vous assurant que vos modèles de base, qu'ils soient destinés à la
détection ou à la classification d'objets, sont
hautement performants, vous garantissez que les vecteurs obtenus fournissent des résultats de recherche précis et pertinents.