Ir al contenido principal
Todos

¿Qué es una base de datos vectorial?

por Personal de Databricks

Una base de datos vectorial es una base de datos especializada diseñada para almacenar y gestionar datos como vectores de alta dimensionalidad. El término proviene de vectores, que son representaciones matemáticas de características o atributos contenidos en los datos. A diferencia de las bases de datos tradicionales, que son adecuadas para manejar datos estructurados organizados en filas y columnas, la estructura de la base de datos vectorial organiza la información como representaciones vectoriales con un número fijo de dimensiones agrupadas según su similitud.

Cada vector dentro de una base de datos vectorial consta de un número específico de dimensiones, que puede variar desde unas pocas docenas hasta varios miles. El número de dimensiones depende de la complejidad y granularidad de los datos. Esta estructura permite a las bases de datos vectoriales manejar eficientemente información compleja y multifacética y realizar búsquedas y análisis rápidos basados en la similitud.

¿Cuándo usaría una base de datos vectorial?

Según International Data Corporation (IDC), el 90% de los nuevos datos creados son datos no estructurados, como texto, imágenes y video. Los modelos basados en aprendizaje, como las redes neuronales profundas, se utilizan cada vez más para gestionar estos datos no estructurados para aplicaciones en diversas industrias, desde el comercio electrónico hasta la atención médica. Estas aplicaciones funcionan convirtiendo los datos no estructurados en vectores de incrustación. Una vez que los datos han sido "vectorizados", tareas como búsquedas, recomendaciones y análisis se pueden implementar a través de la Búsqueda IA basada en similitud. La gestión de datos vectoriales se realiza en bases de datos vectoriales.

Saber cuándo usar bases de datos vectoriales depende de los otros procesos y tecnologías que esté utilizando. Son un componente clave para potenciar muchos sistemas de IA, y algunas (pero no todas) las aplicaciones de modelos de lenguaje grandes (LLM) utilizan bases de datos vectoriales para búsquedas rápidas de similitud o para proporcionar contexto o conocimiento de dominio. Por ejemplo, desempeñan un papel crucial en generación aumentada por recuperación (RAG), un enfoque donde la base de datos vectorial se utiliza para mejorar el prompt pasado al LLM agregando contexto adicional junto con la consulta.

Las bases de datos vectoriales también permiten la búsqueda híbrida. Este enfoque combina la búsqueda tradicional basada en palabras clave con la búsqueda de similitud semántica para localizar información relevante incluso cuando las palabras clave no son una coincidencia exacta. Las bases de datos vectoriales también se pueden utilizar para una serie de tareas de procesamiento del lenguaje natural (PLN), incluido el análisis semántico y de sentimientos, o en el entrenamiento de modelos de aprendizaje automático (ML).

¿Qué es un vector?

Un vector es una matriz numérica de alta dimensionalidad que expresa la ubicación de un punto particular en varias dimensiones. Imagine un espacio vectorial de palabras como una nube tridimensional donde las palabras se representan como puntos. En este espacio, las palabras con significados relacionados se agrupan. Por ejemplo, el punto que representa "manzana" estaría ubicado más cerca de "pera" que de "coche". Esta disposición espacial refleja las relaciones semánticas entre las palabras, y la proximidad indica similitud en el significado.

¿Qué es la incrustación vectorial?

Se genera un vector aplicando una función de incrustación a los datos sin procesar para transformarlos en una representación. Estas representaciones se denominan "incrustaciones" porque un modelo de ML toma un grupo representativo y lo incrusta en un espacio vectorial. Los vectores se incrustan como listas de números, lo que facilita que los modelos de ML realicen operaciones con los datos. De hecho, el rendimiento de los métodos de ML depende críticamente de la calidad de las representaciones vectoriales. Un párrafo completo de texto o un grupo de números se puede reducir a un vector, lo que permite al modelo realizar operaciones de manera eficiente.

