Una base de datos vectorial es cualquier base de datos que te permite almacenar, indexar y consultar incorporaciones vectoriales o representaciones numéricas de datos no estructurados, como texto, imágenes o audio.
Google Cloud integra estas capacidades de nivel empresarial directamente en sus servicios administrados, como AlloyDB para PostgreSQL, Spanner y BigQuery, lo que te ayuda a crear aplicaciones inteligentes sin administrar una infraestructura separada.
Los embeddings de vectores son representaciones numéricas de datos, que suelen definirse 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.
Cuando se asignan estos datos a un espacio vectorial, las embeddings capturan el significado semántico: los elementos similares se posicionan más cerca entre sí, mientras que los elementos diferentes se posicionan más lejos. Esta relación espacial ayuda a los sistemas a identificar conexiones entre los datos en función del contexto y el significado, en lugar de solo las coincidencias de palabras clave.
Mientras que algunas bases de datos especializadas solo admiten embeddings de vectores, otras admiten muchos otros tipos de datos y consultas además de embeddings de vectores. Esto es fundamental para desarrollar aplicaciones de IA generativa a partir de datos enriquecidos del mundo real. Como los beneficios de las consultas semánticas con incorporaciones de vectores se hacen evidentes, la mayoría de las bases de datos agregan compatibilidad con los vectores. En el futuro, creemos que todas las bases de datos serán de vectores.
Descubre cómo la búsqueda de vectores de Vertex AI permite crear aplicaciones de IA generativa de alto rendimiento. La búsqueda vectorial de Vertex AI se basa en la búsqueda escalable de vecino más próximo, o ScaNN, una tecnología de búsqueda de vectores escalable y eficiente desarrollada por Google Research, por lo que es ideal para manejar grandes conjuntos de datos y requisitos de búsqueda en tiempo real. Obtén más información sobre búsqueda de vectores y embeddings en el video que se muestra a continuación, y comienza con esta guía de inicio rápido.
Consultar con eficacia un gran conjunto de vectores requiere estrategias especializadas de indexación y búsqueda que difieren de 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:
Los embeddings de vectores capturan el significado semántico de datos complejos. Cuando se combinan con bases de datos vectoriales que proporcionan indexación y 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 conocimiento externa para modelos de lenguaje grandes (LLM). Cuando las aplicaciones recuperan un contexto pertinente y propio antes de enviar una instrucción al modelo, pueden reducir las alucinaciones y brindar respuestas precisas y específicas del dominio. Esto es esencial para crear agentes de atención al cliente potenciados por IA, analizadores de documentos legales y sistemas internos de administració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. Cuando se representa el comportamiento de los usuarios y los atributos de los productos como vectores, las aplicaciones pueden identificar elementos similares o hacer coincidir 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 transmisión de contenido multimedia.
A diferencia de la búsqueda tradicional de palabras clave, las bases de datos vectoriales permiten usar aplicaciones de búsqueda semántica que comprenden la intención del usuario. Los desarrolladores pueden crear experiencias de búsqueda que les permitan a los usuarios realizar consultas por concepto en lugar de por frases exactas. Además, como los vectores pueden representar diferentes tipos de datos en el mismo espacio, puedes crear herramientas de búsqueda multimodales, lo que les permite a los usuarios buscar imágenes con descripciones de texto o encontrar documentos relacionados con una imagen de entrada.
Las bases de datos vectoriales permiten identificar patrones irregulares en conjuntos de datos masivos. Establecer un espacio vectorial que represente el comportamiento o las transacciones “normales” les permite a los desarrolladores detectar de forma programática los valores atípicos que se alejan de los clústeres establecidos. Esta capacidad es fundamental para crear sistemas de detección de fraude financiero, herramientas de supervisión de seguridad de red y verificaciones de 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. Cuando comparan embeddings de registros de clientes o fichas de productos, los sistemas pueden identificar entradas duplicadas incluso cuando el texto varía ligeramente (por ejemplo, "Main St." vs. "Main Street"). Esto ayuda a las organizaciones a mantener una vista única y precisa de sus datos.
AlloyDB para PostgreSQL combina la compatibilidad de PostgreSQL con la infraestructura escalable de Google. Incluye compatibilidad integrada para embeddings de vectores a través de la extensión estándar pgvector y la mejora con el índice ScaNN de Google. Esto puede permitir consultas de vectores más rápidas y habilita el “filtrado en línea”, que ayuda a optimizar las búsquedas híbridas evaluando la similitud de vectores y los filtros de metadatos simultáneamente para un mejor rendimiento.
Ejemplo: Búsqueda híbrida de bienes raíces
Una aplicación de bienes raíces 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, cumplir estrictamente con restricciones concretas (por ejemplo, "3 habitaciones", "menos de $800,000", "en el distrito escolar A").
Google Cloud integra capacidades de búsqueda de vectores directamente en sus servicios de bases de datos principales, lo que te ayuda a poner en funcionamiento la IA generativa con tus datos y flujos de trabajo existentes.
Spanner, la base de datos distribuida globalmente de Google, admite la búsqueda de vectores para aplicaciones transaccionales. Puede proporcionar una búsqueda de vectores altamente disponible y escalable con algoritmos de vecino más cercano exacto y aproximado. Esto permite que las aplicaciones globales implementen funciones como recomendaciones en tiempo real o búsqueda semántica, a la vez que mantienen la coherencia y confiabilidad estrictas.
Ejemplo: Recomendaciones en tiempo real para comercio electrónico
Una plataforma global de comercio electrónico quiere crear un motor de recomendaciones que maneje búsquedas vagas de los usuarios, como "mejores botas de senderismo para clima lluvioso", y, al mismo tiempo, garantice la disponibilidad inmediata de los productos.
BigQuery puede permitirte realizar análisis de vectores en conjuntos de datos masivos sin mover los datos fuera de tu almacén de datos. Con la función VECTOR_SEARCH, puedes ejecutar búsquedas de similitud con SQL estándar. Esto es particularmente útil para casos de uso analíticos, como agrupar clientes 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 gran escala
Un equipo de seguridad necesita analizar petabytes de registros de servidores para identificar actividades maliciosas. Los atacantes suelen modificar ligeramente su código para evadir las búsquedas de palabras clave de concordancia exacta.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.