Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 2451|Respuesta: 0

【AI】(14) Una breve introducción a bases de datos vectoriales de código abierto

[Copiar enlace]
Publicado el 25-03-2025 11:29:25 | | | |
Requisitos: La última vez organizamos la selección de modelos de incrustación, y al convertir el modelo en vectores, debemos considerar guardar los vectores. Existen muchas bases de datos vectoriales, tales como: LanceDB, Astra DB, Pinecone, Chroma, Weaviate, QDrant, Milvus, Zilliz, PGVecttor, Redis, Elasticsearch, Redis, FAISS, SQL Server 2025, etc.

¿Qué es una base de datos vectorial?

Una base de datos vectorial es una colección organizada de incrustaciones vectoriales que incorporan incrustaciones vectoriales que pueden crearse, leerse, actualizarse y eliminarse en cualquier momento. Las incrustaciones vectoriales representan bloques de datos, como texto o imágenes, como valores numéricos. Una base de datos vectorial es un sistema de bases de datos diseñado para almacenar y recuperar vectores de alta dimensión. Rápidamente encuentra el vector objetivo más cercano calculando la similitud entre vectores (como la similitud coseno, la distancia euclidiana, etc.). Esta técnica se utiliza a menudo para procesar datos basados en incrustación, como texto, imágenes, representaciones de audio o vídeo.

Una base de datos vectorial es un conjunto de datos almacenados en forma matemática. Las bases de datos vectoriales facilitan que los modelos de aprendizaje automático recuerden entradas previas, permitiendo que el aprendizaje automático se utilice para soportar casos de uso como búsqueda, recomendación y generación de texto. Los datos pueden identificarse basándose en métricas de similitud en lugar de coincidencias exactas, lo que permite que los modelos informáticos comprendan el contexto de los datos.

Cuando un cliente visita una zapatería, el vendedor puede recomendar zapatos similares al que le gusta. De manera similar, al comprar en una tienda de comercio electrónico, la tienda puede recomendar artículos similares bajo títulos como "El cliente también compró...". Las bases de datos vectoriales permiten a los modelos de aprendizaje automático identificar objetos similares, igual que un vendedor puede encontrar zapatos parecidos, y una tienda de comercio electrónico puede recomendar productos relacionados. (De hecho, las tiendas de comercio electrónico pueden usar estos modelos de aprendizaje automático para hacer el trabajo).

En conclusión, las bases de datos vectoriales permiten a los programas informáticos realizar comparaciones, identificar relaciones y comprender el contexto. Esto hace posible crear programas avanzados de inteligencia artificial (IA) como grandes modelos de lenguaje (LLMs).

Chroma

Sitio:El inicio de sesión del hipervínculo es visible.



Chroma es una base de datos eficiente basada en Python y de código abierto para búsquedas de similitud a gran escala. Está diseñado para resolver el problema de búsquedas de similitud en conjuntos de datos a gran escala, especialmente cuando se trata con datos de alta dimensión. Hay múltiples opciones de alojamiento disponibles: sin servidor/embebido, autoalojadas (cliente-servidor) y soluciones SaaS distribuidas nativas en la nube con modelos tanto embebidos como cliente-servidor.
Excelente en prototipado y entornos de producción. Debido a la naturaleza efímera de su almacenamiento de datos, Chroma es ideal para prototipar rápidamente scripts. Con una configuración sencilla, los usuarios pueden crear colecciones y reutilizarlas fácilmente, facilitando la incorporación de datos posteriores. Además, Chroma tiene la capacidad de cargar y guardar datos automáticamente. Cuando el cliente se inicia, carga automáticamente los datos del usuario; Cuando se cierran, los datos se guardan automáticamente, lo que simplifica enormemente el proceso de gestión de datos. Esta característica hace que Chroma sea muy popular durante las fases de prototipado y desarrollo.
Chroma recibió una ronda semilla de financiación en mayo de 2022 y una segunda ronda de 1.800 dólares en financiación.

