- Updated:
- Featured post
Embeddings y Vector Search
Un ordenador no puede entender texto ni relaciones semánticas o significados entre palabras. Solo puede entender números. Este problema lo resolvemos mediante el uso de embeddings.
Un embedding es la representación de texto (en forma de números) en un espacio vectorial. Esto permite a los modelos de IA comparar y operar sobre el significado de las palabras.
flowchart TD
A["perro"] --> B{{Modelo de embedding}}
B --> C["[-0.003, 0.043, ..., -0.01]"]
N1["(texto que queremos convertir)"]:::note --> A
N2["(vectores con contenido semántico)"]:::note --> C
classDef note fill:none,stroke:none,color:#777;
Los vectores de cada palabra o documento capturan el significado semántico del texto.
- perro estará cerca de mascota
- contrato estará lejos de playa
Vector vs SQL databases
El problema con las bases de datos típicas es que solo buscan matches exactos. Si yo busco por coche solo me sacará las entradas que contengan coche.
En cambio las BBDD vectoriales pueden interpretar la semántica de las palabras mediante vectores. Si busco por coche puede sacarme valores como sedán, SUV, Land Rover, etc.
Las BBDD vectoriales son muy buenas cuando necesitamos buscar items similares por proximidad uno respecto al otro.
Algunos ejemplos de uso son:
- buscar películas parecidas (Netflix)
- Recomendadores de items parecidos en tiendas online (Amazon)
- buscar canciones parecidas (Spotify)


