Vector Search
Explora cómo la búsqueda vectorial utiliza embeddings para encontrar datos similares. Aprende a generar vectores de alta calidad con Ultralytics YOLO26 para recuperar información con precisión.
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 tradicional búsqueda por palabras clave, que depende de 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 (AI), ya que permite a los ordenadores comprender las relaciones entre conceptos abstractos y procesar datos no estructurados, como imágenes, archivos de audio y texto en lenguaje natural, con una precisión extraordinaria.
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 dimensionalidad conocidos como embeddings. Este proceso asigna los elementos a puntos de 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. Los modelos avanzados, como YOLO26, se utilizan a menudo para generar de forma eficiente estas representaciones de características detalladas.
-
Indexación: Para realizar búsquedas rápidamente, estos vectores se organizan mediante algoritmos especializados y suelen almacenarse en una base de datos vectorial específica.
-
Cálculo de similitud: Cuando un usuario envía una consulta, el sistema la convierte en un vector y mide la distancia hasta los vectores almacenados utilizando métricas como la similitud coseno o la distancia euclídea.
-
Recuperación: El sistema devuelve los «vecinos más cercanos», que representan los resultados más relevantes contextualmente.
Ejemplo 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 muestra 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}")Aplicaciones en el mundo real#
La búsqueda vectorial es el motor de muchas funciones intuitivas del ecosistema de software actual, ya que conecta la visión por ordenador (CV) con la intención del usuario.
- Sistemas de recomendación visual: En el sector de la IA en el comercio minorista, la búsqueda vectorial impulsa funciones de «compra el conjunto». Si a un cliente le gusta un bolso concreto, el sistema encuentra artículos con vectores visuales similares —comparando la forma, la textura y el estilo— y crea un sistema de recomendación personalizado.
- Generación aumentada por recuperación (RAG): Para mejorar los grandes modelos de lenguaje (LLMs), los desarrolladores utilizan la búsqueda vectorial para recuperar documentos relevantes de una base de conocimiento. Esto proporciona contexto a la IA, reduce las alucinaciones y mejora la precisión en las interacciones con chatbots.
- Detección de anomalías: Al agrupar los vectores de las 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.
Diferenciación de conceptos relacionados#
Es útil diferenciar la búsqueda vectorial de términos similares para comprender todo el flujo de trabajo de 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 conseguirlo 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 embeddings a 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 hace coincidir cadenas de texto exactas (por ejemplo, «manzana» coincide con «manzana»). La búsqueda vectorial hace coincidir significados, por lo que «manzana» podría coincidir con «fruta» o «rojo», aunque las palabras sean diferentes.
Integración con la plataforma Ultralytics#
Para los equipos que desarrollan sistemas de búsqueda por similitud, gestionar conjuntos de datos y entrenar modelos de embeddings es un primer paso crucial. La plataforma 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 tus modelos base —ya sean para la detección de objetos o para la clasificación— ofrezcan un alto rendimiento, garantizas que los vectores resultantes proporcionen resultados de búsqueda precisos y relevantes.