Ventajas: Chroma ofrece a los clientes más de una docena de lenguajes de programación, puede lanzar rápidamente almacenamiento vectorial y es la primera base de datos vectorial del mercado que ofrece el modo de incrustación por defecto. Es relativamente amigable para los desarrolladores y fácil de integrar.
Desventajas: La funcionalidad es relativamente sencilla, especialmente para aplicaciones que requieren funciones más complejas. Solo se soporta el cómputo de CPU, lo que puede limitar las mejoras de rendimiento en situaciones que requieren recursos computacionales significativos.

LanceDB

Sitio:El inicio de sesión del hipervínculo es visible.



LanceDB es una base de datos vectorial de código abierto diseñada para datos multimodales de IA para almacenar, gestionar, consultar y recuperar incrustaciones multimodales a gran escala. Su núcleo está escrito en Rust y basado en Lance, un formato de datos columnar que optimiza el acceso aleatorio de alta velocidad y la gestión de conjuntos de datos de IA como vectores, documentos e imágenes. Es adecuado para diversas aplicaciones de IA que necesitan procesar datos vectoriales de alta dimensión, como reconocimiento de imágenes, procesamiento de lenguaje natural, sistemas de recomendación, etc. LanceDB ofrece dos modos: servicios embebidos y servicios alojados en la nube.

Ventajas: LanceDB elimina la necesidad de gestionar servidores, reduciendo los costes de gestión y mantenimiento de los desarrolladores y mejorando la eficiencia del desarrollo. Está optimizado para datos multimodales y soporta varios tipos de datos como imágenes, texto y audio, mejorando la eficiencia de la base de datos al manejar datos complejos. Proporciona una interfaz API amigable y herramientas de visualización, permitiendo a los desarrolladores integrar y utilizar bases de datos con facilidad.
Desventajas: Solo se lanzará en 2023, que es una base de datos muy nueva y no está lo suficientemente madura en cuanto a desarrollo de funciones y operación comunitaria.

PGVector

Sitio:El inicio de sesión del hipervínculo es visible.



PGVector es una extensión basada en PostgreSQL diseñada para proporcionar potentes capacidades de almacenamiento vectorial y consultas. Utiliza lenguaje C para implementar una variedad de tipos de datos vectoriales y algoritmos, y puede almacenar y consultar de forma eficiente incrustaciones de IA expresadas en vectores. PGVector soporta búsqueda precisa y aproximada de vecinos más cercanos, permitiendo un acceso rápido a puntos de datos similares en espacios de alta dimensión. También soporta una variedad de algoritmos y tipos de datos de cálculo vectorial, como la distancia L2, el producto interno y la distancia coseno, entre otros. Es adecuado para escenarios en los que la función de búsqueda vectorial no es el núcleo del sistema, o el proyecto se lanza rápidamente en una fase inicial.

Ventajas: PGVector se integra perfectamente en las bases de datos PostgreSQL existentes, permitiendo a los usuarios empezar a usar capacidades de búsqueda vectorial sin necesidad de migrar bases de datos existentes. Al ser un plugin de PostgreSQL, PGVector hereda su fiabilidad y robustez gracias al desarrollo y optimización a largo plazo de PostgreSQL, al tiempo que mejora el procesamiento de vectorización.
Desventajas: En comparación con bases de datos vectoriales dedicadas, la optimización del rendimiento y la utilización de recursos es ligeramente insuficiente.

Qdrant

Sitio:El inicio de sesión del hipervínculo es visible.



Qdrant es una base de datos vectorial de código abierto y un servicio alojado en la nube, lanzado en 2021 y diseñado para aplicaciones de IA de próxima generación. Se proporcionan APIs convenientes para almacenar, buscar y gestionar puntos (es decir, vectores) con cargas útiles adicionales para ampliar el soporte de filtrado. Los múltiples tipos de índices, incluidos índices de carga útil, índices de texto completo e índices vectoriales, le permiten manejar datos de alta dimensión de forma eficiente. Además, Qdrant utiliza un algoritmo HNSW personalizado para búsquedas rápidas y precisas y permite filtrar resultados según cargas vectoriales relevantes. Estas características hacen que Qdrant sea útil para redes neuronales o emparejamiento basado en semántica, búsqueda multifacética y otras aplicaciones. La fortaleza de Qdrant radica en sus funciones de búsqueda semántica y de similitud, que facilitan la implementación de escenarios empresariales como búsqueda por imágenes, voz y vídeo, así como sistemas de recomendación.

