Búsqueda vectorial
Descubra cómo la búsqueda vectorial utiliza incrustaciones para encontrar datos similares. Aprenda a generar vectores de alta calidad con Ultralytics para obtener una recuperación de información precisa.
La búsqueda vectorial es un método sofisticado de recuperación de información que identifica elementos similares dentro de un conjunto de datos basándose
en sus características matemáticas, en lugar de en coincidencias exactas de palabras clave. A diferencia de la
búsqueda tradicional por palabras clave, que se basa en encontrar cadenas de caracteres específicas
, la búsqueda vectorial analiza el significado semántico subyacente de los datos. Esta técnica es fundamental para las aplicaciones modernas de
inteligencia artificial (IA)
, ya que permite a los ordenadores comprender las relaciones entre conceptos abstractos, procesando
datos no estructurados como imágenes, archivos de audio y
texto en lenguaje natural con una precisión notable.
Cómo funciona la búsqueda vectorial
El núcleo de la búsqueda vectorial consiste en transformar datos sin procesar en vectores numéricos de alta dimensión conocidos como
incrustaciones. Este proceso asigna elementos a puntos en un
espacio multidimensional en el que los elementos conceptualmente similares se encuentran cerca unos de otros.
-
Vectorización: un
modelo de aprendizaje profundo (DL) procesa los datos de entrada
(por ejemplo, la imagen de un perro) y genera un vector de características. A menudo se utilizan modelos avanzados como
YOLO26 para generar estas representaciones de características enriquecidas
de manera eficiente.
-
Indexación: Para realizar búsquedas rápidamente, estos vectores se organizan utilizando algoritmos especializados,
a menudo almacenados en una base de datos vectorial dedicada.
-
Cálculo de similitud: cuando un usuario envía una consulta, el sistema convierte esa consulta en un vector
y mide la distancia a los vectores almacenados utilizando métricas como la
similitud coseno o la
distancia euclidiana.
-
Recuperación: El sistema devuelve los «vecinos más cercanos», que representan los resultados más
relevantes en cuanto al contexto.
Ejemplo Python : Generación de incrustaciones
Para implementar la búsqueda vectorial, primero debe convertir sus datos en vectores. El siguiente fragmento de código muestra cómo
generar mapas de características y encajes de una imagen
utilizando el ultralytics paquete y un modelo YOLO26 preentrenado.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Aplicaciones en el mundo real
La búsqueda vectorial es el motor que impulsa muchas de las funciones intuitivas del ecosistema de software actual, y que acorta la distancia entre la
visión artificial (CV) y la intención del usuario.
-
Sistemas de recomendación visual: En el sector de la
IA en el comercio minorista, la búsqueda vectorial potencia las funciones de «comprar el
look». Si a un cliente le gusta un bolso concreto, el sistema encuentra artículos con vectores visuales similares
(forma, textura y estilo coincidentes), creando un sistema de recomendación personalizado
.
-
Generación aumentada por recuperación (RAG): Para mejorar
los modelos de lenguaje grandes (LLM), los desarrolladores
utilizan la búsqueda vectorial para recuperar documentos relevantes de una base de conocimientos. Esto proporciona contexto a la IA, lo que reduce
las alucinaciones y mejora la precisión en las
interacciones con los chatbots.
-
Detección de anomalías: al agrupar vectores de operaciones «normales», los sistemas pueden identificar
valores atípicos que se alejan mucho del grupo. Esto es fundamental para la
detección de anomalías en el control de calidad de la fabricación
y la seguridad de los datos.
Distinguir conceptos relacionados
Es útil diferenciar la búsqueda vectorial de términos similares para comprender todo el
proceso del aprendizaje automático (ML).
-
Búsqueda vectorial frente a búsqueda semántica: La búsqueda semántica es la aplicación más amplia de la comprensión de la intención del usuario (el «qué»). La búsqueda vectorial es
el método algorítmico específico utilizado para lograrlo mediante el cálculo de la proximidad vectorial (el «cómo»).
-
Búsqueda vectorial frente a base de datos vectorial: una base de datos vectorial es la infraestructura diseñada para almacenar y gestionar incrustaciones a gran escala. La búsqueda vectorial
es el proceso de consultar esa base de datos para recuperar información.
-
Búsqueda vectorial frente a
búsqueda por palabras clave: la búsqueda por palabras clave encuentra cadenas de texto exactas (por ejemplo, «manzana» coincide con «manzana»). La búsqueda vectorial
encuentra significados, por lo que «manzana» podría coincidir con «fruta» o «rojo», aunque las palabras sean diferentes.
Integración con la Ultralytics
Para los equipos que crean sistemas de búsqueda por similitud,
la gestión de conjuntos de datos y el entrenamiento de modelos de incrustación son un primer paso crucial. Ultralytics simplifica este flujo de trabajo al proporcionar herramientas para la
gestión de datos, el entrenamiento en la nube y la implementación de modelos. Al garantizar que sus modelos base, ya sean para la
detección o la clasificación de objetos, tengan un
alto rendimiento, se asegura de que los vectores resultantes proporcionen resultados de búsqueda precisos y significativos.