Aller au contenu principal
Retour au lexique

Vector Database

IA

Définition courte

Une Vector Database stocke des embeddings (vecteurs numériques de sens) pour permettre la recherche par similarité sémantique. Répond en 10 à 50ms sur des index de 10M+ vecteurs. Elle permet aux LLMs d'accéder à des connaissances externes (RAG).

Définition complète

Une Vector Database (ou base de données vectorielle) stocke des embedding vectors de haute dimension (768 à 3072 dimensions selon le modèle) et effectue des recherches de plus proches voisins (kNN) via similarité cosinus ou produit scalaire. Là où une base SQL cherche une correspondance exacte ("WHERE couleur = 'rouge'"), une vector database trouve les éléments géométriquement les plus proches dans l'espace des meanings. Cela permet de répondre à des requêtes sémantiques ("trouve les articles sur la perte de poids" alors qu'aucun article ne contient ces mots exacts). Les acteurs majeurs : Pinecone (cloud-native, $70-500/mois), Weaviate (open source + cloud), Milvus (open source, Alibaba Cloud), Qdrant (Rust, performant), et Chroma (pour prototypes).

Pensée simple

Une Vector Database, c'est comme une bibliothèque où les livres ne sont pas rangés par genre ou auteur, mais par le sens de leur contenu. Quand vous cherchez "un livre sur la peur du jugement des autres", au lieu de chercher dans la case "psychologie", le bibliothecaire calcule le sens de votre requête, puis vous pointe vers les livres dont le sens est géométriquement le plus proche. Le "rayon" correspond à la distance sémantique.

Les 3 piliers de la Vector Database

Embedding Models (Vectorisation)

Les embedding models transforment le texte en vecteurs. Les leaders : OpenAI text-embedding-3-large (3072 dim, $0.13/1M tokens), Cohere embed-v3 (1024 dim), et les models open source BGE (768 dim). La dimension impacte la expressivité (plus de dimensions = plus de nuances capturées) mais augmente le stockage et le temps de recherche. Un bon modèle distingue "banque" (institution financière) de "banque" (berge de rivière) via des vecteurs orthogonaux dans l'espace de embedding.

Indexation ANN (Performance)

Rechercher les k-plus-proches voisins parmi 10M de vecteurs naïvement prendrait des heures. Les algorithmes ANN (Approximate Nearest Neighbor) accélèrent à 10-50ms : HNSW (Hierarchical Navigable Small World) construit un graphe multi-couches pour naviguer efficacement, IVF (Inverted File Index) partitionne l'espace en clusters. HNSW est le plus courant : il échange 1-2% de précision pour un speedup de 100x. Les мета_indices sont stockés en mémoire RAM pour les performances optimales — le stockage hot vs cold compte.

Métadonnées et Filtrage Hybride

Chaque vecteur peut porter des métadonnées (date, catégorie, auteur, permissions). Le filtrage hybride combine recherche vectorielle + filtres SQL classiques : "retriever les 5 articles les plus similaires À la query ET publiés en 2024 ET dans la catégorie 'IA'". Sans optimisation, le filtrage hybride peut être 10x plus lent. Les solutions : pre-filtering (filtrer avant la recherche) ou post-filtering avec re-ranking. Pinecone et Weaviate optimisent ce cas d'usage avec des index dediés.

Le cycle d'exploitation Vector DB

  1. Ingestion : Documents → chunking → embedding → storage dans la vector DB avec métadonnées.
  2. Indexation : Construction de l'index ANN (HNSW) sur les vecteurs. Peut prendre 30-60 min pour 10M de vecteurs.
  3. Requête : Query → embedding → recherche ANN → filtrage métadonnées → retour des k résultats.
  4. Mise à jour : Les vecteurs supprimés sont marqués inactifs (pas de deletion immédiate pour éviter la reconstruction de l'index).
  5. Monitoring : Latence P99 (target < 100ms), nombre de requêtes/sec, utilisation mémoire.

Exemple concret

Une plateforme de e-learning (800K utilisateurs, 45 000 vidéos) voulait un moteur de recommandation intelligent. Système précédent : tags manuels + filtrage collaboratif basique (recommendations = "les autres ont regardé X"). Implémentation vector DB : (1) embedding de toutes les descriptions de vidéos (10-50 phrases) via text-embedding-3-large, (2) stockage dans Pinecone (1.2M vecteurs), (3) recommandation = recherche des k=10 vidéos les plus similaires à l'historique de visionnage de l'utilisateur. Résultat : temps de recommandation < 45ms, engagement +38% (temps moyen passé), inscription payante +22%. Coût : $290/mois (Pinecone) pour un CA supplementaire estime a €2.1M/trim.

Applications

  • RAG (Retrieval Augmenté Generation) : Le cas d'usage dominant. Vector DB stocke la base de connaissances pour le retrieval.
  • Moteur de recommandation : Produits, vidéos, articles similaires à l'historique utilisateur.
  • Dédoublonnage de contenu : Trouver les documents sémantiquement similaires pour identifier les duplicates.
  • Recherche sémantique enterprise : Replacement du keyword search par du semantic search sur les documents internes.

Métriques clés

MétriqueValeur
Temps de réponse10-50ms (10M+ vecteurs)
Dimensions embedding768-3072 selon modèle
Prix Pinecone (starter)$70-500/mois
Algorithme ANN dominantHNSW
Précision HNSW98-99% (vs kNN exact)
Côut embedding OpenAI$0.13 / 1M tokens