Pros: Excelente documentación para ayudar a los desarrolladores a empezar a usar Docker fácilmente. Está construido íntegramente en Rust y ofrece APIs que los desarrolladores pueden utilizar a través de sus clientes Rust, Python y Golang, que son los lenguajes más populares entre los desarrolladores backend hoy en día. Qdrant soporta diversas estrategias de optimización, como la optimización de índices y la optimización de consultas. También soporta el despliegue distribuido y la escalabilidad horizontal para satisfacer las necesidades del procesamiento de datos a gran escala.
Contras: El proyecto es relativamente nuevo y no tiene tiempo suficiente para validarlo. Al responder al crecimiento del volumen de negocio, solo puede escalar horizontalmente a nivel de servicio. Solo se soporta el fragmentado estático. Según el informe de Zilliz, a medida que crece el número de elementos de datos no estructurados en bases de datos vectoriales, la cantidad de datos almacenados es grande y la eficiencia de las consultas puede verse afectada.

Nube Milvus/Zilliz

Página web de Milvus:El inicio de sesión del hipervínculo es visible.
Página web de Zilliz:El inicio de sesión del hipervínculo es visible.



Milvus es una base de datos vectorial pura de código abierto de 2019, construida sobre conocidas bibliotecas de búsqueda vectorial como FAISS, Annoy y HNSW, y optimizada para escenarios que requieren búsquedas rápidas de similitud. Zilliz Cloud es un servicio de base de datos vectorial nativo en la nube desarrollado basado en Milvus, que busca ofrecer capacidades de gestión y escalado más cómodas y de alto rendimiento. En resumen, Zilliz es una versión comercial del alojamiento en la nube de Milvus, que también es un modelo de negocio más exitoso en el campo de las bases de datos.

Ventajas: Debido a su larga existencia en el ecosistema de bases de datos vectoriales, la base de datos es muy madura y cuenta con un gran número de algoritmos. Hay muchas opciones de indexación vectorial disponibles, y está construido desde cero en Golang para lograr una escalabilidad extrema. A fecha de 2023, es el único proveedor convencional que ofrece una implementación viable de DiskANN, que se dice es la indexación vectorial de disco más eficiente.
Contras: Milvus parece ser una solución que se esfuerza por completo en cuestiones de escalabilidad: es altamente escalable mediante una combinación de proxies, balanceadores de carga, brokers de mensajes, Kafka y Kubernetes 7, lo que hace que todo el sistema sea muy complejo y consume muchos recursos. Las APIs del lado del cliente, como Python, tampoco son tan legibles ni intuitivas como las bases de datos más recientes como Weaviate y Qdrant, que tienden a estar más centradas en la experiencia del desarrollador. Milvus está construido con la idea de transmitir datos a índices vectoriales para lograr una escalabilidad masiva, y en muchos casos, Milvus parece un poco excesivo cuando la cantidad de datos no es demasiado grande. Para situaciones a gran escala más estáticas y poco frecuentes, alternativas como Qdrant o Weaviate pueden ser más baratas y pueden ponerse en marcha más rápido en producción.

Otro

Redis:El inicio de sesión del hipervínculo es visible.
Piña:El inicio de sesión del hipervínculo es visible.
Tejido:El inicio de sesión del hipervínculo es visible.
FAISS:El inicio de sesión del hipervínculo es visible.El inicio de sesión del hipervínculo es visible.
Elasticsearch:El inicio de sesión del hipervínculo es visible.
SQL Server:El inicio de sesión del hipervínculo es visible.

Referencia:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.





Anterior:[IA] (13) Una breve introducción a la similitud vectorial y la distancia
Próximo:[IA] (15) La base de datos vectorial Qdrant es fácil de usar
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com