Weaviate

circle-info

Weaviate est une base de données vectorielle open-source native pour l'IA, conçue pour la recherche sémantique, la recherche hybride et les applications RAG (Retrieval-Augmented Generation). Elle stocke à la fois des objets et leurs embeddings vectoriels et prend en charge l'intégration de modèles ML intégrés.

Aperçu

Weaviate va au-delà des bases de données vectorielles traditionnelles en intégrant nativement des modèles ML pour la vectorisation automatique lors de l'importation et au moment des requêtes. Il prend en charge plusieurs types de données (texte, images, vidéo, audio), une recherche hybride intégrée combinant BM25 et similarité vectorielle, et des déploiements multi-locataires. Weaviate est prêt pour la production, cloud-native, et conçu pour évoluer des prototypes à des milliards de vecteurs.

Propriété
Valeur

Catégorie

Base de données vectorielle / infrastructure RAG

Développeur

Weaviate B.V.

Licence

BSD 3-Clause

Étoiles

12K+

Image Docker

cr.weaviate.io/semitechnologies/weaviate

Ports

22 (SSH), 8080 (API HTTP / GraphQL)


Fonctionnalités clés

  • Recherche hybride vecteur + mots-clés — combiner BM25 full-text avec la similarité vectorielle dans une seule requête

  • Vectoriseurs intégrés — vectoriser automatiquement les données à l'import avec OpenAI, Cohere, HuggingFace ou des modèles locaux

  • Multi-modal — stocker et rechercher texte, images, vidéo, audio dans une seule base de données

  • API GraphQL — langage de requête expressif pour des requêtes sémantiques complexes

  • API REST — opérations CRUD complètes et gestion du schéma

  • Multi-locataires — isoler les données par locataire avec une infrastructure partagée

  • Indexation HNSW — recherche approximative de plus proches voisins rapide

  • Recherche filtrée — combiner la recherche vectorielle avec des filtres de métadonnées traditionnels

  • Recherche générative — RAG intégré avec intégration de LLM

  • Mise à l'échelle horizontale — fragmenter et répliquer sur plusieurs nœuds

  • Système de modules — brancher des vectoriseurs, lecteurs, générateurs


Configuration Clore.ai

Étape 1 — Choisir le matériel

Cas d’utilisation
Recommandé
RAM
Stockage

Développement / prototypage

Instance CPU

8 Go

20 Go

Petite production (< 1M de vecteurs)

Instance CPU

16 Go

50 Go

Grande échelle (10M+ vecteurs)

Instance GPU

32 Go+

200 Go+

Vectorisation accélérée par GPU

RTX 4090

24 Go

100 Go

circle-info

Weaviate lui-même fonctionne sur CPU. Utilisez des instances GPU sur Clore.ai lorsque vous avez besoin de modèle d'embedding local d'inférence (par ex., text2vec-transformers avec un modèle local) pour une vectorisation rapide au moment de l'importation.

Étape 2 — Louer un serveur sur Clore.ai

  1. Aller à clore.aiarrow-up-rightPlace de marché

  2. Pour une recherche vectorielle pure : instances CPU avec ≥ 16 Go de RAM

  3. Pour des embeddings accélérés par GPU : RTX 3090 ou 4090

  4. Ports ouverts : 22 et 8080

  5. Assurez-vous ≥ 50 Go de disque pour le stockage vectoriel

Étape 3 — Déployer avec Docker

Déploiement minimal (sans vectoriseur) :

Avec le vectoriseur OpenAI :

Avec le vectoriseur HuggingFace local (accéléré GPU) :

Démarrer :


Accéder à l'API

API HTTP/REST

Point d'accès GraphQL

Vérification de l'état

Via SSH


Client Python

Installation

Se connecter


Schéma & Collections

Créer une collection


Importer des données

Import par lot avec vecteurs pré-calculés

Vectoriser automatiquement avec OpenAI (à l'import)


Requêtes

Recherche sémantique (vectorielle)

Recherche hybride (Vecteur + BM25)

Recherche par mot-clé (BM25)

Recherche filtrée

Requête GraphQL


Recherche générative (RAG)


Multi-locataires


Exemples d'API REST


Dépannage

circle-exclamation
circle-exclamation
circle-info

Utilisation élevée de la mémoire — Weaviate conserve l'index vectoriel en RAM pour une recherche rapide. Pour 1M de vecteurs 768-dim : ~6 Go de RAM. Prévoir en conséquence lors du choix de la taille d'instance Clore.ai.

circle-info

Impossible de se connecter via le client Python — Assurer que les ports 8080 (HTTP) et 50051 (gRPC) sont ouverts. Le client Python v4 utilise gRPC par défaut.

Problème
Correction

Connexion refusée

Attendre le démarrage (~30 s), vérifier docker ps, vérifier les ports

Le schéma existe déjà

Supprimer la collection d'abord : client.collections.delete("Name")

Mémoire insuffisante

Augmenter la RAM ou réduire la dimension des vecteurs

Recherche vectorielle lente

Ajouter un index HNSW ou vérifier la taille du jeu de données par rapport à la RAM disponible


Conseils de performance

  1. Utiliser des imports par lot — 10x–50x plus rapide que les insertions uniques

  2. Choisir le bon modèle d'embeddingall-MiniLM-L6-v2 (384 dims) est rapide; text-embedding-3-large (3072 dims) offre la meilleure qualité mais utilise 8x plus de RAM

  3. Alpha de la recherche hybride — ajuster alpha pour votre cas d'utilisation : 0.25 pour des requêtes axées mots-clés, 0.75 pour des requêtes sémantiques

  4. Paramètres HNSWef et efConstruction contrôler le compromis rappel vs. vitesse

  5. Isolement des locataires — utiliser la multi-location pour les applications SaaS ; cela évolue beaucoup mieux que des collections séparées par utilisateur


Outils connexes

  • Qdrant — base de données vectorielle en Rust avec filtres de payload

  • ChromaDB — base de données d'embeddings légère

  • Milvus — base de données vectorielle haute échelle


Weaviate sur Clore.ai vous offre une base de données vectorielle prête pour la production avec vectorisation accélérée par GPU — idéale pour construire des systèmes RAG évolutifs et des applications de recherche sémantique.


Recommandations GPU Clore.ai

Cas d’utilisation
GPU recommandé
Coût estimé sur Clore.ai

Développement/Test

RTX 3090 (24GB)

~$0.12/gpu/hr

Recherche vectorielle en production

RTX 3090 (24GB)

~$0.12/gpu/hr

Embeddings à haut débit

RTX 4090 (24GB)

~$0.70/gpu/hr

💡 Tous les exemples de ce guide peuvent être déployés sur Clore.aiarrow-up-right serveurs GPU. Parcourez les GPU disponibles et louez à l’heure — sans engagement, avec accès root complet.

Mis à jour

Ce contenu vous a-t-il été utile ?