Découvrez comment les bases de données vectorielles révolutionnent l'IA en permettant des recherches de similarité efficaces, la recherche sémantique et la détection d'anomalies pour les systèmes intelligents.
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 à haute dimension, souvent appelées " embeddings". Contrairement aux bases de données relationnelles bases de données relationnelles traditionnelles qui stockent des données structurées en lignes et en colonnes pour la recherche de mots-clés exacts, les bases de données vectorielles sont optimisées pour trouver des éléments sur la base de leur similarité sémantique. optimisées pour trouver des éléments sur la base de leur similarité sémantique. Cette capacité en fait la pierre angulaire de l'intelligence artificielle (IA) moderne. intelligence artificielle (IA) permettant aux systèmes de traiter des données non structurées, telles que des images, du son et du texte, en comprenant les relations contextuelles qui existent entre elles. en comprenant les relations contextuelles entre elles. Ils servent essentiellement de mémoire à long terme pour les pour les applications d'apprentissage automatique, ce qui permet d'extraction efficace d'informations qui sont conceptuellement liées plutôt qu'identiques.
La fonctionnalité principale d'une base de données vectorielle repose sur la transformation de données brutes en vecteurs mathématiques grâce à un processus connu sous le nom d'extraction de caractéristiques. processus connu sous le nom d'extraction de caractéristiques. A modèle d'apprentissage profond, tel qu'un Vision Transformer (ViT) ou un réseau neuronal convolutif (CNN), analyse les données et produit un vecteur - une longue liste de nombres représentant les caractéristiques des données.
Une fois ces vecteurs générés, la base de données les indexe à l'aide d'algorithmes spécialisés tels que Le plus proche voisin approximatif (ANN). Lorsqu'un utilisateur effectue une requête, le système convertit le terme recherché (image ou texte) en un vecteur et calcule sa proximité avec les vecteurs stockés à l'aide de mesures de distance telles que la distance entre le vecteur et l'image. proximité des vecteurs stockés à l'aide de mesures de distance telles que la la similarité cosinusoïdale ou la distance euclidienne. Cela permet à la base de données d'identifier rapidement d'identifier rapidement les voisins les plus proches, qui représentent les résultats les plus pertinents.
L'extrait de code suivant montre comment générer des embeddings à l'aide d'un modèle modèleYOLO11 , ce qui constitue la première étape avant le stockage des données dans une base de données vectorielles. dans une base de données vectorielle.
from ultralytics import YOLO
# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Generate feature embeddings for an image file
# This converts the visual content into a numerical vector
results = model.embed("bus.jpg")
# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Les bases de données vectorielles sont le moteur de nombreuses fonctions intelligentes dans les logiciels commerciaux et d'entreprise.
Pour comprendre l'écosystème, il est utile de distinguer la base de données vectorielle des termes apparentés :
Le marché offre plusieurs options robustes pour la mise en œuvre du stockage vectoriel, allant des outils open-source aux services gérés. gérés :
En intégrant ces outils dans un flux de travail flux de travail MLOps, les développeurs peuvent construire des systèmes qui "comprennent" véritablement le contenu des données, ce qui permet des fonctionnalités avancées telles que la recherche sémantique, la détection des anomalies et la fourniture de contenu personnalisé, recherche sémantique, la détection d'anomalies et la fourniture de contenu personnalisé.