Comparaison · Base vectorielle vs API mémoire
Weaviate vs Kronvex
Base vectorielle vs API mémoire
Weaviate est une base de données vectorielle généraliste — elle stocke des objets avec des vecteurs, vous construisez la logique mémoire. Kronvex est une API mémoire dédiée aux agents : scoring de confiance, pondération par récence et inject-context sont déjà intégrés.
TL;DR
Comparaison rapide en 30 secondes
| Fonctionnalité / Question | Weaviate | Kronvex |
|---|---|---|
| Objectif | Base de données vectorielle généraliste | API mémoire dédiée aux agents IA |
| Temps pour le premier souvenir | Heures (schéma, collections, config, embed) | 5 min (POST /remember) |
| Score de confiance | ✗ Distance vectorielle brute uniquement | ✓ similarity × 0.6 + recency × 0.2 + frequency × 0.2 |
| Pondération par récence | ✗ À construire soi-même | ✓ Sigmoïde avec inflexion à 30 jours, intégrée |
| Endpoint inject-context | ✗ Vous formatez le prompt vous-même | ✓ Retourne un bloc de contexte classé et formaté |
| Modèle agent / session | ✗ Configuration multi-tenant manuelle | ✓ Concept d'agent natif, isolation by design |
| RGPD / Hébergement EU | ~ Région EU sur Weaviate Cloud ; self-hosted = votre compliance | ✓ Supabase Frankfurt, natif EU par défaut |
| Modèle tarifaire | Basé sur l'usage (Weaviate Cloud) ou coûts infra self-hosted | Forfait mensuel dès 29 €/mois (Builder) |
| Tier gratuit | Clusters sandbox (limités, expirent) | ✓ Clé démo, 1 agent, 100 mémoires, EU, sans expiration |
| SDK Python & Node | ✓ SDKs officiels | ✓ SDKs officiels (pip & npm) |
Données exactes au mars 2026. Sources : weaviate.io, kronvex.io/docs.
Comparaison honnête
Lequel utiliser ?
Vous avez besoin d'infrastructure vectorielle brute
- Vous construisez un moteur de recherche sémantique personnalisé (produits, documents, bases de connaissances)
- Vous avez besoin de vecteurs multi-modaux (texte + images + données structurées)
- Vous avez besoin d'un contrôle fin du schéma et du filtrage par métadonnées
- Vous construisez des systèmes de recommandation où vous possédez toute la logique de ranking
- Votre équipe a la bande passante pour self-héberger et maintenir une base vectorielle
- La mémoire n'est pas votre cas d'usage — vous faites du RAG documentaire
Vous construisez de la mémoire d'agent
- Votre agent IA doit se souvenir des interactions passées entre sessions
- Vous voulez que la récence et la fréquence influencent les mémoires remontées
- Vous avez besoin d'inject-context pour construire le prompt système automatiquement
- Vous servez des utilisateurs EU et la conformité RGPD est non-négociable
- Vous voulez un coût mensuel forfaitaire plutôt qu'une facturation à l'usage
- Vous avez besoin d'isolation multi-tenant où l'agent de chaque client est séparé
Comparaison de code
La même tâche, deux approches
Objectif : quand un agent commence une conversation, injecter les 5 souvenirs les plus pertinents dans le prompt système. Voici combien de code chaque approche nécessite.
import weaviate import openai from datetime import datetime # Étape 1 : Connexion et définition du schéma client = weaviate.connect_to_weaviate_cloud( cluster_url="...", auth_credentials=weaviate.Auth.api_key("...") ) # Vous devez d'abord définir le schéma de collection client.collections.create( "Memory", properties=[ weaviate.Property(name="content", ...), weaviate.Property(name="agent_id", ...), weaviate.Property(name="created_at", ...), weaviate.Property(name="access_count", ...) ] ) # Étape 2 : Embed la requête manuellement oai = openai.OpenAI() def embed(text): r = oai.embeddings.create( model="text-embedding-3-small", input=text ) return r.data[0].embedding # Étape 3 : Requête avec filtres query_vec = embed("What does the user like?") collection = client.collections.get("Memory") results = collection.query.near_vector( near_vector=query_vec, filters=weaviate.Filter.by_property("agent_id").equal("user-123"), limit=10 ) # Étape 4 : Scoring récence + fréquence manuel def confidence(obj, sim): age_days = (datetime.now() - obj.properties['created_at']).days recency = 1 / (1 + 0.023 * age_days) freq = min(obj.properties['access_count'], 10) / 10 return sim * 0.6 + recency * 0.2 + freq * 0.2 scored = sorted([ (obj, confidence(obj, obj.metadata.certainty)) for obj in results.objects ], key=lambda x: x[1], reverse=True)[:5] # Étape 5 : Formatter manuellement comme bloc de prompt context = "Memory context:\n" + "\n".join( f"- {o.properties['content']} (confidence: {s:.2f})" for o, s in scored ) # ~45 lignes juste pour injecter le contexte
import requests HEADERS = {"X-API-Key": "kv-votre-clé"} BASE = "https://api.kronvex.io/api/v1" AGENT = "user-123" # Obtenir le contexte classé, formaté pour votre prompt context = requests.get( f"{BASE}/agents/{AGENT}/inject-context", headers=HEADERS ).json()["context"] # Retourne un bloc prêt à utiliser : # "Memory context: # - L'utilisateur préfère Python (confidence: 0.94) # - L'utilisateur n'aime pas le boilerplate (confidence: 0.71) # ..." # Le scoring de confiance est automatique : # similarity×0.6 + recency×0.2 + frequency×0.2 # Hébergé EU, natif RGPD, aucune infra à gérer. # 7 lignes. C'est tout.
Ce que Kronvex ajoute par rapport aux vecteurs bruts
Mémoire ≠ Stockage vectoriel
Score de confiance
La distance vectorielle brute ignore le temps. Un souvenir d'il y a 6 mois se classe pareil qu'un d'hier. Kronvex pondère par récence (sigmoïde, inflexion à 30 jours) et fréquence (access count log-scalé) — les souvenirs les plus pertinents ET récents gagnent.
similarity · recency · frequencyinject-context
Les bases vectorielles retournent des correspondances d'objets. Vous devez encore les classer, les formatter et les injecter dans votre prompt système. inject-context de Kronvex fait tout cela en un seul appel API — retournant un bloc prêt à injecter des N meilleures mémoires classées par score de confiance.
un appel API → prompt prêtNatif EU by design
Le self-hosted Weaviate signifie que vous gérez vous-même la conformité RGPD. Weaviate Cloud a des régions EU mais à coût supplémentaire. Kronvex stocke toutes les données sur Supabase Frankfurt par défaut. La conformité RGPD — droit à l'effacement, export, TTL — est intégrée à l'API.
Frankfurt · RGPD · droit à l'effacementQuestions
Foire aux questions
text-embedding-3-small d'OpenAI pour des embeddings de 1536 dimensions et la similarité cosinus pour la récupération. Il n'y a aucune dépendance à Weaviate ou à un autre service vectoriel externe. Toutes les données restent en EU.
inject-context est un endpoint Kronvex qui fait trois choses en un seul appel API : (1) récupère les mémoires les plus sémantiquement similaires pour une requête, (2) les classe avec la formule de confiance (similarity×0.6 + recency×0.2 + frequency×0.2), et (3) les retourne formatées comme un bloc prêt à injecter dans le prompt système. Avec Weaviate seul, vous obtenez des correspondances brutes — vous devez encore ajouter la logique de ranking, formater la sortie et gérer les cas particuliers. inject-context réduit tout cela à un appel.
DELETE /memories, la configuration TTL par agent, et l'export complet des données depuis le dashboard. Bien que Weaviate Cloud propose des options de région EU, les déploiements Weaviate self-hosted vous obligent à gérer votre propre conformité RGPD — une charge significative pour la plupart des équipes.
Commencez avec une clé démo gratuite
Hébergé en EU. Sans carte de crédit. Votre premier souvenir en moins de 5 minutes.
Obtenir votre clé démo →Clé démo · 1 agent · 100 mémoires · Sans expiration