Términos y definiciones clave

  • Vector: Una secuencia de números que representa un objeto —como una palabra, imagen o documento— como un punto en un espacio multidimensional, lo que permite a los algoritmos comparar matemáticamente objetos y calcular cuán similares o diferentes son.
  • Incrustación (Embedding): Una representación vectorial aprendida que mapea objetos discretos (palabras, documentos e imágenes) a un espacio vectorial continuo, de modo que los elementos semánticamente similares terminan geométricamente cerca unos de otros.
  • Similitud del coseno: Mide el coseno del ángulo entre dos vectores, capturando cuán similares son sus direcciones independientemente de su tamaño, con valores que van de -1 (opuestos) a 1 (dirección idéntica): cos(θ) = (A · B) / (‖A‖× ‖B‖)
    Distancia euclidiana: La distancia en línea recta entre dos puntos en el espacio vectorial, que mide cuán separados están en términos absolutos en lugar de por alineación direccional: d(A, B) = √Σ(Aᵢ − Bᵢ)²
  • Vecino más cercano aproximado (ANN): Una familia de algoritmos de búsqueda que encuentran vectores cercanos a una consulta escaneando solo un subconjunto del índice, intercambiando una pequeña caída en la precisión por una recuperación drásticamente más rápida a escala.
  • Índice de grafo de mundo pequeño navegable jerárquico (HNSW): Un índice basado en grafos que construye múltiples capas de conexiones de proximidad, lo que permite a las consultas navegar rápidamente de vecinos generales a específicos.
  • Índice de archivo invertido (IVF): Divide el espacio vectorial en clústeres y luego, en el momento de la consulta, busca solo los clústeres más cercanos, ofreciendo un equilibrio práctico entre el tiempo de construcción del índice y la velocidad de consulta.
  • Hashing sensible a la localidad (LSH): Aplica hash a los vectores para que los similares probablemente caigan en el mismo bucket, lo que permite una búsqueda aproximada rápida con baja sobrecarga de memoria.
  • Filtrado de metadatos: La práctica de reducir los resultados de búsqueda vectorial utilizando atributos estructurados, como fecha, categoría o ID de usuario, de modo que los resultados deban cumplir reglas de negocio estrictas, no solo similitud semántica.
  • Búsqueda híbrida: Combina la búsqueda vectorial densa (significado semántico) con la búsqueda de palabras clave dispersas (relevancia de coincidencia exacta a través de BM25/TF-IDF), y luego fusiona las dos listas clasificadas, típicamente usando Fusión de Rango Recíproco (RRF), para obtener lo mejor de ambos enfoques.
  • Búsqueda multivectorial: Representa cada registro con varios vectores separados (como uno para el título, el cuerpo y la imagen) y busca en todos ellos, agregando puntuaciones para mostrar el resultado único más relevante.

¿Cómo funcionan las bases de datos vectoriales?

Las bases de datos vectoriales están diseñadas para almacenar, indexar y consultar datos de manera eficiente a través de incrustaciones vectoriales de alta dimensionalidad. Una vez que un usuario introduce una consulta o solicitud en la base de datos vectorial, esta inicia la siguiente secuencia de procesos:

  1. Vectorización: Este primer paso implica la generación de incrustaciones a partir de contenido multimodal, que podría incluir texto, imágenes, audio o video. Este proceso captura las relaciones semánticas en los datos. Por ejemplo, en datos de texto, este proceso asegura que las palabras con significados similares (o vectores) se coloquen cerca unas de otras en el espacio vectorial.
  2. Indexación vectorial: El siguiente paso diferencia a las bases de datos vectoriales de las bases de datos tradicionales. Se aplican algoritmos de ML, como la cuantificación de productos o HNSW, a los datos para mapear los vectores a nuevas estructuras de datos. Estas estructuras permiten búsquedas de similitud o distancia más rápidas, como búsquedas del vecino más cercano entre vectores. Este proceso de indexación es esencial para el rendimiento de la base de datos, ya que permite la recuperación rápida de vectores similares.
  3. Ejecución de consultas: En la etapa final, el vector de consulta inicial se compara con los vectores indexados en la base de datos. El sistema recupera los vectores con las relaciones más fuertes, encontrando efectivamente la información más relevante basada en la similitud semántica en lugar de coincidencias exactas de palabras clave.

Estos procesos permiten a las bases de datos vectoriales realizar búsquedas semánticas y recuperaciones basadas en similitud, lo que las hace ideales para aplicaciones como sistemas de recomendación, reconocimiento de imágenes y video, análisis de texto y detección de anomalías.

Beneficios de las bases de datos vectoriales

