Recherche e-commerce
Les clients décrivent ce qu'ils veulent avec leurs propres mots. Le catalogue est parcouru par le sens et filtré sur la catégorie et la boutique où ils se trouvent.
Trouvez les éléments les plus proches par leur sens, filtrés par tag, dans le moteur même qui contient ces éléments.
Les dimensions et la métrique sont fixées par index. Les paramètres HNSW peuvent être ajustés au besoin.
Une démonstration animée avec de vraies commandes HotKV et des exemples de réponses. Cliquez sur une étape pour y accéder directement. Les commandes et les réponses restent en anglais, exactement comme vous les saisissez et les voyez dans HotKV.
La recherche sémantique, les suggestions « similaires » et la déduplication se ramènent toutes à une seule question. Quels éléments stockés sont les plus proches de celui-ci ? Y répondre implique en général une base de données vectorielle dédiée à côté de votre stockage principal, et chaque mise à jour de produit doit être écrite dans les deux.
HotKV conserve des index vectoriels HNSW dans le moteur. Les données produit vivent dans des clés ordinaires, les vecteurs sont indexés sous les mêmes noms de clés, et les tags sur ces clés permettent à une recherche de rester dans une catégorie ou chez un locataire. Un seul chemin d'écriture, un seul système à exploiter.
Les dimensions et la métrique sont fixées par index. Les paramètres HNSW peuvent être ajustés au besoin.
VSIM.CREATEINDEX products 3 METRIC COSINELes données du produit sont un hash classique, sous le nom de clé que l'index utilisera.
HSET sku:1 name "Trail runner" price 89Les tags sur la clé permettent à une recherche vectorielle de rester dans une catégorie.
TAG.SET sku:1 shoes runningLe vecteur entre dans l'index sous le même nom de clé.
VSIM.SET products sku:1 0.12 0.80 0.31Le texte de la requête est converti en embedding, et les produits les plus proches portant le tag sont renvoyés avec leur distance.
VSIM.SEARCH products 3 0.10 0.82 0.29 FILTER shoesLes résultats sont des noms de clés, les données produit sont donc à une lecture de là, dans le même serveur.
HGETALL sku:1Les clients décrivent ce qu'ils veulent avec leurs propres mots. Le catalogue est parcouru par le sens et filtré sur la catégorie et la boutique où ils se trouvent.
Les nouveaux tickets de support ou annonces sont comparés aux existants, et les quasi-doublons sont fusionnés avant qu'un humain ne les voie.
Les embeddings d'un modèle d'image retrouvent des photos ou des clips visuellement proches dans toute une bibliothèque.
Une recherche approximative des plus proches voisins qui reste rapide sur de grands index, en O(log N) en moyenne.
VSIM.CREATEINDEXVSIM.SEARCHCosinus, L2 et produit scalaire, au choix pour chaque index.
METRICLimitez une recherche aux clés qui portent tous les tags indiqués.
TAG.SETFILTERLes index sont conservés dans vos snapshots et vos réécritures AOF, comme le reste de vos données.
VSIM.INFONon. Créez les vecteurs avec le modèle d'embedding de votre choix et stockez-les avec VSIM.SET.
VSIM est l'index vectoriel généraliste. Les pipelines RAG reposent sur la même idée et y ajoutent le découpage, les métadonnées et la recherche hybride par mots-clés pour les documents.
La recherche vectorielle et les tags sont des commandes de base et fonctionnent avec toutes les offres, sans licence.
HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.