Ricerca vettoriale in Azure Cosmos DB
La ricerca vettoriale è un metodo che consente di trovare elementi simili in base alle caratteristiche dei dati anziché in base alle corrispondenze esatte in un campo di proprietà. Questa tecnica è utile nelle applicazioni come la ricerca di testi simili o di immagini correlate, la creazione di elementi consigliati o anche il rilevamento di anomalie. Funziona prendendo gli Incorporamenti vettoriali dei dati e delle query e quindi misurando la distanza tra i vettori di dati e il vettore di query. I vettori di dati più vicini al vettore di query sono quelli che risultano più simili dal punto di vista semantico.
Esempi
Questa visualizzazione interattiva mostra alcuni esempi di vicinanza e distanza tra vettori.
Algoritmi
Due tipi principali di algoritmi di ricerca vettoriale sono k-nearest neighbors (kNN) e approximate nearest neighbor (ANN). Tra kNN e ANN, quest'ultimo offre un equilibrio tra accuratezza ed efficienza, rendendolo più adatto ad applicazioni su larga scala. Alcuni algoritmi ANN noti includono IVF (Inverted File), Hierarchical Navigable Small World (HNSW) e DiskANN all'avanguardia.
L'uso di una funzionalità di ricerca vettoriale integrata in un database completo (anziché un database vettoriale puro) offre un modo efficiente per archiviare, indicizzare e cercare dati vettoriali ad alta dimensionalità, in modo diretto e insieme ad altri dati dell'applicazione. Tale approccio elimina la necessità di migrare i dati a database vettoriali alternativi più costosi e offre una perfetta integrazione delle applicazioni basate su IA.
Contenuto correlato
- Che cos'è un database vettoriale?
- Generazione aumentata di recupero (RAG)
- Database vettoriale in Azure Cosmos DB NoSQL
- Database vettoriale in Azure Cosmos DB for MongoDB
- Token di LLM
- Incorporamenti vettoriali
- Funzioni Distance
- kNN e algoritmi di ricerca vettoriale ANN
- Multi-tenancy per ricerca vettoriale