Polydesk-logotype
Polydesk.ai — Header

Weaviate

Weaviate est une base de données vectorielle open source (licence BSD-3) qui stocke à la fois les objets et leurs vecteurs, avec un support natif de la recherche hybride (BM25 + vecteur), des modules d’embedding intégrés et des capacités de RAG directement dans la base.

Ce qui distingue Weaviate de ses concurrents, c’est son approche « AI-native » : au lieu de vous demander de calculer les embeddings vous-même et d’envoyer des vecteurs, Weaviate peut recevoir du texte brut et générer les embeddings automatiquement via des modules configurables (OpenAI, Cohere, HuggingFace, etc.). Cela simplifie l’architecture en éliminant un composant externe. Ajoutez la recherche hybride BM25+vecteur en un seul appel, et vous obtenez un système de retrieval complet sans assembler plusieurs outils.

Weaviate en bref
Catégorie
Vector Store / Base de données vectorielle
Licence
BSD-3 (open source)
Langage
Go (moteur), clients Python/JS/Java/Go
Déploiement
Self-hosted (Docker, Kubernetes), Weaviate Cloud (Shared/Dedicated), BYOC
Pricing Cloud
Flex à partir de $45/mois, Plus à partir de $280/mois, Premium sur devis
Fonctionnalités clés
Hybrid search (BM25 + vecteur), vectorisation automatique, RAG natif, agents, multi-tenancy
Cas d’usage
RAG, recherche sémantique, recommandation, classification
Alternatives
Pinecone, Qdrant, Milvus, ChromaDB, pgvector
URL
weaviate.io

Fonctionnalités principales

La recherche hybride est la fonctionnalité signature de Weaviate. Elle combine dans une seule requête la recherche vectorielle (similarité sémantique via embeddings denses) et la recherche par mots-clés (BM25, correspondance exacte via analyse lexicale). Les résultats des deux méthodes sont fusionnés via un algorithme de Reciprocal Rank Fusion (RRF) qui pondère les classements de chaque méthode.

Un paramètre alpha (0 à 1) contrôle le mélange : alpha = 1 pour une recherche purement vectorielle, alpha = 0 pour du BM25 pur, et des valeurs intermédiaires pour un mix. En production, un alpha autour de 0.6-0.7 (favorisant légèrement le sémantique tout en conservant le keyword matching) donne les meilleurs résultats pour la plupart des applications RAG.

L’avantage par rapport à Pinecone : Weaviate intègre BM25 nativement sans surcoût de stockage supplémentaire. Pinecone utilise des sparse vectors (SPLADE) pour le keyword matching, ce qui augmente le stockage. Weaviate maintient un index BM25 séparé en interne, transparent pour l’utilisateur.

Vectorisation automatique

Weaviate intègre des modules de vectorisation (« vectorizers ») qui génèrent les embeddings automatiquement à l’import des données. Vous configurez le vectorizer au niveau du schéma (collection), et Weaviate appelle le modèle d’embedding pour vous :

text2vec-openai : utilise les modèles d’embedding OpenAI (text-embedding-3-small, text-embedding-3-large).

text2vec-cohere : utilise les modèles Cohere (embed-v4, embed-multilingual).

text2vec-huggingface : utilise les modèles Sentence Transformers hébergés sur Hugging Face.

text2vec-transformers : héberge un modèle Transformer localement dans un conteneur Docker à côté de Weaviate.

img2vec-neural : pour les embeddings d’images (recherche d’images similaires).

Weaviate Embeddings : service d’embedding managé natif de Weaviate Cloud, sans rate limits et avec support du model swapping.

Vous pouvez aussi fournir vos propres vecteurs pré-calculés si vous préférez contrôler entièrement le processus d’embedding.

RAG et génération intégrés

Weaviate va au-delà du simple retrieval. Les modules « generative » (generative-openai, generative-cohere, etc.) permettent d’exécuter un pipeline RAG complet directement depuis une requête Weaviate : recherche des documents pertinents, puis génération d’une réponse par un LLM, le tout en un seul appel API. C’est du RAG self-contained sans framework externe.

