
¿Qué son las incrustaciones vectoriales?
Las incrustaciones vectoriales son representaciones numéricas de puntos de datos en un espacio de alta dimensión en el que los puntos de datos similares están más juntos y los puntos disímiles están más separados. Este proceso permite procesar e identificar datos relacionados de forma más eficaz. Por ejemplo, la distancia entre palabras puede indicar similitudes semánticas en un espacio vectorial. París y Tokio están cerca la una de la otra, pero lejos de Apple.
Las incrustaciones vectoriales se utilizan habitualmente en el aprendizaje automático y la inteligencia artificial para captar el significado semántico de datos no estructurados (como texto, vídeos, imágenes, audio, etc.), lo que permite realizar análisis, búsquedas y recuperaciones más eficientes y precisas. Las incrustaciones vectoriales suelen generarse mediante modelos de redes neuronales (o modelos más modernos de arquitectura de transformadores).
Dado que la representación vectorial incrustada de un objeto de datos contiene sólo números, la búsqueda de similitud vectorial se denomina a veces "búsqueda vectorial densa " o "búsqueda vectorial incrustada", que difiere de la búsqueda tradicional por palabras clave, en la que deben darse coincidencias exactas entre las palabras de la búsqueda y los datos devueltos. "Búsqueda léxica" y "búsqueda vectorial dispersa" son términos que suelen referirse a la búsqueda tradicional por palabras clave.
Las incrustaciones vectoriales suelen almacenarse en una moderna base de datos vectorial para la indexación y la búsqueda eficiente de similitudes.
¿Cómo se crean las incrustaciones vectoriales?
Las incrustaciones vectoriales suelen crearse utilizando modelos de aprendizaje automático (también llamados modelo de incrustacións) que aprenden a mapear datos brutos en un espacio vectorial. El modelo de incrustación convierte cada unidad de información en un vector de números, y la distancia entre dos vectores indica su similitud semántica.
**Estos son los pasos clave para crear incrustaciones vectoriales
- El primer paso consiste en seleccionar los datos y decidir qué variables formarán los vectores. Puede tratarse de palabras de un corpus de texto, imágenes visuales o preferencias del usuario.
A continuación, se extraerán las características relevantes de los datos mediante tokenización y stemming, y se detendrá la eliminación de palabras para los datos de texto. Considere el uso de redes neuronales convolucionales (CNNs) para reconocer y extraer características de imágenes para datos de imágenes.
Tras preprocesar los datos, introdúzcalos en un modelo de aprendizaje automático como Word2Vec, GloVe, OpenAI u otro modelo de red neuronal profunda. Durante el entrenamiento, el modelo aprende a crear representaciones vectoriales para cada elemento del conjunto de datos. El modelo reescala estos vectores para minimizar las diferencias entre elementos similares y aumentar las diferencias entre elementos diferentes.
El resultado es un espacio vectorial multidimensional en el que un vector específico representa cada elemento del conjunto de datos. Los elementos similares están más juntos en este espacio, y los elementos diferentes están más separados.
Incrustación de vectores dispersos, densos y binarios
Las incrustaciones vectoriales pueden clasificarse en tres tipos en función de su representación y propiedades: incrustaciones densas, incrustaciones dispersas e incrustaciones binarias. Cada tipo tiene sus propias ventajas y casos de uso.
Incrustaciones densas (vectores densos)
Las incrustaciones densas o vectores densos son vectores en los que la mayoría de los elementos son distintos de cero, lo que proporciona una representación numérica compacta que captura características ricas y continuas de los datos. Normalmente, las incrustaciones densas de baja dimensión pueden condensar eficazmente la información en un espacio más pequeño, lo que las hace útiles para el almacenamiento y el cálculo. Las incrustaciones densas son habituales en aplicaciones como las incrustaciones de palabras (por ejemplo, Word2Vec, GloVe, FastText), las incrustaciones de frases (por ejemplo, Universal Sentence Encoder, InferSent, Sentence-BERT) y las incrustaciones de imágenes derivadas de redes neuronales convolucionales (por ejemplo, ResNet, VGG). Las incrustaciones densas son muy ventajosas para captar información semántica. Son especialmente adecuadas para los modelos basados en redes neuronales y el aprendizaje profundo, que dependen de estas representaciones detalladas para las tareas de clasificación, agrupación y búsqueda de similitudes.
Incrustaciones dispersas (vectores dispersos)
Las incrustaciones dispersas, o vectores dispersos, por el contrario, son vectores en los que la mayoría de los elementos son cero, lo que a menudo da lugar a representaciones de alta dimensión que destacan la presencia o ausencia de características específicas. Estas incrustaciones se utilizan en minería de textos y recuperación de información mediante métodos como TF-IDF (Term Frequency-Inverse Document Frequency) y bag-of-words. Las incrustaciones dispersas son fáciles de entender e implementar, lo que las hace eficaces para los algoritmos tradicionales de aprendizaje automático y los modelos lineales.
Incrustaciones binarias (vectores binarios)
Las incrustaciones binarias o vectores binarios son vectores en los que cada elemento es 0 o 1, creando representaciones compactas que son muy eficientes para el almacenamiento y la recuperación. Estas incrustaciones se utilizan a menudo en aplicaciones que requieren una gran eficiencia, como el hashing sensible a la localidad (LSH) para la búsqueda approximate nearest neighbor (ANN) en espacios de alta dimensión, las redes neuronales binarias en las que los pesos y las activaciones son binarios, y el hashing de características (el truco del hashing) para convertir grandes características categóricas en vectores binarios de tamaño fijo. Las incrustaciones de vectores binarios contribuyen a la eficacia del almacenamiento y el cálculo, por lo que son ideales para el tratamiento de datos a gran escala y las aplicaciones en tiempo real. Son especialmente útiles para tareas de búsqueda y recuperación de similitudes debido a su naturaleza compacta.
Guía sencilla para crear incrustaciones vectoriales
He aquí un ejemplo de uso de un [modelo de incrustación] preentrenado (https://zilliz.com/learn/training-your-own-text-embedding-model) para generar incrustaciones de nuestras propias palabras. Para seguirlo, necesitarás instalar Python y configurar la base de datos vectorial Milvus para el almacenamiento y recuperación de vectores.
Primero, instala las dependencias: milvus, pymilvus, y gensim. Pymilvus es un SDK de Python para Milvus, y gensim es una biblioteca de Python para el procesamiento del lenguaje natural (NLP).
Gensim es una biblioteca Python de código abierto para el modelado de temas y el análisis de similitud de documentos mediante diversos algoritmos no supervisados. Está especializada en el procesamiento de corpus de texto a gran escala y se utiliza ampliamente en tareas de procesamiento del lenguaje natural (PLN). Gensim permite entrenar y utilizar incrustaciones de palabras mediante modelos de aprendizaje automático como Word2Vec, FastText y Doc2Vec. Estas incrustaciones capturan las relaciones semánticas entre palabras y pueden utilizarse para diversas tareas de PLN.
pip install milvus, pymilvus, gensim
Importa las librerías.
importa gensim.downloader como api
from pymilvus import (
conexiones,
FieldSchema,
CollectionSchema,
TipoDatos,
Collection)
Crea una conexión con el servidor Milvus.
connections.connect(
alias="por defecto",
usuario='nombre de usuario',
password='contraseña',
host='localhost',
puerto='19530'
)
Crear una colección.
#Crea una colección:
fields = [
FieldSchema(name="pk", dtype=DataType.INT64, is_primary=True, auto_id=False),
FieldSchema(name="palabras", dtype=DataType.VARCHAR, max_length=50),
FieldSchema(name="incrustaciones", dtype=DataType.FLOAT_VECTOR, dim=50)
]
schema = CollectionSchema(fields, "Demo para almacenar y recuperar incrustaciones")
demo_milvus = Colección("milvus_demo", esquema)
Cargar el modelo pre-entrenado desde gensim.
model = api.load("guante-wiki-gigaword-50")
Generar las incrustaciones de texto utilizadas para las palabras de muestra.
hielo = modelo['hielo']
agua = modelo['agua']
frío = modelo['frío']
árbol = modelo['árbol']
hombre = model['hombre']
mujer = model['mujer']
niño = model['niño']
mujer = modelo['mujer']
He aquí un ejemplo de la incrustación vectorial de la palabra "mujer".
array([-0.31575 , 0.74461 , -0.11566 , -0.30607 , 1.524 , 1.9137 ,
-0.392 , -0.67556 , -0.1051 , -0.17457 , 1.0692 , -0.68617 ,
1.2178 , 1.0286 , 0.35633 , -0.40842 , -0.34413 , 0.67533 ,
-0.5443 , -0.21132 , -0.61226 , 0.95619 , 0.43981 , 0.59639 ,
0.02958 , -1.1064 , -0.48996 , -0.82416 , -0.97248 , -0.059594,
2.396 , 0.74269 , -0.16044 , -0.69316 , 0.55892 , 0.22892 ,
0.013605, -0.44858 , -0.52965 , -0.96282 , -0.54444 , 0.18284 ,
0.16551 , 0.33446 , 0.53432 , -1.4824 , -0.34574 , -0.82834 ,
0.10107 , 0.024414], dtype=float32)
Insertar las incrustaciones vectoriales generadas en la colección
#Insertar datos en la colección
datos = [
[1,2,3,4,5,6,7,8], # campo pk
['hielo','agua','frío','árbol','hombre','mujer','niño','mujer'], # campo palabras
[hielo, agua, frío, árbol, hombre, mujer, niño, mujer], # campo incrustaciones
]
insert_result = demo_milvus.insert(data)
# Una vez insertada la entidad final, es mejor llamar a flush para que no queden segmentos en crecimiento en memoria
demo_milvus.flush()
Crear índices en las entidades.
índice = {
"tipo_índice": "IVF_FLAT",
"metric_type": "L2",
"params": {"nlist": 128},
}
demo_milvus.create_index("embeddings", index)
Carga la colección en memoria para confirmar que la carga se ha realizado correctamente y realiza una búsqueda de similitud vectorial.
demo_milvus.load()
# realiza una búsqueda de similitud vectorial:
datos = [frio]
search_params = {
"tipo_métrico": "L2",
"params": {"nprobe": 10},
}
result = demo_milvus.search(data, "embeddings", search_params, limit=4, output_fields=["words"])
Recorre los resultados e imprime las palabras.
para i en rango(0,4):
hit = resultado[0][i]
print(hit.entity.get('palabras'))
Y aquí está la salida esperada.
frío
hielo
agua
hombre
¿Cómo funcionan las incrustaciones?
Al transformar datos como imágenes, texto y audio en representaciones numéricas, las incrustaciones permiten a las máquinas comprender el significado semántico subyacente y las relaciones dentro de los datos brutos. Esto abre las puertas a aplicaciones innovadoras en diversos ámbitos.
Encontrar imágenes, vídeos o archivos de audio similares
Imagine buscar fotos o vídeos similares basándose en su contenido, no sólo en palabras clave. Por ejemplo, búsqueda de imágenes por sonido (los pájaros se oyen más fácilmente que se ven) o búsqueda de vídeos por imagen. Las incrustaciones vectoriales hacen posible este tipo de búsqueda. Al extraer incrustaciones de imágenes, fotogramas de vídeo o segmentos de audio mediante técnicas como las redes neuronales convolucionales (CNN), podemos almacenar estas incrustaciones en bases de datos vectoriales como Milvus o Zilliz Cloud. Cuando un usuario busca una imagen, un vídeo o un clip de audio, el sistema recupera elementos similares comparando los datos secuenciales con sus representaciones vectoriales incrustadas.
Aceleración del descubrimiento de fármacos
El descubrimiento de fármacos es un proceso largo y complejo. Las representaciones vectoriales pueden acelerar este proceso ayudando a los científicos a identificar fármacos candidatos prometedores. Al codificar las estructuras químicas de los compuestos farmacológicos en las incrustaciones vectoriales generadas anteriormente, podemos medir su similitud con las proteínas diana. Esto permite a los investigadores centrarse en las pistas más prometedoras, lo que agiliza el descubrimiento y desarrollo de fármacos.
Aumentar la relevancia de las búsquedas con la búsqueda semántica
Los motores de búsqueda tradicionales suelen tener dificultades para comprender la verdadera intención de las consultas de los usuarios, lo que conduce a resultados irrelevantes. Supongamos que una empresa convierte sus documentos internos en vectores y los almacena en una base de datos vectorial. Ahora, los empleados pueden buscar esos documentos utilizando un chat humano normal. La base de datos vectorial podría recuperar las incrustaciones de datos más cercanas a la incrustación de la pregunta del empleado en el chat y enviarlas a ChatGPT como parte de una solicitud para generar una respuesta textual de tipo humano a la pregunta del empleado. La respuesta sería la más aproximada basada en los datos de la empresa. Este proceso global se denomina RAG (Retrieval Augmented Generation). Añadir una comprensión semántica de los documentos de una empresa puede mejorar significativamente la relevancia de la búsqueda interna para esa empresa y evitar las alucinaciones de la IA.
Sistemas de recomendación
Los sistemas de recomendación son cruciales para las plataformas en línea, pero las recomendaciones genéricas pueden resultar decepcionantes. Las incrustaciones vectoriales ofrecen una solución al permitirnos representar tanto a los usuarios como a los artículos como incrustaciones. Al medir la similitud entre el usuario y el artículo para generar incrustaciones vectoriales, podemos hacer recomendaciones personalizadas adaptadas a las preferencias únicas de cada usuario. Esto conduce a sistemas de recomendación más eficaces y, con suerte, a un mayor compromiso de los usuarios.
Detección de anomalías
Identificar patrones inusuales en los datos es crucial para diversas aplicaciones, como la detección de fraudes, la seguridad de las redes y la supervisión de equipos industriales. Las incrustaciones vectoriales constituyen una potente herramienta para la detección de anomalías. Al representar puntos de datos como incrustaciones, podemos calcular distancias o disimilitudes entre puntos de datos. Las distancias considerables pueden indicar anomalías potenciales que deben investigarse. Esto nos permite identificar problemas de forma proactiva, contribuyendo a la identificación y prevención tempranas de anomalías.
Diferentes tipos de incrustación vectorial en función de la naturaleza de los datos representados
Las incrustaciones vectoriales también se pueden dividir en incrustaciones de palabras, incrustaciones de imágenes, incrustaciones de gráficos, incrustaciones multimodales, etc., dependiendo de la aplicación y de la naturaleza de los datos representados. He aquí algunos de los tipos más comunes de incrustación vectorial.
- Las incrustaciones de palabras representan palabras como vectores numéricos en un espacio vectorial continuo. Se entrenan en grandes corpus de texto como Wikipedia utilizando varios modelos como Word2Vec, GloVe o fastText. Estos modelos utilizan distintos mecanismos para representar cada palabra como un vector de números. Word2Vec genera incrustaciones de palabras mediante la previsión de una palabra en un enorme corpus textual. Define relaciones lingüísticas entre las palabras. Por ejemplo, puede representar "rey" y "reina" como vectores próximos en el espacio, mostrando su similitud semántica. GloVe, por su parte, se basa en los datos de co-ocurrencia de las palabras para construir vectores. GloVe puede representar las palabras "hielo" y "agua" como vectores cercanos entre sí porque suelen aparecer juntas en el texto y comparten una relación semántica. fastText lleva las incrustaciones de palabras a un nivel de subpalabra, lo que permite tratar palabras fuera de vocabulario (OOV) o variaciones.
- Incrustación de frases y documentos**: La incrustación de frases y documentos representa frases o documentos enteros como vectores numéricos utilizando modelos como Doc2Vec y BERT. Doc2Vec se basa en el paradigma Word2Vec para generar incrustaciones a nivel de documento, lo que permite codificar documentos o pasajes enteros. BERT (Bidirectional Encoder Representations from Transformers) tiene en cuenta el contexto de cada término de una frase y genera vectores de incrustación muy sensibles al contexto.
- Incrustación de imágenes**: Las CNN pueden producir incrustaciones de imágenes mediante la extracción de características en distintas capas de la red. Proporcionan un enfoque valioso para la clasificación y recuperación de imágenes. Por ejemplo, una foto de un gato puede tener un vector de incrustación de imagen con características que representen sus orejas, pelaje y cola. Otros modelos, como Inception y ResNet, también tienen capas que pueden extraer características de las imágenes. Un modelo Inception puede generar una incrustación que represente los atributos visuales de una imagen, como objetos o patrones.
Incorporaciones de series temporales: Puede incrustar datos de series temporales utilizando redes neuronales de memoria a corto plazo (LSTM) y de unidades recurrentes controladas (GRU), que pueden capturar dependencias temporales. Las incrustaciones basadas en LSTM o GRU pueden capturar dependencias temporales para datos de series temporales como los precios de las acciones. Por ejemplo, estas incrustaciones vectoriales pueden representar patrones en los movimientos de los precios de las acciones.
- Incrustaciones de audio**: En el procesamiento de audio, las incrustaciones de coeficientes cepstrales de frecuencia mel (MFCC) representan datos de audio para tareas de clasificación de audio. En el reconocimiento del habla, las incrustaciones MFCC capturan las características acústicas de las señales de audio. Por ejemplo, pueden representar el contenido espectral de las palabras habladas.
- Incrustación de grafos**: Consideremos un grafo de red social. Node2Vec puede generar incrustaciones de nodos en las que usuarios similares (nodos) tienen vectores más parecidos. Por ejemplo, los usuarios con intereses similares pueden tener vectores similares. También puede utilizar redes neuronales de grafos (GNN) para generar incrustaciones de nodos y capturar relaciones complejas en los grafos. Las GNN pueden representar usuarios y elementos en un sistema de recomendación y predecir interacciones usuario-elemento.
Aplicaciones de las incrustaciones vectoriales
A continuación se explica cómo aplicar las incrustaciones vectoriales en distintos ámbitos.
- Imagen, vídeo y audio búsqueda de similitud vectorial**: Puedes extraer incrustaciones de imágenes, fotogramas de vídeo o segmentos de audio utilizando técnicas como CNNs para la extracción de imágenes o características. Almacena estas incrustaciones en una base de datos vectorial. Cuando un usuario realiza una consulta con una imagen, un fotograma de vídeo o un clip de audio, recupera elementos similares midiendo la similitud entre sus incrustaciones.
- Descubrimiento de fármacos por la IA: Al codificar las estructuras químicas de los compuestos en incrustaciones, puede utilizar estas incrustaciones para medir la similitud entre los compuestos de fármacos y predecir las proteínas diana potenciales para los compuestos de fármacos.
- Motor de búsqueda semántica: Las incrustaciones vectoriales mejoran la capacidad de los motores de búsqueda haciendo coincidir el significado de las consultas con los documentos relevantes, mejorando la relevancia de la búsqueda.
- Sistema de recomendación: Puede representar usuarios y elementos como incrustaciones. Mide la similitud usuario-artículo para hacer recomendaciones personalizadas. Las recomendaciones a medida mejoran la experiencia del usuario.
- Detección de anomalías: Al representar los puntos de datos como incrustaciones, puede identificar patrones inusuales en los datos. Esto se consigue calculando la distancia o disimilitud entre los puntos de datos. Los puntos de datos con distancias enormes son anomalías potenciales. Esto puede ser útil en la detección de fraudes, la seguridad de redes, los equipos industriales o la supervisión de procesos.
Más información sobre la incrustación vectorial y casos de uso de bases de datos vectoriales.
Por qué utilizar incrustaciones vectoriales
Reconocimiento de patrones: Las incrustaciones vectoriales capturan patrones, similitudes y disimilitudes en los datos. Los modelos de aprendizaje automático se benefician de las incrustaciones que representan patrones significativos, lo que mejora el rendimiento en tareas como la clasificación y la agrupación.
- Reducción de la dimensionalidad**: Las incrustaciones reducen la dimensionalidad de los datos. Transforman datos de gran dimensión en vectores de menor dimensión, lo que simplifica las tareas computacionales y, a menudo, mejora la eficiencia.
- Comprensión semántica: Las incrustaciones vectoriales codifican las relaciones semánticas entre puntos de datos, lo que facilita a las máquinas la comprensión e interpretación de información compleja.
- Procesamiento eficiente: Los vectores numéricos son eficientes desde el punto de vista computacional. Los algoritmos de aprendizaje automático pueden procesar datos numéricos con mayor rapidez y menor coste computacional.
- Aprendizaje por transferencia: Las incrustaciones preentrenadas, como las incrustaciones de palabras en NLP o las incrustaciones de imágenes en visión por ordenador, pueden ajustarse para tareas específicas. Esto reduce la necesidad de grandes cantidades de datos etiquetados, acelera la convergencia del modelo y mejora su rendimiento.
Preguntas frecuentes sobre la incrustación vectorial
¿Dónde se almacenan las incrustaciones vectoriales?
Puede almacenar incrustaciones vectoriales en una base de datos vectorial como Milvus, una base de datos en memoria como Redis, bases de datos como PostgreSQL o su sistema de archivos. La elección de dónde almacenar las incrustaciones vectoriales depende de factores como el volumen de datos, los patrones de acceso y los requisitos específicos de la aplicación.
¿Cuál es la diferencia entre las bases de datos vectoriales y las incrustaciones vectoriales?
Las bases de datos vectoriales son bases de datos especializadas que indexan, almacenan y recuperan datos vectoriales. En cambio, las incrustaciones vectoriales son representaciones numéricas de puntos de datos (como frases, imágenes u otros objetos) en un espacio vectorial continuo. Las incrustaciones capturan relaciones y patrones significativos dentro de los datos, mientras que las bases de datos almacenan los vectores y optimizan las búsquedas de similitud basándose en [métricas de similitud] vectoriales (https://docs.zilliz.com/docs/search-metrics-explained).
¿Qué son los vectores?
Los vectores representan datos no estructurados mediante matrices multidimensionales de números. Algunos ejemplos son los vectores de audio, vectores de imagen, vídeo o texto. Permiten operaciones como la búsqueda vectorial. Los algoritmos de búsqueda como KNN, ANNS, o HNSW organizan los datos de forma que el cálculo de la distancia entre vectores sea rápido. La distancia entre vectores determina la similitud, y en la búsqueda se devuelven los vectores más cercanos. Esto es útil para la agrupación, la detección de anomalías, la búsqueda inversa de imágenes, la respuesta a preguntas de chat o la elaboración de recomendaciones. La creación de la estructura de datos para una búsqueda vectorial eficiente se denomina creación del índice vectorial.
¿Son las incrustaciones diferentes de los vectores?
Embeddings vs. vectores: Técnicamente, un vector es un objeto matemático fundamental representado por una matriz multidimensional de números, mientras que los embeddings son una técnica para transformar datos no estructurados en representaciones vectoriales mediante operaciones matemáticas que capturan relaciones semánticas entre puntos de datos. Pero en la mayoría de los casos, especialmente en el contexto del aprendizaje automático, "vectores" e "incrustaciones" pueden utilizarse indistintamente.
¿Qué es un índice vectorial?
Un índice vectorial, también conocido como índice de base de datos vectorial o índice de similitud, es una estructura de datos utilizada en bases de datos vectoriales para organizar y optimizar la recuperación de datos vectoriales basándose en métricas de similitud. Ejemplos de índices son FLAT, IVF_FLAT, IVF_PQ, IVF_SQ8, HNSW, y SCANN para búsquedas ANN basadas en CPU y GPU_IVF_FLAT y GPU_IVF_PQ para búsquedas ANN basadas en GPU.
¿Cuál es la diferencia entre las incrustaciones preentrenadas y las incrustaciones personalizadas?
Las incrustaciones preentrenadas proceden de modelos de aprendizaje profundo preentrenados denominados puntos de control. Estos puntos de control suelen ser [modelos transformadores] de código abierto (https://zilliz.com/glossary/transformer-models) que se han entrenado con datos públicos. Las incrustaciones personalizadas proceden de tus propios modelos de aprendizaje profundo entrenados también con tus propios datos de entrenamiento personalizados y específicos de tu dominio.
¿Zilliz Vector Database crea incrustaciones vectoriales?
Sí. Zilliz Cloud es un servicio de base de datos vectorial totalmente gestionado de Milvus, capaz de crear, almacenar y recuperar miles de millones de incrustaciones vectoriales.
Zilliz Cloud cuenta con la potente función Pipelines, que permite convertir datos no estructurados en incrustaciones vectoriales de alta calidad en las que se pueden realizar búsquedas. Esta característica agiliza el flujo de trabajo de vectorización para los desarrolladores, cubriendo la creación, recuperación y eliminación de vectores para operaciones rápidas y eficientes. También minimiza los costes de mantenimiento para desarrolladores y empresas al eliminar la necesidad de adoptar pilas tecnológicas adicionales como modelos de incrustación para crear sus aplicaciones.
Las mejores bases de datos vectoriales para incrustaciones vectoriales
No existe una "mejor" base de datos vectorial universal; la elección depende de sus necesidades. Por lo tanto, es vital evaluar la escalabilidad, funcionalidad, rendimiento y compatibilidad de una base de datos vectorial con sus casos de uso particulares.
Las bases de datos vectoriales modernas deben ser capaces de buscar vectores de forma eficaz, filtrar mediante metadatos y realizar búsquedas semánticas y por palabras clave. También deben ser escalables, configurables y eficaces para gestionar cargas de trabajo de nivel empresarial.
Una herramienta de evaluación comparativa de código abierto muy conocida que puede ayudar a realizar la evaluación es ANN-Benchmark. ANN-Benchmark permite representar gráficamente los resultados de las pruebas de recuperación/consultas por segundo de varios algoritmos basados en una serie de conjuntos de datos precalculados. Compara la tasa de recuperación en el eje de abscisas con la tasa de consultas por segundo en el eje de ordenadas, lo que ilustra el rendimiento de cada algoritmo con distintos niveles de precisión de recuperación.
Además de utilizar herramientas de evaluación comparativa, también puedes consultar estas tablas comparativas de las principales bases de datos vectoriales de código abierto y servicios de bases de datos vectoriales totalmente gestionados sobre su arquitectura, escalabilidad, rendimiento, casos de uso, costes y conjuntos de características.
- ¿Qué son las incrustaciones vectoriales?
- ¿Cómo se crean las incrustaciones vectoriales?
- Incrustación de vectores dispersos, densos y binarios
- Guía sencilla para crear incrustaciones vectoriales
- ¿Cómo funcionan las incrustaciones?
- Diferentes tipos de incrustación vectorial en función de la naturaleza de los datos representados
- Aplicaciones de las incrustaciones vectoriales
- Por qué utilizar incrustaciones vectoriales
- Preguntas frecuentes sobre la incrustación vectorial
Contenido
Comienza Gratis, Escala Fácilmente
Prueba la base de datos vectorial completamente gestionada construida para tus aplicaciones GenAI.
Prueba Zilliz Cloud Gratis