Las bases de datos vectoriales ofrecen una gama de beneficios:

  • Alta velocidad y rendimiento: Las bases de datos vectoriales pueden localizar rápidamente datos similares utilizando métricas de distancia o similitud vectorial, un proceso que es fundamental para el PLN, la visión por computadora y los sistemas de recomendación. A diferencia de las bases de datos tradicionales, que se limitan a coincidencias exactas o criterios predefinidos, las bases de datos vectoriales capturan el significado semántico y contextual. Esto optimiza la recuperación de datos al permitir la realización de búsquedas más matizadas y conscientes del contexto más allá de la simple coincidencia de palabras clave.
  • Escalabilidad: Mientras que las bases de datos tradicionales pueden enfrentar cuellos de botella de escalabilidad, problemas de latencia o conflictos de concurrencia al manejar big data, las bases de datos vectoriales están diseñadas para gestionar enormes volúmenes de datos. Las bases de datos vectoriales mejoran la escalabilidad utilizando técnicas como el fragmentado (sharding), la partición, el almacenamiento en caché y la replicación para distribuir la carga de trabajo y optimizar la utilización de recursos en múltiples máquinas o clústeres.
  • Versatilidad: Ya sea que los datos contengan imágenes, videos u otros datos multimodales, las bases de datos vectoriales están diseñadas para ser versátiles. Dada su capacidad para manejar múltiples casos de uso, desde la búsqueda semántica hasta aplicaciones de IA conversacional, las bases de datos vectoriales se pueden personalizar para satisfacer una variedad de requisitos empresariales.
  • Rentabilidad: Las bases de datos vectoriales ofrecen menores costos debido a su manejo eficiente de datos de alta dimensionalidad. A diferencia de consultar modelos de ML directamente, lo cual puede ser computacionalmente intensivo y consumir mucho tiempo, las bases de datos vectoriales utilizan incrustaciones (embeddings) de modelos para procesar el dataset de manera más eficiente.
  • Integración con ML: Las bases de datos vectoriales facilitan que los modelos de ML recuerden entradas anteriores, permitiendo que el ML potencie motores de búsqueda semántica, clasificación y recomendación. Los datos se pueden identificar basándose en métricas de similitud en lugar de coincidencias exactas, lo que permite a un modelo comprender el contexto de los datos.
  • Cinco casos de uso de bases de datos vectoriales

    Las bases de datos vectoriales se utilizan en diversas industrias para una amplia gama de aplicaciones y casos de uso. Aquí hay algunos de los ejemplos más comunes de bases de datos vectoriales:

    Modelos de lenguaje grandes (LLMs)

    El auge de los LLMs para tareas como la recuperación de información, junto con la creciente popularidad de las plataformas de comercio electrónico y recomendación, requiere sistemas de gestión de bases de datos vectoriales que puedan ofrecer capacidades de optimización de consultas para datos no estructurados.

    En aplicaciones multimodales, los datos se incrustan y almacenan en bases de datos vectoriales, lo que facilita la recuperación eficiente de representaciones vectoriales. Cuando un usuario envía una consulta de texto, el sistema utiliza tanto el LLM como la base de datos vectorial. El LLM proporciona capacidades de PNL (Procesamiento del Lenguaje Natural), mientras que los algoritmos de la base de datos vectorial realizan búsquedas ANN (Búsqueda de Vecinos Más Cercanos). Este enfoque puede producir mejores resultados en comparación con el uso de cualquiera de los componentes de forma aislada.

    Las bases de datos vectoriales se aplican cada vez más a los LLMs a través de RAG (Recuperación Aumentada por Generación), lo que permite una mayor explicabilidad al aplicar contexto a las salidas de los LLMs. Las indicaciones del usuario se pueden aumentar mediante la inclusión de contexto para mitigar desafíos centrales de los LLMs, como la alucinación o el sesgo.

    Reconocimiento de imágenes

    Las bases de datos vectoriales pueden desempeñar un papel clave en el reconocimiento de imágenes al almacenar incrustaciones de alta dimensionalidad de imágenes generadas por modelos de ML. Dado que las bases de datos vectoriales están optimizadas para tareas de búsqueda de similitud, son ideales para aplicaciones como la detección de objetos, el reconocimiento facial y la búsqueda de imágenes.

    Las bases de datos vectoriales se ajustan para la recuperación rápida de contexto a través de la similitud. Las plataformas de comercio electrónico pueden usar bases de datos vectoriales para encontrar productos con atributos visuales similares, mientras que los sitios de redes sociales pueden sugerir imágenes relacionadas a los usuarios. Un ejemplo ilustrativo es Pinterest, donde las bases de datos vectoriales potencian el descubrimiento de contenido al representar cada imagen como un vector de alta dimensionalidad. Cuando un usuario fija una imagen de una puesta de sol costera, el sistema puede buscar rápidamente en su base de datos vectorial para sugerir imágenes visualmente similares, como otros paisajes de playa o puestas de sol.

    Procesamiento del Lenguaje Natural (PNL)

    Las bases de datos vectoriales han revolucionado el PNL al permitir el almacenamiento y la recuperación eficientes de representaciones de palabras distribuidas. Modelos como Word2Vec, GloVe y BERT se entrenan en enormes conjuntos de datos de texto para generar incrustaciones de palabras de alta dimensionalidad que capturan relaciones semánticas, las cuales luego se almacenan en bases de datos vectoriales para un acceso rápido.

    Dado que permiten búsquedas rápidas de similitud, las bases de datos vectoriales permiten a los modelos encontrar palabras o frases contextualmente relevantes. Esta capacidad es particularmente valiosa para tareas como la búsqueda semántica, la respuesta a preguntas, la clasificación de texto y la extracción de entidades nombradas. Además, las bases de datos vectoriales pueden almacenar incrustaciones a nivel de oración, capturando contextos de palabras y permitiendo una comprensión del lenguaje más matizada.

    Sistemas de recomendación y personalización

    Una vez que una base de datos vectorial se entrena utilizando un modelo de incrustación, se puede utilizar para generar recomendaciones personalizadas. Cuando un usuario interactúa con el sistema, su comportamiento y preferencias se utilizan para generar la incrustación del usuario. Por ejemplo, un usuario puede pedirle a un LLM una recomendación de serie de TV y la base de datos vectorial puede sugerir series de TV que tengan tramas o calificaciones similares a las preferencias del usuario. Las series de TV con incrustaciones más cercanas a la codificación del usuario se recomiendan en consecuencia.

    Detección de fraude

    Las instituciones financieras utilizan bases de datos vectoriales para detectar transacciones fraudulentas. Las bases de datos vectoriales permiten a las empresas comparar vectores de transacciones con patrones de fraude conocidos en tiempo real. La escalabilidad de las bases de datos vectoriales también les permite gestionar el riesgo y obtener nuevas perspectivas sobre el comportamiento del consumidor. Estas bases de datos pueden identificar patrones que indican actividades codificando datos de transacciones como vectores. Además, facilitan la evaluación de la solvencia crediticia y la segmentación de consumidores mediante el análisis de datos para mejorar el proceso de toma de decisiones.

    Desafíos comunes de las bases de datos vectoriales

    A pesar de sus muchos beneficios y casos de uso, una comprensión completa de las bases de datos vectoriales también debe incluir sus desafíos.

    Nuevos pipelines de datos

    Las bases de datos vectoriales requieren pipelines eficientes de ingesta de datos donde los datos crudos y sin procesar de diversas fuentes se puedan limpiar, procesar e incrustar con un modelo de ML antes de almacenarlos como vectores en la base de datos.

    Databricks AI Search ofrece una solución integral para este desafío. Automatiza la generación, gestión y optimización de vectores, manejando la sincronización en tiempo real de los datos de origen con los índices vectoriales correspondientes. El software gestiona fallos, optimiza el rendimiento y realiza ajuste automático del tamaño del lote y escalado automático sin necesidad de intervención manual.

    Este enfoque reduce la necesidad de pipelines de ingesta de datos separados, minimizando el "trabajo pesado del desarrollador" y permitiendo a los equipos centrarse en tareas de nivel superior que agregan valor comercial directamente en lugar de pasar tiempo construyendo y manteniendo procesos complejos de preparación de datos.

    Mayor seguridad y gobernanza

    Las bases de datos vectoriales requieren seguridad adicional, controles de acceso y gobernanza de datos junto con el mantenimiento y la gestión necesarios. Las organizaciones empresariales requieren seguridad estricta y controles de acceso sobre los datos para que los usuarios no puedan acceder a modelos de GenAI que se vinculan a datos confidenciales.

    Muchas bases de datos vectoriales actuales o no tienen controles de seguridad y acceso robustos implementados o requieren que las organizaciones creen y mantengan un conjunto separado de políticas de seguridad. Databricks AI Search proporciona una interfaz unificada que define políticas de datos para rastrear el linaje de datos automáticamente sin necesidad de herramientas adicionales. Esto garantiza que los LLMs no expongan datos confidenciales a usuarios que no deberían tener acceso.

    Alto nivel de conocimiento técnico

    Dado que ofrecen potentes capacidades para búsquedas de similitud y el manejo de datos de alta dimensionalidad, las bases de datos vectoriales son herramientas esenciales para los científicos de datos que trabajan con modelos de IA y ML. Databricks AI Search se destaca como una base de datos vectorial sin servidor que elimina la necesidad de configuración manual, permitiendo a los científicos de datos centrarse en el trabajo principal en lugar de la gestión de la infraestructura.

    Las ventajas clave de Databricks AI Search incluyen la integración perfecta con la arquitectura lakehouse, la ingesta automatizada de datos y resultados hasta cinco veces más rápidos en comparación con otras bases de datos vectoriales populares. También es compatible con las herramientas de gobernanza de datos y seguridad existentes a través de Unity Catalog, lo que garantiza la protección de datos y el cumplimiento.

    Databricks AI Search ofrece flexibilidad tanto para usuarios novatos como avanzados, con escalado automático para la ingesta y consulta de datos, así como APIs de conexión y reemplazo para aquellos que prefieren un mayor control sobre sus pipelines. Esta combinación de facilidad de uso y rendimiento potente simplifica la construcción de una base de datos vectorial para científicos de datos de todos los niveles de experiencia.

    Bases de datos vectoriales vs. bases de datos de grafos

    Las bases de datos vectoriales organizan los datos como puntos en un espacio vectorial multidimensional. Cada punto representa un fragmento de datos, y la ubicación refleja sus características en relación con otros fragmentos de datos. Esta estructura de base de datos vectorial es muy adecuada para muchas aplicaciones de GenAI, ya que las incrustaciones vectoriales son generadas por LLMs y los datos se pueden buscar y recuperar fácilmente.

    Por el contrario, las bases de datos de grafos organizan los datos almacenándolos en una estructura de grafo. Las entidades se representan como nodos en un grafo, mientras que las conexiones entre estos puntos de datos se representan como aristas. La estructura de grafo permite que los elementos de datos en el almacén sean una colección de nodos y aristas, donde las aristas representan las relaciones entre los nodos. La estructura interconectada de las bases de datos de grafos las hace muy adecuadas para escenarios donde las conexiones entre los puntos de datos son tan importantes como los datos mismos.

    Comparación: Base de datos vectorial vs. índice vectorial vs. RDBMS tradicional vs. base de datos de grafos

    Use esta tabla para comparar rápidamente cómo cada tipo de base de datos almacena datos, maneja consultas y se adapta a diferentes cargas de trabajo.

    Base de datos vectorialÍndice vectorialRDBMS tradicionalBase de datos de grafos
    Modelo de datosStreaming/continuo (segundos a minutos)Análisis proactivo impulsado por IAAnálisis proactivo impulsado por IAAnálisis proactivo impulsado por IA
    Tipos de consultaAnalistas, ejecutivosEquipos de operaciones, aplicaciones, sistemas automatizadosEquipos de operaciones, aplicaciones, sistemas automatizadosEquipos de operaciones, aplicaciones, sistemas automatizados
    Latencia típicaExploración ad hoc, informes programadosMétricas predefinidas, alertas, desencadenadores automatizadosMétricas predefinidas, alertas, desencadenadores automatizadosMétricas predefinidas, alertas, desencadenadores automatizados
    EscalaInterpretación humana → decisiónDesencadenadores automatizados, recomendaciones integradasDesencadenadores automatizados, recomendaciones integradasDesencadenadores automatizados, recomendaciones integradas
    FiltradoAlmacén de datos, canalizaciones ETLPlataformas de streaming, procesamiento de eventosPlataformas de streaming, procesamiento de eventosPlataformas de streaming, procesamiento de eventos
    Garantías transaccionalesConsistencia eventual típicaSolo lectura, capa de búsquedaACID completoACID (varía según la herramienta)
    Gobernanza / seguridadMejorando, varía según el proveedorMínima, depende del sistema anfitriónRBAC maduro, registros de auditoría, cifradoModerada, varía según el proveedor
    Herramientas comunesPinecone, Weaviate, QdrantFAISS, HNSW lib, ScaNNPostgreSQL, MySQL, SQL ServerNeo4j, Amazon Neptune, ArangoDB

    ¿Cuál es la diferencia entre un índice vectorial y una base de datos vectorial?

    Un índice vectorial y una base de datos vectorial desempeñan funciones distintas pero complementarias en el manejo de datos de alta dimensionalidad.

    Índice vectorial: Un índice vectorial es una estructura de datos especializada diseñada para facilitar búsquedas rápidas de similitud entre incrustaciones vectoriales. Mejora significativamente la velocidad de búsqueda al organizar los vectores de manera que permita una recuperación eficiente. Ejemplos de índices vectoriales incluyen Facebook AI Similarity Search (FAISS), HNSW y LSH. Estos índices se pueden usar como procesos algorítmicos independientes o integrarse en sistemas más grandes para optimizar las operaciones de búsqueda.
    Base de datos vectorial: Una base de datos vectorial es una solución integral de gestión de datos que no solo incorpora indexación vectorial, sino que también proporciona funcionalidades adicionales como almacenamiento de datos; operaciones de creación, lectura, actualización y eliminación (CRUD); filtrado de metadatos y escalado horizontal. Está diseñada para gestionar y consultar incrustaciones vectoriales de manera eficiente, admitiendo operaciones complejas y garantizando la integridad y seguridad de los datos.

    Cómo elegir una base de datos vectorial

    La elección de la base de datos vectorial adecuada depende de las demandas específicas de su carga de trabajo, del tamaño que espera que alcancen sus datos y de qué tan bien se adapta la base de datos a su pila tecnológica existente. Una solución que funciona perfectamente para un prototipo pequeño puede tener dificultades con el tráfico a escala empresarial, mientras que una plataforma rica en funciones podría ser demasiado compleja para casos de uso más simples. Tenga en cuenta estos criterios para elegir una base de datos vectorial que escale con sus necesidades y funcione bien con los sistemas existentes.

    • Rendimiento y latencia: Comprenda qué nivel de precisión de búsqueda (recall) y tiempo de respuesta de consulta son aceptables para su caso de uso
    • Soporte de dimensionalidad de incrustación: Asegúrese de que la base de datos pueda manejar el tamaño de salida de su modelo de IA específico, ya sea 768, 1536 o incluso superior
    • Tipos de índice admitidos: Confirme que la base de datos ofrece los algoritmos de indexación correctos para sus datos, como HNSW, IVF o LSH, ya que estos afectan directamente las compensaciones de velocidad y precisión
    • Búsqueda híbrida: Busque la capacidad de combinar la búsqueda tradicional por palabras clave (BM25) con la búsqueda semántica vectorial en una sola consulta
    • Fallback Exacto + ANN: Verifique si puede cambiar entre la búsqueda de vecinos más cercanos aproximada y exacta, según la precisión que necesite
    • Filtrado de metadatos: Asegúrese de que puede reducir los resultados por campos estructurados como fecha o categoría junto con la similitud vectorial
    • Soporte CRUD y ACID: Evalúe si la base de datos admite operaciones de datos completas y garantías transaccionales, lo cual es especialmente importante si sus datos cambian con frecuencia
    • RBAC/ABAC y multitenencia: Verifique que la base de datos ofrezca controles de acceso basados en roles o atributos y que pueda mantener los datos de diferentes equipos o clientes debidamente aislados
    • Observabilidad y evaluación: Busque monitoreo, registro y herramientas integrados para medir la calidad de la búsqueda a lo largo del tiempo, de modo que pueda detectar y corregir problemas de rendimiento de manera temprana
    • Aceleración de hardware: Considere si se admite la indexación y búsqueda aceleradas por GPU y si su infraestructura actual puede aprovecharla

    Errores comunes y mejores prácticas

    • Desviación de incrustaciones → Establezca un programa regular de re-incrustación para que, a medida que evolucionen sus datos de origen o los modelos subyacentes, sus vectores se mantengan actualizados y reflejen con precisión lo que está buscando
    • Incrustaciones sin versión → Rastree qué versión del modelo generó qué vectores para que pueda reproducir resultados de manera confiable, comparar el rendimiento a lo largo del tiempo y revertir si algo sale mal.
    • Índices obsoletos → Defina políticas claras de actualización de índices por adelantado, estableciendo la frecuencia de reconstrucción y actualización según la frecuencia con la que cambian sus datos
    • Fragmentación deficiente para RAG → Pruebe una variedad de tamaños de fragmentos (256-1024 tokens) con una superposición del 10-20% y evalúe la calidad de la recuperación en cada configuración
    • Contaminación por contenido casi duplicado → Ejecute la deduplicación antes de indexar para eliminar contenido redundante o casi idéntico
    • Sin métricas de evaluación → Compare regularmente usando Recall@k, nDCG y MRR —apuntando a puntos de referencia como Recall@10 por encima de 0.85 para la mayoría de las cargas de trabajo de producción— para que tenga una señal clara cuando la calidad de la búsqueda disminuya
    • Exposición de PII en incrustaciones → Enmascare o excluya datos personales sensibles antes de que lleguen a la etapa de incrustación y aplique controles de acceso de grano fino al almacén vectorial para limitar quién puede consultar qué

    Preguntas y respuestas

    Base de datos vectorial vs. índice vectorial: ¿cuál es la diferencia?

    Estos dos términos se usan a menudo indistintamente, pero se refieren a diferentes capas del sistema.

    Alcance: Un índice vectorial es una única estructura de datos —como HNSW o IVF— optimizada para acelerar la búsqueda de vecinos más cercanos. En contraste, una base de datos vectorial es un sistema completo construido alrededor de uno o más de estos índices junto con capacidades de almacenamiento y consulta.
    Soporte CRUD: Los índices vectoriales a menudo tienen soporte limitado o ineficiente para actualizaciones y eliminaciones. Las bases de datos vectoriales proporcionan operaciones robustas de creación, lectura, actualización y eliminación sobre la capa de índice.
    Escalado: Un índice independiente reside en la memoria y no gestiona la distribución ni la replicación. Una base de datos vectorial, sin embargo, maneja el escalado horizontal, el fragmentación y la persistencia en la infraestructura.
    Independiente vs. integrado: Los índices vectoriales se pueden incrustar directamente en el código de la aplicación (por ejemplo, FAISS). Las bases de datos vectoriales son servicios con API, controles de acceso y herramientas de gestión integradas.

    ¿Se requiere una base de datos vectorial para RAG?

    Una base de datos vectorial es una opción común para las canalizaciones de RAG en producción, pero no siempre es necesaria. La respuesta correcta depende de su escala y complejidad.

    Para RAG en producción a escala, una base de datos vectorial se vuelve valiosa cuando necesita almacenamiento persistente, filtrado de metadatos, controles de acceso y la capacidad de actualizar su conjunto de datos con el tiempo.
    Los entornos multitenant o regulados casi siempre justifican una base de datos vectorial, ya que requieren aislamiento de inquilinos, registro de auditoría y controles de acceso de grano fino que los índices independientes no proporcionan.
    Cuando su conjunto de datos es estático y pequeño, la sobrecarga de una base de datos vectorial puede superar los beneficios: un índice ligero cargado al inicio puede manejar la recuperación igual de bien.
    Para la creación de prototipos, un índice en memoria como FAISS o un simple almacén basado en archivos suele ser suficiente y mucho más fácil de configurar que una base de datos vectorial completa.

    ¿Cómo funciona la búsqueda híbrida (BM25 + vectorial)?

    La búsqueda híbrida combina dos señales de recuperación fundamentalmente diferentes —coincidencia de palabras clave y similitud semántica— en un único resultado de consulta.

    • BM25 maneja coincidencias exactas y basadas en palabras clave, calificando documentos según la frecuencia de términos y la relevancia, lo que lo hace confiable para consultas precisas como nombres de productos, códigos o sustantivos propios
    • La búsqueda vectorial maneja coincidencias semánticas, recuperando resultados basados en el significado y el contexto, incluso cuando la consulta no comparte palabras exactas con el documento
    • La fusión de puntuaciones combina las dos señales en una única lista clasificada: Reciprocal Rank Fusion (RRF) es un enfoque común que combina clasificaciones de cada método sin requerir una normalización cuidadosa de las puntuaciones
    • La búsqueda híbrida mejora tanto la precisión como la exhaustividad y es especialmente valiosa en aplicaciones empresariales o específicas de un dominio donde los usuarios mezclan consultas técnicas precisas con búsquedas conceptuales más amplias

    ¿Cuándo es innecesaria una base de datos vectorial?

    Las bases de datos vectoriales añaden una sobrecarga operativa real, y hay varios escenarios en los que esa complejidad simplemente no está justificada.

    • Los conjuntos de datos pequeños que caben en memoria suelen ser mejor atendidos por un índice ligero en memoria como FAISS o Annoy, que se puede cargar directamente en su aplicación sin desplegar un servicio separado
    • Los casos de uso donde la búsqueda de palabras clave exactas es suficiente, como la búsqueda interna de documentos por título o ID, no se benefician de la búsqueda semántica, lo que hace que un índice o base de datos de búsqueda tradicional sea una opción más simple y confiable
    • Cuando ya está ejecutando PostgreSQL, la extensión pgvector añade la búsqueda de similitud vectorial directamente a su base de datos existente, eliminando la necesidad de un almacén vectorial separado y reduciendo la complejidad de la infraestructura
    • Las aplicaciones de bajo tráfico o de un solo usuario rara vez necesitan las características de escalado, replicación o multitenencia que justifican una base de datos vectorial dedicada, por lo que el costo operativo supera el beneficio
    • Si su conjunto de datos es estático o cambia con poca frecuencia, reconstruir o recargar un índice periódicamente puede ser más simple que mantener una base de datos vectorial completamente administrada

    Tendencias futuras para bases de datos vectoriales

    El reciente auge de los LLM y las aplicaciones GenAI en general ha contribuido a una adopción concomitante de bases de datos vectoriales. A medida que las aplicaciones de IA continúan madurando, el desarrollo de nuevos productos y las cambiantes necesidades de los usuarios decidirán la dirección de las tendencias futuras en bases de datos vectoriales. Sin embargo, existen algunas direcciones generalmente esperadas para esta tecnología.

    Mayor integración con modelos de ML: La relación entre las bases de datos vectoriales y los modelos de ML es objeto de una mayor investigación. Estos esfuerzos apuntan a reducir el tamaño y la dimensionalidad de los vectores, minimizando los requisitos de almacenamiento para grandes conjuntos de datos y mejorando la eficiencia computacional.
    Personalización de RAG: RAG es un enfoque utilizado para mejorar el contexto proporcionado a un LLM en casos de uso de GenAI, incluidas aplicaciones de chatbot y preguntas y respuestas generales. La base de datos vectorial se utiliza para mejorar el prompt que se pasa al LLM agregando contexto adicional junto con la consulta.
    Búsqueda multivectorial: Se espera una mayor investigación sobre la mejora de las capacidades de búsqueda multivectorial, lo cual es importante para aplicaciones como el reconocimiento facial. Las técnicas actuales a menudo se basan en combinar puntuaciones individuales, pero este enfoque puede ser computacionalmente costoso, ya que aumenta el número de cálculos de distancia requeridos.
    Búsqueda híbrida: La evolución de los sistemas de búsqueda ha llevado a una creciente adopción de enfoques híbridos que combinan métodos tradicionales basados en palabras clave con técnicas modernas de recuperación vectorial

    Cómo crear una base de datos vectorial con Databricks

    Databricks AI Search es la solución de base de datos vectorial integrada de Databricks para la Plataforma de Inteligencia de Datos. Este sistema totalmente integrado elimina la necesidad de canalizaciones de ingesta de datos separadas y aplica controles de seguridad y mecanismos de gobernanza de datos, garantizando una protección consistente en todos los activos de datos.

    Databricks AI Search proporciona una experiencia lista para usar de alto rendimiento, que permite a los LLM recuperar rápidamente resultados relevantes con una latencia mínima. Los usuarios se benefician del escalado y la optimización automáticos, lo que elimina la necesidad de ajuste manual de la base de datos. Esta integración agiliza el proceso de almacenamiento, gestión y consulta de incrustaciones vectoriales, lo que facilita a las organizaciones la implementación de aplicaciones de IA, como sistemas de recomendación y búsquedas semánticas, al tiempo que se mantienen los estándares de seguridad y gobernanza de datos.

    ¿Dónde puedo encontrar más información sobre bases de datos vectoriales y búsqueda vectorial?

    Hay muchos recursos disponibles para encontrar más información sobre bases de datos vectoriales y búsqueda vectorial, que incluyen:

    Blogs

    eBooks

    Demos

    Contacta con Databricks para programar una demostración y hablar con alguien sobre tus bases de datos LLM y vectoriales.

    (Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

    Recibe las últimas publicaciones en tu bandeja de entrada

    Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.