Weaviate : recherche hybride et multi-location
Weaviate est une base de données vectorielle open source qui peut aussi calculer les vecteurs elle-même, via des modules enfichables, au lieu d'attendre que vous les lui fournissiez. Cette chaîne intégrée est sa force, et c'est aussi le réglage à surveiller de près quand tout doit rester local : un module d'encodage hébergé ailleurs envoie chacun de vos documents et chacune de vos questions chez un tiers.
#Ce qui le distingue
La plupart des bases vectorielles attendent des vecteurs calculés ailleurs. Weaviate sait le faire aussi, et il sait en plus prendre en charge l'encodage : vous insérez des objets, un module configuré transforme le texte en vecteurs, et les requêtes s'écrivent en langage naturel plutôt qu'en tableaux de flottants. Ce seul choix de conception élimine toute une classe de bogues — dimensions incompatibles, question encodée avec un autre modèle que le corpus — puisque le même module traite les deux côtés.
La contrepartie est qu'un module est une dépendance qui a une localisation. Choisir un service d'encodage local garde toute la chaîne sur votre matériel ; en choisir un hébergé revient à tout expédier ailleurs. Dans une installation locale, c'est la ligne de configuration la plus lourde de conséquences.
#La recherche hybride, et pourquoi c'est décisif
Tes documents, ton IA : un RAG local fiable sur tes PDF, notes et mails — sans rien envoyer dans le cloud.
- Espace en ligne à vie
- PDF + fichiers
- Remboursé 30 j
La recherche sémantique trouve des passages dont le sens est proche. Elle est très bonne à cela et caractéristiquement mauvaise sur les chaînes exactes : un numéro de facture, une référence de pièce, un code d'erreur, un nom propre. Ces éléments n'ont pas de voisinage sémantique — soit ils correspondent, soit non.
La recherche hybride lance une requête par mots-clés et une requête vectorielle, puis fusionne les classements avec une pondération que vous contrôlez. Sur un corpus technique, c'est souvent la différence entre un système auquel les gens font confiance et un système qu'ils abandonnent — parce que les échecs de la recherche purement sémantique portent justement sur les recherches que les utilisateurs jugent triviales.
#Le schéma, et ce qu'il apporte
| Concept | Ce que c'est | Pourquoi ça compte |
|---|---|---|
| Collection | Une classe d'objets typés | Les corpus distincts restent distincts, ce qui garde la récupération précise |
| Propriétés | Des champs typés sur chaque objet | Des filtres vérifiés, pas espérés |
| Vectoriseur | Le module qui encode | La cohérence entre indexation et interrogation |
| Tenants | Des partitions isolées dans une collection | Un même déploiement au service de plusieurs clients ou services, sans fuite |
| Références croisées | Des liens entre objets | Modéliser des relations sans seconde base |
La multi-location mérite l'insistance. Si plusieurs groupes interrogent un même système, l'isolation par tenant est une réponse structurelle à la question « cette personne peut-elle récupérer ce document » — bien plus sûre qu'un filtrage après coup, et infiniment plus sûre qu'une consigne dans le prompt.
#Ce que ça coûte à faire tourner
Weaviate est un vrai service : un conteneur, du stockage persistant, de la mémoire proportionnelle à vos vecteurs et à l'index. L'index est résident en mémoire pour la vitesse, donc la RAM est la contrainte de dimensionnement — environ 4 Ko par vecteur de 1 024 dimensions en pleine précision, avant surcoût, avec des options de compression qui échangent un peu de précision contre une forte réduction.
Ajoutez un module d'encodage local et vous faites aussi tourner un petit modèle, qui réclame du temps processeur ou une part du GPU déjà occupé par votre modèle de langage. Sur une machine unique, décidez lequel des deux possède la carte, ou acceptez que l'indexation et l'inférence se gênent.
#Weaviate ou autre chose
| Situation | Choix |
|---|---|
| La recherche hybride compte, corpus technique | Weaviate |
| Plusieurs tenants sur un même déploiement | Weaviate |
| PostgreSQL déjà en place, échelle modeste | pgvector |
| Processus unique, corpus figé, aucun filtrage | Une bibliothèque de recherche |
| Prototype dans un carnet de notes | N'importe lequel, le choix est réversible |
- Qdrant : l'autre service dédié
- pgvector : rester dans PostgreSQL
- FAISS : la bibliothèque, sans serveur
#FAQ
Weaviate est-il gratuit ?+
Weaviate calcule-t-il les embeddings lui-même ?+
Qu'est-ce que la recherche hybride ?+
Weaviate ou pgvector ?+
Combien de mémoire faut-il ?+
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.