Vektorindex auswählen

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite werden die Strategien für die Vektorsuche in AlloyDB AI beschrieben und es wird erläutert, wann die einzelnen Strategien verwendet werden sollten. Standardmäßig verwendet AlloyDB die Suche nach k-nächsten Nachbarn (k-Nearest Neighbors, KNN), um Vektoren zu finden, die einer Anfrage ähneln. Vektorindizes implementieren eine Suchstrategie namens Approximate Nearest Neighbor (ANN). Wenn Sie einen Vektorindex erstellen, verwendet AlloyDB AI ANN, was eine bessere Leistung als KNN bietet. Wenn Sie einen Vektorindex auswählen, müssen Sie ein Gleichgewicht zwischen Abfragelatenz und Erinnerung finden.

Mit Recall wird gemessen, wie effektiv bei einer Suche alle relevanten Elemente für eine bestimmte Anfrage abgerufen werden. Angenommen, Sie haben 100 Einbettungen, die jeweils eine Entität in Ihrer Datenbank darstellen. Sie fragen Ihre Einbettungen mit einem Zielvektor ab und begrenzen die Ergebnisse auf 10. Bei einer KNN-Vektorsuche werden die 10 genauesten Vektoren mithilfe einer Brute-Force-Berechnungsmethode gefunden, was zu einem Recall von 100% führt. AlloyDB AI verwendet diese Methode standardmäßig, wenn kein Vektorsuchindex erstellt oder ausgewählt wurde. Wenn Sie einen Vektorindex in AlloyDB for PostgreSQL erstellen, wird in der Regel ANN verwendet. Dabei werden Vektoren möglicherweise nach Ähnlichkeit partitioniert, um den Abruf zu beschleunigen. Daher sind die 10 Vektoren, die im vorherigen Beispiel zurückgegeben wurden, möglicherweise nicht genau die 10 Vektoren, die die geringste Distanz aufweisen. Wenn nur 8 der 10 abgerufenen Vektoren die nächsten im Raum zu Ihrem Anfragevektor sind, beträgt der Recall 80%.

Die Abfragelatenz gibt an, wie schnell die Suchergebnisse generiert werden. Die Latenz wird beispielsweise anhand der Zeit berechnet, die für eine Suche benötigt wird, um die Vektoren zurückzugeben, nachdem Sie eine Anfrage gesendet haben.

Suchstrategie auswählen

Wenn Sie die Vektorsuche in AlloyDB ausführen, haben Sie die folgenden Suchstrategien zur Auswahl:

Suchstrategie Beschreibung Anwendungsbereiche
K-Nearest Neighbors (KNN) Ein Algorithmus, der die k nächsten Nachbardatenpunkte für einen bestimmten Abfrage-Datenpunkt findet. Wenn Sie eine Vektorsuche ohne Indexerstellung durchführen, wird standardmäßig eine KNN-Suche ausgeführt.
  • Ihre Anwendung reagiert sehr empfindlich auf Genauigkeit und Sie benötigen die exakten engsten Übereinstimmungen.
  • Sie haben weniger als 100.000 Vektoren.
Approximate Nearest Neighbors (ANN) Ein Algorithmus, der die ungefähr nächstgelegenen Datenpunkte findet. Bei ANN werden vorhandene Kundendatenpunkte anhand von Ähnlichkeiten in kleine Gruppen unterteilt.
  • Ihre Anwendung erfordert eine niedrige Latenz.
  • Sie haben mehr als 100.000 Vektoren.

Google empfiehlt, einen Vektorindex zu erstellen, um die Leistung Ihrer Vektorsuche-Abfragen zu optimieren. Weitere Informationen zur Verwendung des ANN-Index für Ähnlichkeitssuchen finden Sie unter Indizes erstellen und Vektoren mit ScaNN abfragen.

Nächste Schritte