Weaviate Agents

Fonctionnalité récente, les Weaviate Agents permettent de requêter, transformer et enrichir les données en langage naturel, sans écrire de requêtes structurées. Un Query Agent traduit des questions en langage naturel en opérations Weaviate optimisées, et un Transformation Agent peut modifier les données en lot. Cette approche réduit la barrière technique pour les utilisateurs non développeurs et simplifie les workflows d’exploration de données.

Multi-tenancy

Weaviate supporte nativement la multi-tenancy : une seule instance Weaviate peut isoler les données de multiples tenants (clients, organisations, projets) avec des espaces de stockage et de recherche séparés. C’est essentiel pour les applications SaaS où chaque client a ses propres documents et ne doit pas voir ceux des autres. La multi-tenancy Weaviate est efficace en stockage et en performance car les tenants partagent le même schéma et la même configuration d’indexation.

Interface GraphQL

Weaviate utilise GraphQL comme interface de requête principale, offrant un contrôle précis sur les données retournées. Les requêtes GraphQL permettent de spécifier exactement quels champs retourner, de combiner vector search, keyword search et filtrage par métadonnées en une seule requête. Un client REST classique est aussi disponible pour les intégrations simples.


Utilisation concrète

import weaviate
import weaviate.classes as wvc
from weaviate.classes.config import Configure

# 1. Connexion à Weaviate Cloud
client = weaviate.connect_to_weaviate_cloud(
    cluster_url="https://your-cluster.weaviate.network",
    auth_credentials=weaviate.auth.AuthApiKey("YOUR_API_KEY"),
    headers={"X-OpenAI-Api-Key": "YOUR_OPENAI_KEY"}
)

# 2. Créer une collection avec vectorisation automatique
collection = client.collections.create(
    name="Document",
    vectorizer_config=Configure.Vectorizer.text2vec_openai(
        model="text-embedding-3-small"
    ),
    generative_config=Configure.Generative.openai(
        model="gpt-4o"
    ),
)

# 3. Importer des documents (vectorisation automatique)
docs = client.collections.get("Document")
with docs.batch.dynamic() as batch:
    batch.add_object(properties={
        "title": "Guide de configuration du firewall",
        "content": "Pour configurer le firewall, accédez aux paramètres...",
        "category": "technique",
        "language": "fr"
    })

# 4. Recherche hybride (BM25 + vecteur)
results = docs.query.hybrid(
    query="comment configurer le pare-feu",
    alpha=0.65,  # 65% sémantique, 35% keyword
    limit=5,
    filters=wvc.query.Filter.by_property("language").equal("fr"),
    return_metadata=wvc.query.MetadataQuery(score=True)
)

for obj in results.objects:
    print(f"Score: {obj.metadata.score:.3f} - {obj.properties['title']}")

# 5. RAG natif : recherche + génération en un appel
rag_result = docs.generate.hybrid(
    query="comment configurer le firewall",
    alpha=0.65,
    limit=3,
    grouped_task="Résumez les étapes de configuration en français."
)
print(rag_result.generated)  # Réponse générée par le LLM

client.close()

Options de déploiement

Self-hosted (open source)

Weaviate est disponible en open source (licence BSD-3). Vous pouvez le déployer via Docker Compose (développement/petite production) ou Helm Charts sur Kubernetes (production scalable). Le self-hosting est gratuit (hors infrastructure) et offre un contrôle total sur les données et la configuration. Le crossover économique par rapport au cloud managé se situe typiquement autour de 5 millions de vecteurs.

# Déploiement local avec Docker
docker run -d 
  -p 8080:8080 
  -p 50051:50051 
  -e QUERY_DEFAULTS_LIMIT=25 
  -e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true 
  -e PERSISTENCE_DATA_PATH='/var/lib/weaviate' 
  -e DEFAULT_VECTORIZER_MODULE='text2vec-openai' 
  -e OPENAI_APIKEY='YOUR_KEY' 
  -e CLUSTER_HOSTNAME='node1' 
  --name weaviate 
  cr.weaviate.io/semitechnologies/weaviate:latest

