¿Qué es una base de datos vectorial real?
Este artículo se publicó originalmente en The New Stack y se republica aquí con permiso.
La aparición de ChatGPT señala el comienzo de una nueva era de la inteligencia artificial (IA). La IA está revolucionándolo todo, y las bases de datos vectoriales se están convirtiendo en una infraestructura esencial en la nueva era. Esta tendencia no es sorprendente, dada la creciente demanda de aplicaciones impulsadas por IA.
En la publicación anterior, presentamos los datos no estructurados y su procesamiento, análisis y consulta. Esta publicación profundizará en las bases de datos vectoriales, sus diferencias con los métodos tradicionales de recuperación vectorial y cómo seleccionar la base de datos vectorial óptima para tu proyecto.
¿Qué es una base de datos vectorial?
Para responder a la pregunta: qué es una base de datos vectorial, debes conocer el papel de una base de datos relacional tradicional, que almacena y procesa datos con formatos predefinidos en tablas y normalmente realiza búsquedas precisas.
Por el contrario, las bases de datos vectoriales almacenan y recuperan datos no estructurados como imágenes, audio, videos y texto mediante valores de alta dimensionalidad llamados embeddings. Las bases de datos vectoriales se utilizan con frecuencia para búsquedas de similitud mediante el algoritmo Approximate Nearest Neighbor (ANN). Este algoritmo organiza los datos basándose en relaciones espaciales y permite encontrar el vecino más cercano de un punto de consulta dado en un gran conjunto de datos de puntos.
Con el auge de ChatGPT, las bases de datos vectoriales se han vuelto aún más esenciales para abordar los problemas a los que se enfrentan los grandes modelos de lenguaje (LLMs).
Bases de datos vectoriales vs. bibliotecas de búsqueda vectorial
Las bases de datos vectoriales especializadas no son la única pila para búsquedas de similitud. Antes de la llegada de las bases de datos vectoriales, había muchas bibliotecas de búsqueda vectorial, como FAISS, ScaNN y HNSW, para la recuperación vectorial. Ambas pilas pueden consultar vectores, pero ¿cuáles son las diferencias?
Las bibliotecas de búsqueda vectorial tienen una funcionalidad limitada. Solo pueden manejar una pequeña cantidad de datos y tienen dificultades para escalar con conjuntos de datos más grandes y una mayor demanda de usuarios. No permiten ninguna modificación de sus datos de índice y no pueden consultarse durante la importación de datos.
Por el contrario, las bases de datos vectoriales como Milvus y Zilliz Cloud son una solución más óptima para el almacenamiento y la recuperación de datos no estructurados. Pueden almacenar y consultar millones o incluso miles de millones de vectores al mismo tiempo que proporcionan respuestas en tiempo real simultáneamente; son altamente escalables para satisfacer las crecientes necesidades empresariales de los usuarios.
Las bases de datos vectoriales especializadas ofrecen muchas funciones fáciles de usar, incluido soporte CRUD (crear, leer, actualizar y eliminar), recuperación ante desastres, control de acceso basado en roles y multitenencia. Muchos proveedores de bases de datos vectoriales, como Zilliz, también ofrecen servicios en la nube totalmente gestionados para ayudar a los usuarios a eliminar la carga del trabajo de mantenimiento y concentrarse en su negocio.
Además, las bases de datos vectoriales operan en una capa de abstracción diferente a la de las bibliotecas de búsqueda vectorial, funcionando como servicios completos en lugar de componentes para integración. Para ilustrar la importancia de esta abstracción, examinemos el proceso de añadir un elemento de datos no estructurados a una base de datos vectorial como Milvus.
from pymilvus import Collectioncollection = Collection('book')mr = collection.insert(data)
Como puedes ver, insertar datos no estructurados en Milvus es superfácil con solo tres líneas de código. Sin embargo, es complicado cuando se usan bibliotecas como FAISS o ScaNN. Estas bibliotecas requieren recrear manualmente todo el índice en los puntos de control.
Bases de datos vectoriales vs. plugins de búsqueda vectorial
A medida que las bases de datos vectoriales ganan atención, muchas bases de datos y sistemas de búsqueda convencionales como Clickhouse, Elasticsearch, MongoDB y Databricks se apresuran a integrar plugins de búsqueda vectorial incorporados. Elasticsearch 8.0, por ejemplo, ha actualizado funciones como la inserción vectorial y la búsqueda ANN a las que se puede acceder a través de endpoints de API RESTful.
Sin embargo, es importante tener en cuenta que los plugins de búsqueda vectorial no ofrecen un enfoque integral para la gestión de embeddings y la búsqueda vectorial. Son simplemente complementos de sistemas existentes, lo que puede limitar su rendimiento en términos de latencia, capacidad y throughput. Intentar crear aplicaciones de datos no estructurados sobre una base de datos tradicional es como instalar baterías de litio y motores eléctricos dentro del chasis de un automóvil de gasolina, lo cual no es una gran idea.
Las bases de datos vectoriales son esenciales para la ampliación de LLM
Con el auge de los LLM y las aplicaciones de IA, las bases de datos vectoriales se están convirtiendo en una infraestructura vital para los stacks tecnológicos relacionados con la IA.
Aunque los LLM son impresionantes en la generación de contenido, tienen muchas limitaciones. Por ejemplo, son susceptibles a las alucinaciones debido a la falta de conocimiento actualizado y específico del dominio. Peor aún, el límite de tokens de los LLM impide añadir información contextual extensa a los prompts al realizar consultas.
Una base de datos vectorial puede servir como memoria a largo plazo de los LLM y ampliar la base de conocimientos de los LLM. Almacena datos privados o información específica del dominio fuera del LLM como embeddings. Cuando un usuario hace una pregunta, la base de datos vectorial busca los resultados topk más relevantes para esa pregunta. Luego, los resultados se combinan con la consulta original para crear un prompt que proporciona un contexto integral para que el LLM genere respuestas más precisas. Esta solución también se conoce como stack CVP (ChatGPT/LLMs + base de datos vectorial + prompt-as-code).
Los LLM cobran por cada token en las consultas. Por lo tanto, si los usuarios hacen preguntas similares o repetitivas, se les cobraría varias veces, lo que resultaría en costos elevados. Durante las horas pico, las respuestas pueden ser muy lentas. Para ahorrar tiempo y esfuerzo, los desarrolladores pueden integrar una base de datos vectorial con GPTCache, una caché semántica de código abierto que almacena respuestas de LLM. De esa manera, cuando el usuario hace una pregunta que el LLM respondió antes, la base de datos vectorial recupera las respuestas de GPTCache y las devuelve rápidamente a los usuarios sin llamar al LLM.
Arquitectura de OSS Chat
El gráfico anterior muestra la arquitectura de OSS Chat, un chatbot de IA que aprovecha Zilliz Cloud y GPTCache.
Además de la ampliación de LLM, las bases de datos vectoriales son valiosas para muchos casos de uso, incluidos sistemas de recomendación, búsquedas de similitud de imágenes/audio/video/texto, detección de anomalías, sistemas de preguntas y respuestas, y búsquedas de similitud molecular.
¿Cómo elegir la base de datos vectorial más adecuada para tu proyecto?
¿Tienes dificultades para elegir una base de datos vectorial adecuada para tus proyectos? Con numerosas opciones disponibles, puede resultar abrumador. Por suerte, hay una solución para ayudarte a tomar una decisión informada.
VectorDBBench es una herramienta de benchmarking de código abierto para bases de datos vectoriales. Evalúa varios sistemas de bases de datos vectoriales en cuanto a QPS, latencia, capacidad y otras métricas. Está escrita en Python y licenciada bajo la licencia de código abierto MIT, por lo que cualquiera puede usarla, modificarla y distribuirla libremente.
Con VectorDBBench, puedes seleccionar la mejor base de datos vectorial basándote en el rendimiento real en lugar de las afirmaciones de marketing. Para empezar, consulta este tutorial.
Resumen
Esta publicación proporciona una descripción general de las bases de datos vectoriales, explicando en qué se diferencian de las bibliotecas de recuperación vectorial y los plugins de búsqueda vectorial sobre bases de datos relacionales tradicionales. Lo más importante es que presentamos VectorDBBench, una herramienta de benchmarking de código abierto para ayudar a los usuarios a tomar decisiones informadas.
En la siguiente publicación, presentaremos Milvus, la primera base de datos vectorial de código abierto del mundo y la más utilizada, y te guiaremos sobre cómo empezar con Milvus.
Sigue leyendo

Why Context Engineering Is Becoming the Full Stack of AI Agents
Discover how context engineering unifies prompts, RAG, and tools to build smarter, production-ready AI agents powered by Milvus.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.



