Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Base de données vectorielle

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.

Fonctionnement des bases de données vectorielles

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}")

Applications concrètes

Les bases de données vectorielles sont le moteur de nombreuses fonctions intelligentes dans les logiciels commerciaux et d'entreprise.

  • Moteurs de recommandation visuelle : dans le domaine de l'IA dans le commerce de détail, les plateformes utilisent des bases de données vectorielles. l 'IA dans le commerce de détail, les plateformes utilisent des bases de données vectorielles pour pour alimenter les fonctions "shop the look". Lorsqu'un client consulte un produit, le système interroge la base de données vectorielles à la recherche d'articles présentant des incrustations visuelles similaires, suggérant des produits dont le style, la couleur ou le motif correspondent. Cela permet d'améliorer l'expérience de l'utilisateur en lui fournissant des informations sur les produits. l'expérience de l'utilisateur en lui fournissant des des recommandations personnalisées qui vont au-delà des simples étiquettes de catégorie.
  • Génération améliorée par récupération (RAG) : Les bases de données vectorielles sont essentielles pour génération améliorée de recherche (RAG) (RAG). En stockant les enchâssements de vastes bases de connaissances internes, les entreprises permettent aux aux grands modèles de langage (LLM) d'extraire un contexte précis et actualisé avant de générer une requête. contexte précis et actualisé avant de générer une réponse. Cela permet de réduire les hallucinations et de s'assurer que l'IA fournit des réponses factuelles basées sur les données récupérées. des réponses factuelles basées sur les documents récupérés.

Différencier des concepts connexes

Pour comprendre l'écosystème, il est utile de distinguer la base de données vectorielle des termes apparentés :

  • Base de données vectorielles et recherche vectorielle: La recherche vectorielle est l'action ou le processus algorithmique qui consiste à trouver des vecteurs similaires. Une base de données vectorielles est l'infrastructure l'infrastructure ou le système logiciel construit pour stocker ces vecteurs et effectuer des recherches de manière évolutive et persistante. de manière persistante.
  • Base de données vectorielles et encodages: Les embeddings sont les données utiles, c'est-à-dire la représentation numérique de l'entrée. La base de données vectorielle est le conteneur qui organise ces embeddings pour un accès rapide.
  • Base de données vectorielles vs. Ingénierie des caractéristiques: L'ingénierie des caractéristiques est le processus plus large de création de caractéristiques pour les modèles. Les bases de données vectorielles stockent les résultats l'ingénierie automatisée des caractéristiques (embeddings) réalisée par les modèles d'apprentissage profond.

Solutions populaires de bases de données vectorielles

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 :

  • Pinecone: Une base de données vectorielle entièrement gérée et native pour le cloud conçue pour une évolutivité à grande vitesse et une facilité d'utilisation en production.
  • Milvus: Une base de données vectorielles open-source conçue pour une évolutive, souvent utilisée dans des applications de dans les applications de vision par ordinateur à grande échelle.
  • Qdrant: Un moteur de recherche vectoriel haute performance écrit en Rust, offrant des capacités de filtrage avancées pour les requêtes complexes.
  • Weaviate: Une base de données vectorielles native de l'IA qui stocke à la fois les objets et les vecteurs. et les vecteurs, ce qui permet de combiner les recherches par vecteur et par mot-clé.

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é.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant