IA și LLMRegăsire

Căutare prin similaritate vectorială

Găsiți cele mai apropiate elemente după sens, filtrate după etichetă, în același motor care conține elementele înseși.

indexat
HNSW
căutare, în medie
O(log N)
metrici de distanță
3
Pasul 1 din 6
Creați indexul

Dimensiunile și metrica sunt fixe pentru fiecare index. Parametrii HNSW pot fi ajustați la nevoie.

Sesiune de exempluplaying
# Creați indexul
hotkv> VSIM.CREATEINDEX products 3 METRIC COSINE
OK

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.

Problema

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.

Cum o rezolvă HotKV

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.

Pas cu pas

Ce se întâmplă, comandă cu comandă

  1. 01

    Creați indexul

    Dimensiunile și metrica sunt fixe pentru fiecare index. Parametrii HNSW pot fi ajustați la nevoie.

    VSIM.CREATEINDEX products 3 METRIC COSINE
  2. 02

    Stocați produsul

    Datele produsului sunt un hash obișnuit, sub numele de cheie pe care îl va folosi indexul.

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

    Etichetați-l

    Etichetele de pe cheie permit unei căutări vectoriale să rămână într-o categorie.

    TAG.SET sku:1 shoes running
  4. 04

    Indexați vectorul lui

    Vectorul intră în index sub același nume de cheie.

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

    Căutați după sens, într-o etichetă

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

    Preluați ce afișați

    Rezultatele sunt nume de chei, deci datele produsului sunt la o citire distanță, în același server.

    HGETALL sku:1
Unde se potrivește

Scenarii din lumea reală

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ă.

Detectarea duplicatelor

Tichetele de suport sau anunțurile noi sunt comparate cu cele existente, iar aproape-duplicatele sunt unite înainte să le vadă un om.

Similaritate de imagini și media

Embeddingurile de la un model de imagini găsesc fotografii sau clipuri asemănătoare vizual într-o bibliotecă.

Integrat

Ce primiți

Indexuri HNSW

Căutare aproximativă a celor mai apropiați vecini, care rămâne rapidă pe indexuri mari, O(log N) în medie.

VSIM.CREATEINDEXVSIM.SEARCH

Trei metrici

Cosinus, L2 și produs scalar, alese pentru fiecare index.

METRIC

Filtre pe etichete

Restrângeți o căutare la cheile care poartă toate etichetele date.

TAG.SETFILTER

Persistent

Indexurile sunt păstrate în snapshoturile și rescrierile AOF, ca restul datelor dvs.

VSIM.INFO

Întrebări frecvente

Generează HotKV embeddingurile?

Nu. Creați vectorii cu modelul de embedding preferat și stocați-i cu VSIM.SET.

Prin ce diferă de pipeline-urile RAG?

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.

Ce planuri îl includ?

Căutarea vectorială și etichetele sunt comenzi de bază și funcționează în fiecare plan, fără licență.

Cazuri de utilizare înrudite

Încercați pe propria sarcină de lucru

HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.