Căutare în comerțul electronic
Cumpărătorii scriu ce vor cu cuvintele lor. Catalogul este căutat după sens și filtrat la categoria și magazinul în care se află.
Găsiți cele mai apropiate elemente după sens, filtrate după etichetă, în același motor care conține elementele înseși.
Dimensiunile și metrica sunt fixe pentru fiecare index. Parametrii HNSW pot fi ajustați la nevoie.
O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.
Căutarea semantică, „mai multe ca acesta” și deduplicarea se reduc la o singură întrebare. Care dintre elementele stocate sunt cele mai apropiate de acesta? Ca să răspundeți, de obicei aveți nevoie de o bază de date vectorială dedicată, lângă store-ul principal, iar fiecare actualizare de produs trebuie scrisă în ambele.
HotKV păstrează indexuri vectoriale HNSW în motor. Datele produselor stau în chei obișnuite, vectorii sunt indexați sub aceleași nume de chei, iar etichetele de pe acele chei permit unei căutări să rămână într-o categorie sau la un tenant. O singură cale de scriere, un singur sistem de rulat.
Dimensiunile și metrica sunt fixe pentru fiecare index. Parametrii HNSW pot fi ajustați la nevoie.
VSIM.CREATEINDEX products 3 METRIC COSINEDatele produsului sunt un hash obișnuit, sub numele de cheie pe care îl va folosi indexul.
HSET sku:1 name "Trail runner" price 89Etichetele de pe cheie permit unei căutări vectoriale să rămână într-o categorie.
TAG.SET sku:1 shoes runningVectorul intră în index sub același nume de cheie.
VSIM.SET products sku:1 0.12 0.80 0.31Textul interogării este transformat în embedding, iar cele mai apropiate produse care poartă eticheta se întorc cu distanțele lor.
VSIM.SEARCH products 3 0.10 0.82 0.29 FILTER shoesRezultatele sunt nume de chei, deci datele produsului sunt la o citire distanță, în același server.
HGETALL sku:1Cumpărătorii scriu ce vor cu cuvintele lor. Catalogul este căutat după sens și filtrat la categoria și magazinul în care se află.
Tichetele de suport sau anunțurile noi sunt comparate cu cele existente, iar aproape-duplicatele sunt unite înainte să le vadă un om.
Embeddingurile de la un model de imagini găsesc fotografii sau clipuri asemănătoare vizual într-o bibliotecă.
Căutare aproximativă a celor mai apropiați vecini, care rămâne rapidă pe indexuri mari, O(log N) în medie.
VSIM.CREATEINDEXVSIM.SEARCHCosinus, L2 și produs scalar, alese pentru fiecare index.
METRICRestrângeți o căutare la cheile care poartă toate etichetele date.
TAG.SETFILTERIndexurile sunt păstrate în snapshoturile și rescrierile AOF, ca restul datelor dvs.
VSIM.INFONu. Creați vectorii cu modelul de embedding preferat și stocați-i cu VSIM.SET.
VSIM este indexul vectorial general. Pipeline-urile RAG se bazează pe aceeași idee și adaugă fragmentare, metadate și căutare hibridă după cuvinte-cheie pentru documente.
Căutarea vectorială și etichetele sunt comenzi de bază și funcționează în fiecare plan, fără licență.
HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.