Weaviate Cloud

Weaviate Cloud (anciennement WCS) est la version managée. Depuis octobre 2025, le pricing a été restructuré en trois plans :

Plan Prix Inclus
Flex À partir de $45/mois (pay-as-you-go) Shared Cloud, HA 99.5%, RBAC, Embeddings, Agents, compression
Plus À partir de $280/mois (engagement annuel) Shared ou Dedicated, 99.9% uptime, sécurité renforcée, monitoring
Premium Sur devis Dedicated, 99.95% uptime, HIPAA, support prioritaire, global

Un sandbox gratuit de 14 jours (sans carte bancaire) permet de tester les fonctionnalités complètes. C’est un bon point de départ pour évaluer Weaviate avant de s’engager.

Bring Your Own Cloud (BYOC)

Weaviate gère la base de données dans votre propre environnement cloud (AWS, GCP, Azure), dans votre VPC. Les données ne quittent jamais votre infrastructure. C’est l’option pour les organisations avec des exigences strictes de souveraineté des données ou de conformité.


Écosystème et intégrations

Weaviate s’intègre avec plus de 20 modèles ML et frameworks IA :

Frameworks RAG : LangChain, LlamaIndex, Haystack, Semantic Kernel. Weaviate est un backend vectoriel de premier choix pour ces frameworks.

Modèles d’embedding : OpenAI, Cohere, Hugging Face (Sentence Transformers, E5, BGE), Voyage AI, Jina AI. Configurez le vectorizer et Weaviate appelle le modèle pour vous.

LLM pour la génération : OpenAI (GPT-4o, GPT-5.4), Anthropic (Claude), Cohere, modèles locaux via Ollama. Les modules generative permettent le RAG sans framework externe.

Cloud et orchestration : disponible sur AWS Marketplace, GCP Marketplace et Azure Marketplace. Intégration native avec Amazon Bedrock et SageMaker.

Applications démo : Verba (RAG clé-en-main open source), Elysia (système d’agents basé sur des arbres de décision), Healthsearch (recherche sémantique de suppléments santé), Awesome-Moviate (recherche de films hybride).


Forces et limites

Points forts

Hybrid search natif sans surcoût. BM25 + vecteur en un seul appel, sans augmentation du stockage. C’est l’implémentation la plus propre du marché pour la recherche hybride.

Vectorisation intégrée. Vous envoyez du texte, Weaviate génère et stocke les embeddings. Moins de composants dans votre architecture, moins de points de défaillance.

Open source (BSD-3). Aucune restriction de licence. Vous pouvez self-hoster, modifier le code, et déployer où vous voulez sans risque de lock-in.

RAG self-contained. Recherche + génération en un appel. Pour les cas simples, vous n’avez pas besoin de LangChain ou LlamaIndex en plus de Weaviate.

Multi-tenancy efficace. Essentielle pour les applications SaaS multi-clients. Isolation complète des données par tenant sans surcoût d’infrastructure significatif.

Limites

Complexité de configuration. La richesse fonctionnelle (modules, vectorizers, generative, agents) crée une courbe d’apprentissage plus raide que Pinecone (zéro config) ou Qdrant (setup simple). Le design du schéma (collections, propriétés, vectorizers) demande de la réflexion en amont.

Latence légèrement supérieure. Les benchmarks indiquent des latences p99 autour de 50-70ms pour Weaviate, contre 30-40ms pour Qdrant. Pour la plupart des applications RAG, cette différence est imperceptible. Pour les applications à très faible latence (pricing temps réel, trading), elle peut compter.

Sandbox gratuit limité à 14 jours. Contrairement à Pinecone qui offre un free tier permanent, le sandbox Weaviate expire. Le plan Flex ($45/mois) est le minimum pour un usage continu.

SDK parfois en retard. Les clients Python et JavaScript ne couvrent pas toujours immédiatement les dernières fonctionnalités du core. Occasionnellement, il faut recourir aux appels REST directement.


