Vector Search
Scopri come la ricerca vettoriale utilizza gli embedding per trovare dati simili. Impara a generare vettori di alta qualità con Ultralytics YOLO26 per un recupero preciso delle informazioni.
La ricerca vettoriale è un metodo sofisticato di recupero delle informazioni che identifica gli elementi simili all'interno di un dataset in base alle loro caratteristiche matematiche, anziché alle corrispondenze esatte delle parole chiave. A differenza della tradizionale ricerca per parole chiave, che si basa sulla ricerca di specifiche stringhe di caratteri, la ricerca vettoriale analizza il significato semantico sottostante dei dati. Questa tecnica è fondamentale per le moderne applicazioni di intelligenza artificiale (AI), perché consente ai computer di comprendere le relazioni tra concetti astratti, elaborando dati non strutturati come immagini, file audio e testo in linguaggio naturale con notevole precisione.
Come funziona la ricerca vettoriale#
Il nucleo della ricerca vettoriale consiste nel trasformare i dati grezzi in vettori numerici ad alta dimensionalità, noti come embedding. Questo processo mappa gli elementi in punti di uno spazio multidimensionale, dove gli elementi concettualmente simili si trovano vicini tra loro.
-
Vettorizzazione: un modello di apprendimento profondo (DL) elabora i dati di input, ad esempio l'immagine di un cane, e restituisce un vettore delle caratteristiche. Modelli avanzati come YOLO26 vengono spesso utilizzati per generare in modo efficiente queste ricche rappresentazioni delle caratteristiche.
-
Indicizzazione: per eseguire le ricerche rapidamente, questi vettori vengono organizzati utilizzando algoritmi specializzati e spesso archiviati in un database vettoriale dedicato.
-
Calcolo della similarità: quando un utente invia una query, il sistema converte la query in un vettore e misura la distanza rispetto ai vettori archiviati utilizzando metriche come la similarità coseno o la distanza euclidea.
-
Recupero: il sistema restituisce i "vicini più prossimi", che rappresentano i risultati più rilevanti dal punto di vista contestuale.
Esempio in Python: generazione di embedding#
Per implementare la ricerca vettoriale, devi prima convertire i tuoi dati in vettori. Il seguente frammento di codice mostra come generare mappe delle caratteristiche ed embedding da un'immagine utilizzando il pacchetto ultralytics e un modello YOLO26 preaddestrato.
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}")Applicazioni nel mondo reale#
La ricerca vettoriale è il motore alla base di molte funzionalità intuitive dell'attuale ecosistema software e colma il divario tra visione artificiale (CV) e intento dell'utente.
- Sistemi di raccomandazione visiva: nel settore dell'AI nel commercio al dettaglio, la ricerca vettoriale alimenta le funzionalità "acquista il look". Se a un cliente piace una specifica borsa, il sistema trova articoli con vettori visivi simili, abbinando forma, texture e stile, e crea un sistema di raccomandazione personalizzato.
- Generazione aumentata dal recupero (RAG): per migliorare i modelli linguistici di grandi dimensioni (LLMs), gli sviluppatori utilizzano la ricerca vettoriale per recuperare documenti pertinenti da una knowledge base. Ciò fornisce contesto all'AI, riducendo le allucinazioni e migliorando la precisione nelle interazioni con i chatbot.
- Rilevamento delle anomalie: raggruppando i vettori delle operazioni "normali", i sistemi possono identificare gli elementi anomali che si allontanano notevolmente dal cluster. Questo è fondamentale per il rilevamento delle anomalie nel controllo qualità della produzione e per la sicurezza dei dati.
Distinzione tra concetti correlati#
Per comprendere appieno la pipeline di apprendimento automatico (ML), è utile distinguere la ricerca vettoriale dai termini simili.
- Ricerca vettoriale vs. ricerca semantica: la ricerca semantica è l'applicazione più ampia della comprensione dell'intento dell'utente (il "cosa"). La ricerca vettoriale è lo specifico metodo algoritmico utilizzato per raggiungere questo obiettivo calcolando la prossimità tra vettori (il "come").
- Ricerca vettoriale vs. database vettoriale: un database vettoriale è l'infrastruttura progettata per archiviare e gestire gli embedding su larga scala. La ricerca vettoriale è il processo di interrogazione di quel database per recuperare informazioni.
- Ricerca vettoriale vs. ricerca per parole chiave: la ricerca per parole chiave abbina stringhe di testo esatte (ad esempio, "mela" corrisponde a "mela"). La ricerca vettoriale abbina il significato, quindi "mela" potrebbe corrispondere a "frutto" o "rosso", anche se le parole sono diverse.
Integrazione con la piattaforma Ultralytics#
Per i team che sviluppano sistemi di ricerca per similarità, la gestione dei dataset e l'addestramento dei modelli di embedding rappresentano un primo passaggio fondamentale. La piattaforma Ultralytics semplifica questo flusso di lavoro fornendo strumenti per la gestione dei dati, l'addestramento nel cloud e la distribuzione dei modelli. Assicurandoti che i tuoi modelli di base, sia per il rilevamento degli oggetti sia per la classificazione, offrano prestazioni elevate, garantisci che i vettori risultanti forniscano risultati di ricerca accurati e significativi.









