Base de datos vectorial
Última actualización:
Qué es una base de datos vectorial
Una base de datos vectorial guarda los datos como vectores: largas secuencias de números generadas por un modelo de embeddings. Los textos con significado parecido obtienen vectores cercanos entre sí, así que la base de datos puede responder a «¿qué fragmentos guardados se parecen más en significado a este texto?» en lugar de «¿qué filas contienen exactamente esta palabra?».
El término abarca tanto productos dedicados solo a vectores como bases de datos tradicionales que han añadido columnas e índices vectoriales. Lo que comparten es la capacidad de hacer búsquedas por similitud sobre grandes volúmenes de datos.
Cómo funciona
Al añadir contenido, cada fragmento de texto se convierte en un embedding y se guarda junto con el texto original y metadatos como la fuente, el título o la fecha. Al hacer una consulta, la pregunta se convierte con el mismo modelo y la base de datos devuelve los vectores más cercanos según una medida de distancia, por ejemplo la similitud del coseno.
Comparar la pregunta con cada vector guardado es exacto, pero lento en colecciones grandes. Por eso la mayoría de las bases de datos vectoriales crean un índice de búsqueda aproximada de vecinos más cercanos (ANN), que sacrifica un poco de precisión a cambio de búsquedas mucho más rápidas.
- Guardar: el texto, su embedding y sus metadatos se almacenan juntos.
- Indexar: un índice ANN organiza los vectores para encontrar rápido los vecinos cercanos.
- Consultar: la pregunta se convierte en embedding y se devuelven los vectores más cercanos.
- Filtrar: los filtros por metadatos, como los datos de un solo cliente, acotan los resultados.
Un ejemplo
Una tienda de bicicletas tiene unos cientos de artículos de ayuda. Un visitante pregunta: «¿Puedo devolver mi bici eléctrica si cambio de opinión?». Ningún artículo contiene esas palabras, pero la política de devoluciones habla de «reembolsos tras la compra». Como ambos textos tratan sobre devolver un producto, sus embeddings están cerca y la base de datos vectorial devuelve la política de devoluciones como primer resultado. El chatbot responde a partir de esa página.
Por qué importa en los chatbots para empresas
La base de datos vectorial es la capa de búsqueda de la mayoría de los sistemas de generación aumentada por recuperación (RAG). Decide qué fragmentos ve el modelo de lenguaje antes de responder, así que influye directamente en la calidad de las respuestas. Si no se recupera el fragmento correcto, el modelo no puede usarlo.
La búsqueda vectorial por sí sola tiene un punto débil conocido: los identificadores exactos, como códigos de producto, números de modelo o nombres poco comunes, no siempre se encuentran de forma fiable por significado. Por eso muchos chatbots combinan la búsqueda vectorial con la búsqueda por palabras clave en un enfoque híbrido.
Cómo lo gestiona intoCHAT
Con intoCHAT no tienes que configurar ni mantener una base de datos vectorial. Cuando añades un sitio web, un archivo, un texto o un par de pregunta y respuesta, intoCHAT divide el contenido en fragmentos, crea un embedding para cada uno y los guarda e indexa por ti. Cuando un visitante pregunta algo, intoCHAT ejecuta una búsqueda vectorial junto con una búsqueda por palabras clave y combina ambas clasificaciones antes de que el agente responda.