Pourquoi une base vectorielle ?
La recherche sémantique repose sur la comparaison de vecteurs d'embeddings dans un espace à haute dimension (768, 1536 ou 3072 dimensions selon le modèle). Une base vectorielle indexe ces vecteurs avec des algorithmes ANN (Approximate Nearest Neighbor) comme HNSW ou IVF pour des recherches sub-milliseconde sur des millions de vecteurs.
Pinecone : la solution managée
Pinecone est serverless depuis 2024 : vous payez par requête, pas par heure de serveur. C'est idéal pour les MVPs et les charges variables. Pas de configuration d'index à gérer, une API simple, mais dépendance à un service tiers et coûts qui montent vite à grande échelle.
Weaviate : la puissance open-source
Weaviate combine recherche vectorielle et recherche par mots-clés (BM25) dans un seul index hybride. Il intègre nativement des modules de vectorisation (OpenAI, Cohere, HuggingFace) et supporte le GraphQL. Auto-hébergeable sur Kubernetes ou via Weaviate Cloud Services.
pgvector : pragmatisme PostgreSQL
Si vous avez déjà PostgreSQL (comme Supabase), l'extension pgvector est souvent le meilleur choix pour commencer. Vous évitez une infrastructure supplémentaire, bénéficiez des transactions ACID, et pouvez faire des joins SQL hybrides (filtres métier + similarité vectorielle). Supabase l'active en un clic.
Verdict
- MVP / équipe petite : pgvector sur Supabase
- Prod avec volumes > 10M vecteurs : Pinecone serverless ou Weaviate auto-hébergé
- Besoin de multimodalité (texte + images) : Weaviate