# Base de datos vectorial

> Una base de datos que busca por significado parecido y no por palabras exactas.

- Nivel: Intermedio
- Temas: IA, Datos
- URL: https://tidbit.legios.com.ar/es/vector-database/
- En inglés: [Vector database](https://tidbit.legios.com.ar/vector-database/)

Una **base de datos vectorial** (vector database) guarda **embeddings**: listas de números que produce un modelo de IA para representar el significado de un texto, una imagen o un sonido. Las cosas con significado parecido reciben números parecidos, así que quedan cerca, como puntos en un mapa. 'Cachorro' cae cerca de 'perro' y de 'gatito', lejos de 'factura'. Una base de datos vectorial está hecha para responder rápido una sola pregunta: ¿qué elementos guardados están más cerca de este?

Eso es distinto de buscar en una base de datos común. Si buscás 'no puedo entrar' por palabras clave en un centro de ayuda, no aparece el artículo 'Cómo restablecer tu contraseña'. Buscando por vectores sí aparece, porque los significados están cerca aunque las palabras sean otras. Para hacer esto entre millones de elementos sin comparar contra cada uno, las bases vectoriales usan índices especiales (aparecen nombres como HNSW) que encuentran casi los más cercanos muy rápido, a cambio de resignar un poquito de precisión.

Se volvieron populares con los grandes modelos de lenguaje porque son la memoria habitual detrás de **RAG**: tus documentos se parten en pedazos, cada pedazo se convierte en embedding y se guarda, y cuando alguien hace una pregunta se buscan los pedazos más cercanos y se le pasan al modelo como contexto. También sirven para búsqueda semántica, recomendaciones de 'productos parecidos' y detección de duplicados. Algunas son productos dedicados; otras son funciones agregadas a sistemas que ya existían, como la extensión `pgvector` para PostgreSQL.

## Una analogía

Es como una biblioteca donde los libros se ordenan por el tema y no por el título. Vas al estante del libro que tenés en mente, y los vecinos de ese estante son los más parecidos, digan lo que digan sus títulos.

## Para quedarse

- Guarda embeddings: números que representan significado.
- Encuentra lo más cercano a una consulta, no coincidencias exactas de palabras.
- Usa búsqueda aproximada para seguir siendo rápida con millones de elementos.
- Es el almacenamiento habitual detrás de RAG y de la búsqueda semántica.

## Para seguir leyendo

- [¿Qué es una base de datos vectorial? (AWS)](https://aws.amazon.com/es/what-is/vector-databases/)
- [¿Qué es una base de datos vectorial? (IBM)](https://www.ibm.com/es-es/think/topics/vector-database)
- [Vector database en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Vector_database)

## Términos relacionados

- [Embeddings](https://tidbit.legios.com.ar/es/embeddings/): Convertir palabras, imágenes o documentos en listas de números que capturan significado.
- [Inteligencia artificial](https://tidbit.legios.com.ar/es/artificial-intelligence/): Lograr que las computadoras hagan cosas que hasta hace poco solo hacía la gente.
- [Base de datos](https://tidbit.legios.com.ar/es/database/): Un depósito ordenado de datos que los programas consultan y actualizan sin riesgo.
- [Índice de base de datos](https://tidbit.legios.com.ar/es/database-index/): Un atajo ordenado para que la base encuentre filas sin leer toda la tabla.
- [LLM](https://tidbit.legios.com.ar/es/llm/): Una red neuronal entrenada con muchísimo texto para predecir la próxima palabra.
- [RAG](https://tidbit.legios.com.ar/es/rag/): Dejar que el modelo busque en tus documentos antes de responder.
