Bases de Datos NoSQL · Bases de Datos

Bases vectoriales

Almacenar embeddings y recuperar por similitud con índices aproximados, entendiendo distancia, recall y el papel de la búsqueda vectorial en la recuperación semántica.

Bases vectoriales

Buscar por significado Buscar «perro» no es buscar el resto de documentos que contengan la palabra perro, sino los que signifiquen algo parecido. Un embedding traduce significado a coordenadas, y la distancia entre ellas es la medida de ese parecido.

Embeddings

Un modelo convierte texto, imagen o audio en un vector denso de cientos o miles de dimensiones. Elementos parecidos caen cerca en ese espacio, de modo que la geometría sustituye a la coincidencia literal de claves.

Distancia y similitud

Se mide cercanía con coseno, producto punto o distancia euclídea. El coseno ignora la longitud y se centra en la dirección, habitual cuando los vectores están normalizados; euclídea pesa también la magnitud.

Dos nubes de puntos, una teal y otra coral, con un punto consultado enlazado por líneas finas a sus vecinos más próximos.
Una base vectorial busca por proximidad: la consulta viaja a un punto del espacio y recoge a quienes tiene alrededor, aunque no compartan una sola palabra.

Búsqueda aproximada

Comparar contra millones de vectores es caro, así que índices como HNSW o IVF organizan el espacio para descartar regiones y devolver vecinos casi óptimos muchísimo más rápido, a costa de algo de precisión.

Recall y latencia

Persistir y filtrar

Cada vector se acompaña de metadatos que permiten filtrar antes o durante la búsqueda: fecha, idioma, permisos. Ese híbrido entre filtro exacto y semejanza aproximada es lo que hace útil la recuperación.

El papel en recuperación

En un sistema de generación aumentada, la base vectorial localiza los fragmentos relevantes que luego se entregan al modelo. Su calidad condiciona la respuesta tanto como el propio generador.

Mantenimiento

Insertar, actualizar y borrar vectores obliga a reequilibrar el índice. Al igual que en otras familias, se paga con latencia o con reconstrucciones periódicas el mantener el índice compacto y rápido.

Errores frecuentes

Ejemplo resuelto: buscador semántico de manuales

Una empresa quiere responder preguntas buscando en sus manuales sin depender de palabras exactas:

  1. Vectorizar: pasar cada fragmento del manual por un modelo de embeddings y guardarlo con su texto.
  2. Indexar: construir un índice aproximado como HNSW sobre los vectores para descartar regiones lejanas.
  3. Consultar: convertir la pregunta en vector y pedir los vecinos más próximos filtrando por metadatos.
  4. Medir: evaluar el recall comparando con una búsqueda exhaustiva en una muestra.
  5. Entregar: pasar los fragmentos candidatos al generador como contexto de la respuesta.

¿Para qué sirve en la realidad?

Buscadores que entienden intención, recomendadores por semejanza, detección de duplicados y la memoria de los sistemas de preguntas y respuestas sobre documentos: la búsqueda vectorial es hoy la puerta de entrada del significado a las aplicaciones.

Recuperar los diez vectores más parecidos a una consulta entre millones con latencia baja pide:

La similitud de coseno tiene en cuenta la longitud del vector además de su dirección.

Vectorial

Representación densa del significado de un objeto
embedding
Semejanza basada en ángulo
coseno
Índice de vecinos más próximos aproximado
hnsw
Fracción de verdaderos vecinos recuperados
recall
Reducción de espacio filtrando por...
metadatos

Ordena el flujo de una consulta en recuperación semántica:

Embedding
Índice
Filtrado
Relevo

Base de datos vectorial
Panorama de motores de similitud, índices aproximados y su uso en recuperación semántica.

Une cada pieza de la búsqueda vectorial con su función.

Buscar por significado

# Bases vectoriales
## Espacio
### embeddings densos
### cerca es parecido
## Distancia
### coseno por ángulo
### euclídea pesa magnitud
## Índice
### HNSW aproximado
### recall contra latencia
## Uso
### buscadores y RAG
### filtros por metadatos

Cómo funcionan las bases vectoriales
Explicación ilustrada de índices aproximados, distancia y filtrado por metadatos.

Tu buscador devuelve resultados que comparten palabras pero no intención. ¿Añadir embeddings y búsqueda vectorial lo resolvería? ¿Qué riesgo de recall aceptas para ganar velocidad?