Udostępnij za pośrednictwem


Wyszukiwanie wektorowe w usłudze Azure Cosmos DB

Wyszukiwanie wektorowe to metoda, która ułatwia znajdowanie podobnych elementów na podstawie ich cech danych, a nie dokładnych dopasowań w polu właściwości. Ta technika jest przydatna w aplikacjach, takich jak wyszukiwanie podobnego tekstu, znajdowanie powiązanych obrazów, tworzenie zaleceń, a nawet wykrywanie anomalii. Działa to przez pobranie wektorów osadzania danych i zapytania, a następnie zmierzenie odległości między wektorami danych a wektorem zapytania. Wektory danych, które znajdują się najbliżej wektora zapytania, to te, które są najbardziej podobne semantycznie.

Przykłady

Ta interaktywna wizualizacja przedstawia kilka przykładów zbliżenia i odległości między wektorami.

Algorytmy

Dwa główne typy algorytmów wyszukiwania wektorów to k najbliższych sąsiadów (kNN) i przybliżony najbliższy sąsiad (ANN). Między kNN i ANN, ten ostatni zapewnia równowagę między dokładnością i wydajnością, dzięki czemu lepiej nadaje się do aplikacji na dużą skalę. Niektóre dobrze znane algorytmy ANN to Inverted File (IVF), Hierarchical Navigable Small World (HNSW) i state-of-the-art DiskANN.

Korzystanie ze zintegrowanej funkcji wyszukiwania wektorów w w pełni funkcjonalnej bazy danych (w przeciwieństwie do czystej bazy danych wektorów) oferuje wydajny sposób przechowywania, indeksowania i wyszukiwania danych wektorów o wysokim wymiarach bezpośrednio obok innych danych aplikacji. Takie podejście eliminuje konieczność migracji danych do bardziej kosztownych alternatywnych baz danych wektorów i zapewnia bezproblemową integrację aplikacji opartych na sztucznej inteligencji.