Cas d’usage en production

RAG d’entreprise

Le cas d’usage dominant de Weaviate. Un assistant IA connecté à la documentation interne (base de connaissances, wikis, manuels, politiques RH) utilise Weaviate pour retrouver les passages pertinents. La recherche hybride est particulièrement précieuse ici : un employé qui cherche « procédure d’absence maladie » bénéficie du matching sémantique (comprend « congé médical ») et du matching keyword exact (retrouve le document avec « absence maladie » dans le titre). Le module generative génère la réponse directement, sans framework RAG externe.

Weaviate supporte les embeddings multimodaux (texte + images via le module multi2vec-clip). Un e-commerce peut indexer les descriptions textuelles et les images de produits dans la même collection. Un client qui cherche « robe rouge d’été » récupère des résultats basés à la fois sur la description textuelle et la similarité visuelle des images. L’application démo Awesome-Moviate de Weaviate illustre ce pattern pour la recherche de films.

Application SaaS multi-tenant

Une plateforme SaaS de support client connecte chaque client à sa propre base de connaissances. La multi-tenancy native de Weaviate isole les données de chaque client dans un tenant séparé. Quand un utilisateur final pose une question, la recherche se fait uniquement dans le tenant de son entreprise. Pas de risque de fuite de données entre clients, et les performances restent stables car chaque tenant a son propre espace d’indexation.

Classification et catégorisation

Au-delà de la recherche, Weaviate peut classifier des documents en utilisant la similarité vectorielle. Un nouveau ticket de support est automatiquement assigné à la catégorie dont les tickets existants sont les plus proches sémantiquement. Cette approche fonctionne sans entraîner de modèle de classification séparé : les embeddings du corpus existant servent de base de référence.


Architecture technique

Weaviate est écrit en Go, un choix qui lui confère des performances élevées et une gestion efficace de la concurrence. L’architecture interne se compose de plusieurs couches :

Moteur de stockage : Weaviate utilise un moteur de stockage custom (LSM-tree based) optimisé pour les lectures vectorielles. Les vecteurs et les objets sont stockés ensemble, ce qui réduit les I/O lors des requêtes.

Index vectoriel : HNSW (Hierarchical Navigable Small World) est l’algorithme d’indexation par défaut. Weaviate supporte aussi l’indexation dynamique qui choisit automatiquement entre HNSW et flat index selon la taille de la collection (flat pour les petites collections, HNSW pour les grandes). Plusieurs méthodes de compression sont disponibles (PQ, SQ, BQ) pour réduire l’empreinte mémoire sans sacrifier significativement le recall.

Index BM25 : un index inversé séparé maintient les termes pour la recherche keyword. Cet index est créé automatiquement pour chaque propriété textuelle, sans configuration supplémentaire.

Réplication et sharding : pour la production, Weaviate supporte le sharding (distribution des données) et la réplication (copies redondantes). La réplication assure la haute disponibilité : si un nœud tombe, les requêtes sont routées vers les répliques. Le sharding distribue les gros datasets sur plusieurs nœuds pour le scaling horizontal.


Weaviate vs alternatives

Critère Weaviate Pinecone Qdrant pgvector
Open source BSD-3 Non Apache 2.0 PostgreSQL
Vectorisation auto Oui (modules intégrés) Oui (Pinecone Inference) Non (externe) Non (externe)
Hybrid search BM25 natif (pas de surcoût stockage) Sparse vectors (surcoût stockage) Sparse vectors tsvector + vector SQL
RAG natif Oui (modules generative) Oui (Pinecone Assistant) Non Non
Multi-tenancy Natif et efficace Via namespaces Via collections Via schémas PG
Latence p99 50-70ms 20-100ms 30-40ms Variable (dépend du PG)
Coût cloud (entrée) $45/mois (Flex) $50/mois (Standard) $25/mois (Cloud) Inclus dans PG managé
Cas idéal AI-native, RAG complet, multi-tenant Zéro ops, production rapide Performance, latence critique Déjà sur PostgreSQL
Quand choisir Weaviate Weaviate est le meilleur choix quand : vous voulez un pipeline RAG complet (vectorisation + search + génération) dans un seul outil, la recherche hybride BM25+vecteur est critique pour votre cas d’usage, vous construisez une application SaaS multi-tenant, ou vous voulez la flexibilité de l’open source avec l’option d’un cloud managé. Si votre priorité est la latence brute, Qdrant est plus rapide. Si vous voulez zéro configuration, Pinecone est plus simple.

