Una base de datos vectorial es cualquier base de datos que permita almacenar, indexar y consultar incrustaciones de vectores o representaciones numéricas de datos no estructurados, como texto, imágenes o audio.
Google Cloud integra estas funciones de nivel empresarial directamente en sus servicios gestionados, como AlloyDB para PostgreSQL, Spanner y BigQuery, lo que te ayuda a crear aplicaciones inteligentes sin tener que gestionar una infraestructura independiente.
Las incrustaciones de vectores son representaciones numéricas de datos, normalmente definidas como arrays de números de punto flotante. Traducen datos complejos y no estructurados, como texto, imágenes o audio, a un formato que los modelos de aprendizaje automático pueden procesar.
Al asignar estos datos a un espacio vectorial, las incrustaciones capturan el significado semántico: los elementos similares se colocan más cerca, mientras que los elementos diferentes se sitúan más lejos. Esta relación espacial ayuda a los sistemas a identificar conexiones entre puntos de datos basándose en el contexto y el significado, en lugar de solo en coincidencias de palabras clave.
Mientras que algunas bases de datos especializadas solo admiten las incrustaciones de vectores, otras admiten muchos otros tipos de datos y de consultas además de las incrustaciones de vectores. Esto es fundamental para crear aplicaciones de IA generativa a partir de datos reales y enriquecidos. A medida que queden claras las ventajas de las consultas semánticas con incrustaciones de vectores, la mayoría de las bases de datos añadirán compatibilidad con vectores. En el futuro, creemos que todas las bases de datos serán bases de datos vectoriales.
Descubre cómo admite la búsqueda de vectores de Vertex AI la creación de aplicaciones de IA generativa de alto rendimiento. La búsqueda de vectores de Vertex AI se basa en la búsqueda de Nearest Neighbor escalable o ScaNN, una tecnología de búsqueda de vectores escalable y eficiente desarrollada por Google Research, por lo que es ideal para gestionar grandes conjuntos de datos y requisitos de búsqueda en tiempo real. Obtén más información sobre la búsqueda y las incrustaciones de vectores en el vídeo de abajo y empieza con esta guía de inicio rápido.
Para consultar de forma eficiente un gran conjunto de vectores, se necesitan estrategias de indexación y búsqueda especializadas que difieren de las que se usan en los campos de texto o numéricos tradicionales. Como los vectores no tienen un orden lógico único, las bases de datos vectoriales se basan en los siguientes mecanismos para recuperar datos:
Las incrustaciones de vectores captan el significado semántico de datos complejos. Si se combinan con bases de datos vectoriales, que proporcionan una indexación y una recuperación eficientes, los desarrolladores pueden crear una amplia gama de aplicaciones inteligentes y herramientas de procesamiento de datos.
Los desarrolladores pueden usar bases de datos vectoriales como una base de conocimientos externa para modelos de lenguaje extenso (LLMs). Al recuperar contexto relevante y propio antes de enviar una petición al modelo, las aplicaciones pueden reducir las alucinaciones y proporcionar respuestas precisas y específicas del dominio. Esto es esencial para crear agentes de asistencia basados en IA, analizadores de documentos legales y sistemas internos de gestión del conocimiento.
Las bases de datos vectoriales permiten a los desarrolladores crear sistemas de personalización que van más allá del filtrado colaborativo. Al representar el comportamiento de los usuarios y los atributos de los productos como vectores, las aplicaciones pueden identificar elementos similares o emparejar a los usuarios con contenido que se ajuste a sus preferencias en tiempo real. Esta arquitectura admite sugerencias de productos de comercio electrónico, feeds de contenido y recomendaciones de streaming de contenido multimedia.
A diferencia de la búsqueda tradicional por palabras clave, las bases de datos vectoriales permiten crear aplicaciones de búsqueda semántica que entienden la intención del usuario. Los desarrolladores pueden crear experiencias de búsqueda que permitan a los usuarios hacer consultas por concepto en lugar de por frases exactas. Además, como los vectores pueden representar distintos tipos de datos en el mismo espacio, puedes crear herramientas de búsqueda multimodal que permitan a los usuarios buscar imágenes usando descripciones de texto o encontrar documentos relacionados usando una imagen de entrada.
Las bases de datos vectoriales pueden ayudar a identificar patrones irregulares en conjuntos de datos masivos. Al establecer un espacio vectorial que represente el comportamiento o las transacciones "normales", los desarrolladores pueden detectar de forma programática los valores atípicos que se alejen mucho de los clústeres establecidos. Esta función es fundamental para crear sistemas de detección de fraudes financieros, herramientas de monitorización de la seguridad de redes y comprobaciones del estado de la infraestructura de TI.
En los flujos de trabajo de ingeniería de datos, las bases de datos vectoriales pueden ayudar a limpiar y unificar conjuntos de datos dispares. Al comparar las incrustaciones de registros de clientes o fichas de productos, los sistemas pueden identificar entradas duplicadas aunque el texto varíe ligeramente (por ejemplo, "Plaza Mayor" frente a "Plza. Mayor"). Esto ayuda a las organizaciones a mantener una visión única y precisa de sus datos.
AlloyDB para PostgreSQL combina la compatibilidad de PostgreSQL con la infraestructura escalable de Google. Incluye compatibilidad integrada con las inserciones de vectores a través de la extensión estándar pgvector y la mejora con el índice ScaNN de Google. Esto permite hacer consultas de vectores más rápido y habilita el filtrado en línea, que puede ayudar a optimizar las búsquedas híbridas al evaluar la similitud de vectores y los filtros de metadatos simultáneamente para mejorar el rendimiento.
Ejemplo: Búsqueda híbrida de inmuebles
Una aplicación inmobiliaria en la que los usuarios quieren encontrar casas según su "estilo" (por ejemplo, "moderno de mediados de siglo con luz natural") y, al mismo tiempo, respetando estrictamente las restricciones (por ejemplo, "3 dormitorios", "menos de 800.000 $", "en el distrito escolar A").
Google Cloud integra las funciones de búsqueda de vectores directamente en sus servicios de bases de datos principales, lo que te ayuda a poner en práctica la IA generativa usando tus datos y flujos de trabajo actuales.
Spanner, la base de datos distribuida a nivel mundial de Google, admite la búsqueda vectorial para aplicaciones transaccionales. Puede proporcionar una búsqueda vectorial altamente disponible y escalable mediante algoritmos de elementos más cercanos exactos y aproximados. Esto permite que las aplicaciones internacionales implementen funciones como las recomendaciones en tiempo real o la búsqueda semántica, al tiempo que se mantienen una coherencia y una fiabilidad estrictas.
Ejemplo: Recomendaciones en tiempo real para comercio electrónico
Una plataforma de comercio electrónico internacional quiere crear un motor de recomendaciones que gestione búsquedas vagas de los usuarios, como "mejores botas de senderismo para lluvia", y que, al mismo tiempo, asegure la disponibilidad inmediata de los productos.
BigQuery te permite realizar análisis de vectores en conjuntos de datos masivos sin tener que sacar los datos de tu almacén de datos. Con la función VECTOR_SEARCH, puedes ejecutar búsquedas de similitud usando SQL estándar. Esto es especialmente útil en casos prácticos de análisis, como agrupar clientes en clústeres en función de su comportamiento o identificar tendencias de productos similares en miles de millones de filas de datos.
Ejemplo: Detección de amenazas de ciberseguridad a escala
Un equipo de seguridad necesita analizar petabytes de registros de servidores para identificar actividad maliciosa. Los atacantes suelen modificar ligeramente su código para evitar las búsquedas de palabras clave de concordancia exacta.
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.