Base vectorielle
iaDéfinition
Base de données optimisée pour le stockage et la recherche de vecteurs (embeddings). Solutions : Pinecone, Milvus, Chroma, Qdrant, pgvector.
Fonctionnement technique
Une base de données vectorielle est un système de stockage optimisé pour indexer et rechercher des vecteurs de haute dimension (embeddings), typiquement de 384 à 4096 dimensions. Ces vecteurs représentent numériquement le sens sémantique de textes, images ou autres données, permettant de trouver des éléments « similaires » par proximité dans l'espace vectoriel plutôt que par correspondance exacte de mots-clés.
Les algorithmes de recherche approximative de plus proches voisins (ANN - Approximate Nearest Neighbors) sont au cœur de ces bases. HNSW (Hierarchical Navigable Small World) construit un graphe navigable multi-couches offrant une excellente balance entre vitesse et précision. IVF (Inverted File Index) partitionne l'espace vectoriel en clusters via k-means, limitant la recherche aux clusters proches de la requête.
Les métriques de similarité courantes incluent la distance cosinus (mesure l'angle entre les vecteurs, insensible à la magnitude), la distance euclidienne (L2, distance géométrique directe) et le produit scalaire (dot product, adapté aux vecteurs normalisés). Le choix de la métrique dépend du modèle d'embedding utilisé et du cas d'usage.
Cas d'usage
Le cas d'usage principal est le RAG (Retrieval-Augmented Generation) : les documents sont découpés en chunks, convertis en embeddings et stockés dans une base vectorielle. Lors d'une requête utilisateur, la base retrouve les chunks les plus sémantiquement pertinents pour enrichir le contexte du LLM. Cette architecture est fondamentale pour les chatbots d'entreprise et les assistants documentaires.
Au-delà du RAG, les bases vectorielles alimentent la recherche sémantique (trouver des articles similaires par le sens, pas les mots), la recommandation (produits, contenus), la détection d'anomalies (identifier les vecteurs éloignés du cluster normal), la déduplication (trouver les quasi-doublons dans de grands corpus) et la recherche multimodale (texte vers image, image vers texte).
Outils et implémentation
Qdrant (Rust) offre des performances élevées avec filtrage avancé et multi-tenancy natif. Weaviate (Go) intègre des modules de vectorisation automatique et un langage de requête GraphQL. ChromaDB (Python) est léger et simple, idéal pour le prototypage et les petits projets RAG. Pinecone est le leader SaaS avec un scaling automatique.
Milvus (C++) et sa version managée Zilliz supportent des milliards de vecteurs avec des performances industrielles. pgvector ajoute la recherche vectorielle à PostgreSQL, évitant un composant d'infrastructure supplémentaire. FAISS (Facebook) est la bibliothèque de référence pour la recherche vectorielle en mémoire, sans les fonctionnalités de base de données.
Défense / Bonnes pratiques
Sécurisez l'accès à votre base vectorielle avec une authentification robuste et des ACL par collection/index. Les embeddings stockés contiennent implicitement des informations sur les documents source : une fuite de la base vectorielle peut compromettre la confidentialité des données indexées. Chiffrez les données au repos et en transit.
Pour les performances RAG, la qualité des embeddings est déterminante. Utilisez des modèles d'embedding adaptés à votre langue et domaine : text-embedding-3-large (OpenAI), voyage-3 (Voyage AI), ou multilingual-e5-large (open source) pour le français. Évaluez la pertinence des résultats avec des métriques comme le recall@k et le MRR.
Planifiez la scalabilité dès le départ : le nombre de vecteurs, leur dimension et le trafic de requêtes déterminent les ressources nécessaires. Implémentez un mécanisme de réindexation incrémentale pour maintenir l'index à jour sans temps d'arrêt. Surveillez les latences de recherche (P95, P99) et ajustez les paramètres d'index (ef_construction, M pour HNSW) en conséquence.
Articles associés
Voir nos articles détaillés sur ce sujet.
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis