IA et LLMRecherche

Recherche par similarité vectorielle

Trouvez les éléments les plus proches par leur sens, filtrés par tag, dans le moteur même qui contient ces éléments.

indexé
HNSW
recherche moyenne
O(log N)
métriques de distance
3
Étape 1 sur 6
Créer l'index

Les dimensions et la métrique sont fixées par index. Les paramètres HNSW peuvent être ajustés au besoin.

Session d’exempleplaying
# Créer l'index
hotkv> VSIM.CREATEINDEX products 3 METRIC COSINE
OK

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.

Le problème

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.

Comment HotKV s'en charge

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.

Étape par étape

Ce qui se passe, commande par commande

  1. 01

    Créer l'index

    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 COSINE
  2. 02

    Stocker le produit

    Les données du produit sont un hash classique, sous le nom de clé que l'index utilisera.

    HSET sku:1 name "Trail runner" price 89
  3. 03

    L'étiqueter

    Les tags sur la clé permettent à une recherche vectorielle de rester dans une catégorie.

    TAG.SET sku:1 shoes running
  4. 04

    Indexer son vecteur

    Le vecteur entre dans l'index sous le même nom de clé.

    VSIM.SET products sku:1 0.12 0.80 0.31
  5. 05

    Chercher par le sens, dans un tag

    Le 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 shoes
  6. 06

    Récupérer ce qu'il faut afficher

    Les 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:1
Où cela s'applique

Scénarios concrets

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.

Détection de doublons

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.

Similarité d'images et de médias

Les embeddings d'un modèle d'image retrouvent des photos ou des clips visuellement proches dans toute une bibliothèque.

Intégré

Ce que vous obtenez

Index HNSW

Une recherche approximative des plus proches voisins qui reste rapide sur de grands index, en O(log N) en moyenne.

VSIM.CREATEINDEXVSIM.SEARCH

Trois métriques

Cosinus, L2 et produit scalaire, au choix pour chaque index.

METRIC

Filtres par tag

Limitez une recherche aux clés qui portent tous les tags indiqués.

TAG.SETFILTER

Persistant

Les index sont conservés dans vos snapshots et vos réécritures AOF, comme le reste de vos données.

VSIM.INFO

Questions fréquentes

HotKV génère-t-il les embeddings ?

Non. Créez les vecteurs avec le modèle d'embedding de votre choix et stockez-les avec VSIM.SET.

Quelle différence avec les pipelines RAG ?

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.

Quelles offres l'incluent ?

La recherche vectorielle et les tags sont des commandes de base et fonctionnent avec toutes les offres, sans licence.

Cas d'usage associés

Essayez-le sur votre propre charge de travail

HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.