Una base de datos vectorial almacena la información en forma de vectores. Las bases de datos vectoriales agrupan elementos relacionados, lo que permite realizar búsquedas de similitud y construir modelos de IA potentes.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué son las integraciones?
¿Qué es el aprendizaje automático?
¿Qué son los modelos LLM? | Grandes modelos de lenguaje
¿Qué es inteligencia artificial (IA)?
IA predictiva
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
Una base de datos vectorial es una colección de datos que se almacenan como representaciones matemáticas. Las bases de datos vectoriales hacen que sea más fácil para los modelos de aprendizaje automático recordar entradas anteriores, lo que permite utilizar el aprendizaje automático para potenciar la búsqueda, las recomendaciones y los casos de uso de generación de texto. Los datos pueden identificarse con base en métricas de similitud en lugar de hacerlo con base en coincidencias exactas, lo que hace posible que un modelo informático comprenda los datos contextualmente.
Cuando uno visita una zapatería, un vendedor puede sugerirle zapatos que se parezcan al par que se prefiere. Del mismo modo, al comprar en una tienda de comercio electrónico, la tienda puede sugerir artículos similares bajo un encabezado como "Los clientes también compraron..." Las bases de datos vectoriales permiten a los modelos de aprendizaje automático identificar objetos similares, al igual que el vendedor puede encontrar zapatos similares y la tienda de comercio electrónico puede sugerir productos relacionados. (De hecho, la tienda de comercio electrónico podría utilizar un modelo de aprendizaje automático de este tipo para hacerlo).
En resumen, las bases de datos de vectores permiten a los programas informáticos establecer comparaciones, identificar relaciones y entender el contexto. Esto permite crear programas avanzados de inteligencia artificial (IA), tales como los modelos lingüísticos de gran tamaño (LLM).
En esta base de datos vectorial simple, los documentos de la parte superior derecha son probablemente similares entre sí.
Un vector es una serie de valores numéricos que expresa la ubicación de un punto flotante a lo largo de varias dimensiones.
En un lenguaje más cotidiano, un vector es una lista de números, tales como: {12, 13, 19, 8, 9}. Estos números indican una ubicación dentro de un espacio, igual que un número de fila y columna indica una determinada celda en una hoja de cálculo (por ejemplo "B7").
Cada vector en una base de datos vectorial corresponde a un objeto o elemento, ya sea que se trate de una palabra, una imagen, un vídeo, una película, un documento o cualquier otro dato. Es posible que estos vectores sean largos y complejos, y que expresen la ubicación de cada objeto a lo largo de docenas o incluso cientos de dimensiones.
Por ejemplo, una base de datos vectorial de películas puede ubicar películas según dimensiones como la duración, el género, el año de estreno, la clasificación de orientación parental, el número de actores en común, el número de espectadores en común, etc. Si estos vectores se crean con precisión, es posible que películas similares acaben agrupadas en la base de datos vectorial.
Las integraciones son vectores generados por redes neuronales. Una base de datos vectorial típica para un modelo de aprendizaje profundo se compone de integraciones. Una vez que una red neuronal está bien afinada, puede generar integraciones por sí misma, de modo que no sea necesario crearlas manualmente. Estas integraciones se pueden utilizar después para búsquedas de similitud, análisis contextuales, IA generativa, etc., como se ha descrito anteriormente.
Consultar un modelo de aprendizaje automático por sí solo, sin una base de datos vectorial, no es ni rápido ni rentable. Los modelos de aprendizaje automático no pueden recordar nada más allá de aquello en lo que se les entrenó. Tienen que ser el contexto cada vez (que es como funcionan muchos bot de chat simples).
Pasar el contexto de una consulta al modelo cada vez es muy lento, ya que es probable que sean muchos datos. Además, es caro, ya que los datos tienen que moverse, y hay que gastar potencia informática de manera repetida para que el modelo analice los mismos datos. Y, en la práctica, la mayoría de las API de aprendizaje automático están, de todos modos, probablemente limitadas en cuanto a la cantidad de datos que pueden aceptar a la vez.
Aquí es donde resulta útil una base de datos vectorial: un conjunto de datos pasa por el modelo una sola vez (o de forma periódica, a medida que cambia) y las integraciones del modelo de esos datos se almacenan en una base de datos vectorial.
Esto ahorra una enorme cantidad de tiempo de procesamiento. Hace posible la creación de aplicaciones orientadas al usuario en torno a la búsqueda semántica, la clasificación y la detección de anomalías, porque los resultados se obtienen en decenas de milisegundos, sin tener que esperar a que el modelo analice todo el conjunto de datos.
Para consultas, los desarrolladores piden al modelo de aprendizaje automático una representación (integración) solo de esa consulta. Entonces, la integración puede pasarse a la base de datos vectorial y esta puede devolver integraciones similares, que ya han pasado por el modelo. Esas integraciones se pueden volver a asignar a su contenido original: ya sea la URL de una página, un enlace a una imagen o las referencias de un producto.
En resumen, las bases de datos vectoriales funcionan a escala, de manera rápida y son más rentables que la consulta de modelos de aprendizaje automático sin ellas.
Vectorize es una base de datos vectorial de distribución global y ofrecida por Cloudflare. Las aplicaciones construidas sobre Cloudflare Workers pueden utilizar Vectorize para consultar documentos almacenados en Workers KV, imágenes almacenadas en R2 o perfiles de usuario almacenados en D1. Del mismo modo que Workers permite a los desarrolladores crear aplicaciones sin necesidad de una infraestructura de backend, Vectorize permite a los desarrolladores incorporar capacidades de IA a sus aplicaciones sin tener que construir su propia infraestructura de base de datos vectorial. Y para crear incrustaciones, Cloudflare ofrece Workers AI.