Vector Search
Explora cómo la búsqueda vectorial utiliza incrustaciones para encontrar datos similares. Aprende a generar vectores de alta calidad con Ultralytics YOLO26 para 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 coincidencias exactas de palabras clave. A diferencia de la búsqueda por palabras clave tradicional, 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.
Link to this sectionCómo funciona la búsqueda vectorial#
El núcleo de la búsqueda vectorial implica transformar datos sin procesar en vectores numéricos de alta dimensión conocidos como embeddings. Este proceso asigna elementos a puntos en un espacio multidimensional donde los elementos conceptualmente similares se sitúan cerca unos de otros.
-
Vectorización: Un modelo de aprendizaje profundo (DL) procesa los datos de entrada (por ejemplo, una imagen de un perro) y genera un vector de características. A menudo se utilizan modelos avanzados como YOLO26 para generar estas ricas representaciones de características de forma 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 dicha consulta en un vector y mide la distancia hasta los vectores almacenados utilizando métricas como la similitud de coseno o la distancia euclidiana.
-
Recuperación: El sistema devuelve los "vecinos más cercanos", que representan los resultados contextualmente más relevantes.
Link to this sectionEjemplo en Python: Generación de embeddings#
Para implementar la búsqueda vectorial, primero debes convertir tus datos en vectores. El siguiente fragmento de código demuestra cómo generar mapas de características y embeddings a partir de una imagen utilizando el paquete ultralytics 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}")Link to this sectionAplicaciones en el mundo real#
La búsqueda vectorial es el motor detrás de muchas funciones intuitivas en el ecosistema de software actual, cerrando la brecha 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 funciones de "compra el look". Si a un cliente le gusta un bolso específico, el sistema encuentra artículos con vectores visuales similares (coincidiendo en forma, textura y estilo), 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, reduciendo las alucinaciones y mejorando la precisión en las interacciones con chatbots.
- Detección de anomalías: Mediante la agrupación de vectores de operaciones "normales", los sistemas pueden identificar valores atípicos que se alejan del grupo. Esto es fundamental para la detección de anomalías en el control de calidad de fabricación y la seguridad de los datos.
Link to this sectionDistinguir conceptos relacionados#
Es útil diferenciar la búsqueda vectorial de términos similares para comprender el flujo de trabajo completo de aprendizaje automático (ML).
- Búsqueda vectorial vs. búsqueda semántica: La búsqueda semántica es la aplicación más amplia de entender la intención del usuario (el "qué"). La búsqueda vectorial es el método algorítmico específico utilizado para lograr esto calculando la proximidad vectorial (el "cómo").
- Búsqueda vectorial vs. base de datos vectorial: Una base de datos vectorial es la infraestructura diseñada para almacenar y gestionar embeddings a escala. La búsqueda vectorial es el proceso de consultar esa base de datos para recuperar información.
- Búsqueda vectorial vs. búsqueda por palabras clave: La búsqueda por palabras clave coincide con cadenas de texto exactas (p. ej., "manzana" coincide con "manzana"). La búsqueda vectorial coincide con el significado, por lo que "manzana" podría coincidir con "fruta" o "rojo", incluso si las palabras son diferentes.
Link to this sectionIntegración con la plataforma Ultralytics#
Para los equipos que construyen sistemas de búsqueda de similitud, gestionar conjuntos de datos y entrenar modelos de embedding es un primer paso crucial. La plataforma Ultralytics simplifica este flujo de trabajo proporcionando herramientas para la gestión de datos, el entrenamiento en la nube y la implementación de modelos. Al asegurarte de que tus modelos base (ya sea para detección de objetos o clasificación) sean de alto rendimiento, garantizas que los vectores resultantes proporcionen resultados de búsqueda precisos y significativos.






