Vector Search
Esplora 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 elementi simili all'interno di un set di dati in base alle loro caratteristiche matematiche, anziché a corrispondenze esatte di parole chiave. A differenza della tradizionale ricerca per parole chiave, che si basa sulla ricerca di stringhe di caratteri specifiche, 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.
Link to this sectionCome funziona la ricerca vettoriale#
Il fulcro della ricerca vettoriale prevede la trasformazione dei dati grezzi in vettori numerici ad alta dimensionalità noti come embeddings. Questo processo mappa gli elementi in punti all'interno di uno spazio multidimensionale, dove gli elementi concettualmente simili si trovano vicini l'uno all'altro.
-
Vettorializzazione: Un modello di deep learning (DL) elabora i dati in input, ad esempio l'immagine di un cane, e restituisce un vettore di caratteristiche. Modelli avanzati come YOLO26 vengono spesso utilizzati per generare queste ricche rappresentazioni di caratteristiche in modo efficiente.
-
Indicizzazione: Per eseguire le ricerche rapidamente, questi vettori vengono organizzati utilizzando algoritmi specializzati, spesso archiviati in un database vettoriale dedicato.
-
Calcolo della similarità: Quando invii una query, il sistema converte tale query in un vettore e misura la distanza dai vettori archiviati utilizzando metriche come la similarità del coseno o la distanza euclidea.
-
Recupero: Il sistema restituisce i "vicini più prossimi", che rappresentano i risultati contestualmente più rilevanti.
Link to this sectionEsempio in Python: Generazione di embeddings#
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 embeddings da un'immagine utilizzando il pacchetto ultralytics e un modello YOLO26 pre-addestrato.
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 sectionApplicazioni nel mondo reale#
La ricerca vettoriale è il motore dietro molte funzionalità intuitive nel panorama software odierno, colmando il divario tra computer vision (CV) e intento dell'utente.
- Sistemi di raccomandazione visiva: Nel settore dell'AI nel retail, la ricerca vettoriale alimenta le funzionalità di "shop the look". Se a un cliente piace una borsa specifica, il sistema trova elementi con vettori visivi simili, abbinando forma, consistenza e stile, creando un sistema di raccomandazione personalizzato.
- Retrieval-Augmented Generation (RAG): Per migliorare i Large Language Models (LLMs), gli sviluppatori utilizzano la ricerca vettoriale per recuperare documenti pertinenti da una base di conoscenza. Questo fornisce contesto all'AI, riducendo le allucinazioni e migliorando l'accuratezza nelle interazioni via chatbot.
- Rilevamento delle anomalie: Raggruppando vettori di operazioni "normali", i sistemi possono identificare outlier che si discostano significativamente dal cluster. Questo è fondamentale per il rilevamento delle anomalie nel controllo qualità manifatturiero e nella sicurezza dei dati.
Link to this sectionDistinguere concetti correlati#
È utile differenziare la ricerca vettoriale da termini simili per comprendere appieno l'intera pipeline di machine learning (ML).
- Ricerca vettoriale vs. Ricerca semantica: La ricerca semantica è l'applicazione più ampia orientata alla comprensione dell'intento dell'utente (il "cosa"). La ricerca vettoriale è il metodo algoritmico specifico utilizzato per raggiungere questo obiettivo calcolando la prossimità vettoriale (il "come").
- Ricerca vettoriale vs. Database vettoriale: Un database vettoriale è l'infrastruttura progettata per archiviare e gestire embeddings 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 differiscono.
Link to this sectionIntegrazione con la Piattaforma Ultralytics#
Per i team che creano sistemi di ricerca per similarità, gestire i dataset e addestrare modelli di embedding è un primo passo cruciale. La Piattaforma Ultralytics semplifica questo flusso di lavoro fornendo strumenti per la gestione dei dati, l'addestramento in cloud e il deployment dei modelli. Assicurandoti che i tuoi modelli di base, che siano per rilevamento oggetti o classificazione, siano ad alte prestazioni, garantisci che i vettori risultanti forniscano risultati di ricerca accurati e significativi.






