IA y LLMRecuperación

Búsqueda por similitud vectorial

Encuentra los elementos más cercanos por significado, filtrados por etiqueta, dentro del mismo motor que guarda los propios elementos.

indexado
HNSW
búsqueda media
O(log N)
métricas de distancia
3
Paso 1 de 6
Crea el índice

Las dimensiones y la métrica son fijas por índice. Los parámetros de HNSW se pueden ajustar cuando haga falta.

Sesión de ejemploplaying
# Crea el índice
hotkv> VSIM.CREATEINDEX products 3 METRIC COSINE
OK

Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.

El problema

La búsqueda semántica, los "más como este" y la deduplicación se reducen a una sola pregunta. ¿Qué elementos guardados están más cerca de este? Responderla suele requerir una base de datos vectorial dedicada junto a tu almacén principal, y cada actualización de producto tiene que escribirse en ambos.

Cómo lo resuelve HotKV

HotKV mantiene índices vectoriales HNSW dentro del motor. Los datos de producto viven en claves normales, los vectores se indexan con los mismos nombres de clave y las etiquetas de esas claves permiten que una búsqueda se mantenga dentro de una categoría o de un tenant. Una sola ruta de escritura, un solo sistema que operar.

Paso a paso

Qué ocurre, comando a comando

  1. 01

    Crea el índice

    Las dimensiones y la métrica son fijas por índice. Los parámetros de HNSW se pueden ajustar cuando haga falta.

    VSIM.CREATEINDEX products 3 METRIC COSINE
  2. 02

    Guarda el producto

    Los datos del producto son un hash normal, con el nombre de clave que usará el índice.

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

    Etiquétalo

    Las etiquetas de la clave permiten que una búsqueda vectorial se mantenga dentro de una categoría.

    TAG.SET sku:1 shoes running
  4. 04

    Indexa su vector

    El vector entra en el índice con el mismo nombre de clave.

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

    Busca por significado, dentro de una etiqueta

    Se genera el embedding del texto de la consulta y vuelven los productos más cercanos que llevan la etiqueta, con sus distancias.

    VSIM.SEARCH products 3 0.10 0.82 0.29 FILTER shoes
  6. 06

    Obtén lo que vas a mostrar

    Los resultados son nombres de clave, así que los datos del producto están a una lectura de distancia en el mismo servidor.

    HGETALL sku:1
Dónde encaja

Escenarios reales

Búsqueda en e-commerce

Los compradores escriben lo que quieren con sus propias palabras. El catálogo se busca por significado y se filtra por la categoría y la tienda en la que están.

Detección de duplicados

Los tickets de soporte o los anuncios nuevos se comparan con los existentes, y los casi duplicados se fusionan antes de que los vea una persona.

Similitud de imágenes y medios

Los embeddings de un modelo de imágenes encuentran fotos o clips visualmente parecidos en toda una biblioteca.

Integrado

Qué obtienes

Índices HNSW

Búsqueda aproximada de vecinos más cercanos que sigue siendo rápida en índices grandes, O(log N) de media.

VSIM.CREATEINDEXVSIM.SEARCH

Tres métricas

Coseno, L2 y producto interno, elegidas por índice.

METRIC

Filtros por etiqueta

Limita una búsqueda a las claves que llevan todas las etiquetas indicadas.

TAG.SETFILTER

Persistentes

Los índices se conservan en tus snapshots y reescrituras de AOF como el resto de tus datos.

VSIM.INFO

Preguntas frecuentes

¿HotKV genera los embeddings?

No. Crea los vectores con el modelo de embeddings que prefieras y guárdalos con VSIM.SET.

¿En qué se diferencia de los pipelines RAG?

VSIM es el índice vectorial general. Los pipelines RAG se basan en la misma idea y añaden fragmentación, metadatos y búsqueda híbrida por palabras clave para documentos.

¿Qué planes la incluyen?

La búsqueda vectorial y las etiquetas son comandos del núcleo y funcionan en todos los planes, sin necesidad de licencia.

Casos de uso relacionados

Pruébalo con tu propia carga de trabajo

HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.