Verdict

Weaviate est le vector store le plus complet fonctionnellement en 2026. La combinaison vectorisation automatique + hybrid search BM25 natif + RAG intégré + agents + multi-tenancy en fait une plateforme de retrieval complète, pas seulement une base de vecteurs. Pour les équipes qui construisent des applications RAG sérieuses et qui veulent minimiser le nombre de composants dans leur architecture, Weaviate est un choix excellent.

Le compromis est la complexité : Weaviate a plus de concepts à maîtriser que Pinecone (zéro config) ou Qdrant (simple et rapide). La courbe d’apprentissage est réelle, et le pricing cloud peut être difficile à prévoir pour les débutants. Mais pour les équipes qui investissent le temps de bien configurer leur schéma et leurs modules, Weaviate offre le pipeline de retrieval le plus intégré du marché.

La version open source (BSD-3) élimine le risque de vendor lock-in, et le BYOC satisfait les exigences de souveraineté des données des industries réglementées. C’est un vector store avec lequel vous pouvez grandir, du prototype au déploiement enterprise.


Questions fréquentes sur Weaviate

Weaviate est-il gratuit ?

Le logiciel Weaviate est open source (licence BSD-3) et gratuit à utiliser en self-hosted. Vous payez uniquement l’infrastructure (serveurs, cloud). Weaviate Cloud propose un sandbox gratuit de 14 jours pour tester, puis des plans payants à partir de 45 $/mois (Flex). Il n’y a pas de free tier permanent sur le cloud, contrairement à Pinecone.

Quelle est la différence entre Weaviate et Pinecone ?

Weaviate est open source, self-hostable, avec hybrid search BM25 natif et vectorisation automatique. Pinecone est propriétaire, entièrement managé (zéro ops), avec un reranking intégré. Choisissez Weaviate si vous voulez le contrôle, l’open source et un pipeline RAG complet intégré. Choisissez Pinecone si vous voulez être en production en quelques minutes sans aucune gestion d’infrastructure.

Weaviate peut-il remplacer Elasticsearch pour la recherche ?

Pour la recherche sémantique et le RAG, oui. Weaviate offre la recherche vectorielle + BM25 en un seul système, ce qu’Elasticsearch fait avec des plugins vectoriels (kNN) moins intégrés. Pour la recherche full-text pure (logs, monitoring, recherche textuelle complexe), Elasticsearch reste supérieur car c’est son cœur de métier. Weaviate est optimisé pour le retrieval IA, pas pour le log analytics.

Comment Weaviate gère-t-il la montée en charge ?

En self-hosted, Weaviate scale horizontalement via le sharding (distribution des données sur plusieurs nœuds) et la réplication (copies multiples pour la haute disponibilité et les performances de lecture). Le déploiement se fait via Helm Charts sur Kubernetes. En Weaviate Cloud, le scaling est géré automatiquement (Shared Cloud) ou configuré par l’équipe Weaviate (Dedicated Cloud).

Faut-il utiliser les modules de vectorisation ou fournir ses propres embeddings ?

Les modules de vectorisation simplifient l’architecture : moins de code, moins de composants, moins de points de défaillance. Ils sont recommandés pour la majorité des cas. Fournissez vos propres embeddings si vous utilisez un modèle d’embedding custom, si vous avez besoin d’un contrôle total sur le preprocessing (chunking, nettoyage), ou si vous voulez éviter la dépendance aux API d’embedding (coût, latence, rate limits). Les deux approches peuvent coexister dans la même instance Weaviate.

Polydesk.ai — Footer