¿Qué es una base de datos vectorial?

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.

¿Qué son las incorporaciones vectoriales?

Las incorporaciones vectoriales son representaciones útiles de datos no estructurados porque asignan el contenido de tal manera que la similitud semántica se representa mediante la distancia en un espacio vectorial de n dimensiones. Esto facilita la búsqueda de similitudes, la búsqueda de contenido relevante en una base de conocimiento o la recuperación de un elemento que coincida mejor con una consulta compleja generada por el usuario. 

Mientras que algunas bases de datos especializadas solo admiten incorporaciones vectoriales, otras admiten muchos otros tipos de datos y consultas además de las incorporaciones vectoriales. La compatibilidad con una amplia variedad de tipos de datos y consultas 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 compilar 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 la búsqueda vectorial y las incorporaciones en este video, y comienza con esta guía de inicio rápido

¿Cómo funciona una base de datos vectorial?

Como ocurre con otros tipos de datos, consultar con eficiencia un gran conjunto de vectores requiere de un índice y las bases de datos de vectores admiten índices especializados para vectores. A diferencia de muchos otros tipos de datos (como texto o números), que tienen un único orden lógico, los vectores no tienen un orden natural que corresponda a casos de uso prácticos. El caso de uso más común es consultar los vectores k más cercanos a otro vector en términos de una métrica de distancia, como producto punto, similitud coseno o distancia euclidiana. Este tipo de consulta se conoce como consulta “k (exacto) vecinos más cercanos” o consulta “KNN”.

Por desgracia, no hay algoritmos generales para consultas KNN eficientes. Para garantizar la búsqueda de los k vecinos más cercanos a un vector determinado (q) es necesario calcular la distancia entre q y cada otro vector. Sin embargo, existen algoritmos eficientes para encontrar los k vecinos más cercanos aproximados (“ANN”). Estos algoritmos de ANN sacrifican un poco de exactitud (específicamente la recuperación, el algoritmo puede omitir algunos de los vecinos más cercanos) para obtener grandes mejoras en la velocidad. Dado que muchos casos de uso ya tratan el proceso de calcular las incorporaciones vectoriales como un poco impreciso, a menudo pueden tolerar cierta pérdida en la recuperación a cambio de grandes mejoras en el rendimiento.

Para habilitar consultas de ANN para vectores basados en la distancia desde algún otro vector, un índice vectorial se estructura de manera tal que los clústeres de vectores cercanos generalmente se agrupan. Los tipos de índices vectoriales comunes se pueden estructurar como un conjunto de listas en las que cada lista representa los vectores de un grupo determinado; un gráfico en el que cada vector está conectado a varios de sus vecinos más cercanos; árboles en los que las ramas corresponden a subconjuntos del clúster del nodo superior y más. Cada tipo de índice proporciona compensaciones entre la velocidad de búsqueda, la recuperación, el consumo de memoria, el tiempo de creación del índice y otros factores.

Sin embargo, la mayoría de las consultas de bases de datos no solo se basan en la similitud semántica. Por ejemplo, un usuario podría estar buscando un libro cuya descripción sea similar a "una conmovedora historia sobre un niño y un perro", pero también podría querer limitarlo a los libros por menos de USD 20 que estén disponibles en formato de bolsillo. Las bases de datos vectoriales de propósitos especiales pueden proporcionar una capacidad de filtrado adicional limitada (a veces denominada “restricciones”), mientras que las bases de datos de uso general pueden componer predicados enriquecidos con lenguajes estándar como SQL, que se pueden combinar con orden de similitud de vectores para permitir consultas muy expresivas y potentes.

Casos de uso de bases de datos vectoriales

La capacidad de las incorporaciones vectoriales de representar el significado semántico de los datos no estructurados combinada con la capacidad de las bases de datos de vectores de buscar con eficiencia vectores cercanos permite descubrir muchos casos de uso importantes:

  • Encontrar mensajes del historial de chat que sean relevantes para la conversación actual, lo que permite que los chatbots potenciados por IA tengan “memoria”
  • Encuentra clips de video de un amplio archivo de transmisiones deportivas que coincidan con una descripción simple, como "dar un salto sobre un defensor para atrapar la pelota y anotar un touchdown"
  • Encontrar productos similares a algo que un usuario haya comprado antes y que se ajusten a las preferencias de precio y estilo del usuario
  • Busca documentos que sean relevantes para una tarea, como "reemplazar el filtro de una aspiradora", para que un asistente potenciado por IA pueda proporcionar una respuesta relevante y fáctica

Beneficios de las bases de datos vectoriales

Las bases de datos vectoriales son importantes porque se pueden usar para resolver una variedad de problemas que son difíciles o imposibles de resolver solo con predicados relacionales o técnicas de búsqueda de texto.

Las bases de datos de vectores son adecuadas para las aplicaciones de IA generativa, ya que facilitan la recuperación de contextos empresariales y de aplicaciones fundamentales, como el historial de chat relevante o el contenido no estructurado específico de la empresa, para ayudar a los LLM a responder a una consulta compleja del usuario.

También pueden facilitar la búsqueda de contenido usando lenguaje natural o la búsqueda por ejemplo.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.
Habla con un especialista en ventas de Google Cloud para analizar tu desafío único en más detalle.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Consola
Google Cloud