Vektorindex in AlloyDB AI auswählen

Auf dieser Seite werden die Strategien für die AlloyDB-KI-Vektorsuche beschrieben und erläutert, wann die einzelnen Strategien verwendet werden sollten. Standardmäßig verwendet AlloyDB die Suche nach dem nächsten Nachbarn (KNN), um Vektoren zu finden, die einer Abfrage ähneln. Vektorindizes implementieren eine Suchstrategie namens „Approximate Nearest Neighbor“ (ANN). Wenn Sie einen Vektorindex erstellen, verwendet die AlloyDB-KI eine ANN, die eine bessere Leistung als KNN bietet. Beachten Sie, dass Sie bei der Auswahl eines Vektorindexes die Abfragelatenz und den Abruf in Einklang bringen müssen.

Die Trefferquote gibt an, wie effektiv bei einer Suche alle relevanten Elemente für eine bestimmte Suchanfrage abgerufen werden. Angenommen, Sie haben 100 Embeddings, die jeweils eine Entität in Ihrer Datenbank repräsentieren. Sie fragen Ihre Einbettungen mit einem Zielvektor ab und begrenzen die Ergebnisse auf 10. Bei einer KNN-Vektorsuche werden die zehn genauen nächsten Vektoren mithilfe einer Brute-Force-Berechnungsmethode ermittelt, was zu einem Recall von 100% führt. AlloyDB AI verwendet diese Methode standardmäßig, wenn kein Index für die Vektorsuche erstellt oder ausgewählt wurde. Wenn Sie einen Vektorindex in AlloyDB for PostgreSQL erstellen, wird in der Regel eine ANN verwendet, die Vektoren nach Ähnlichkeit partitionieren kann, um ein schnelleres Abrufen zu ermöglichen. Daher sind die 10 Vektoren, die im vorherigen Beispiel zurückgegeben wurden, bei Verwendung von ANN möglicherweise nicht genau die 10 Vektoren, die am nächsten sind. Wenn nur 8 der 10 abgerufenen Vektoren dem Abfragevektor am nächsten sind, beträgt der Recall 80%.

Die Suchanfragelatenz gibt an, wie schnell die Suchergebnisse generiert werden. Die Latenz wird beispielsweise anhand der Zeit berechnet, die für die Suche benötigt wird, um die Vektoren nach dem Einreichen einer Abfrage zurückzugeben.

Suchstrategie auswählen

Wenn Sie eine Vektorsuche in AlloyDB ausführen, wählen Sie eine der folgenden Suchstrategien aus:

Suchstrategie Beschreibung Anwendungsbereiche
K-Nearest Neighbors (KNN) Ein Algorithmus, der die k nächstgelegenen Datenpunkte zu einem bestimmten Abfragedatenpunkt ermittelt. Wenn Sie eine Vektorsuche ausführen, ohne einen Index zu erstellen, wird standardmäßig eine KNN-Suche durchgeführt.
  • Ihre Anwendung ist sehr genau und Sie benötigen die genaueste Übereinstimmung.
  • Sie haben weniger als 100.000 Vektoren.
Approximate Nearest Neighbor (ANN) Ein Algorithmus, der ungefähr die nächsten Datenpunkte findet. ANN teilt vorhandene Kundendatenpunkte basierend auf Ähnlichkeiten in kleine Gruppen auf.
  • Für Ihre Anwendung ist eine geringe Latenz erforderlich.
  • Sie haben mehr als 100.000 Vektoren.

Google empfiehlt, einen Vektorindex zu erstellen, um die Leistung Ihrer Vektorsuchanfragen zu optimieren. Weitere Informationen dazu, wie der ANN-Index für Ähnlichkeitssuchen verwendet wird, finden Sie unter Indexe erstellen und Vektoren mit ScaNN abfragen.

Nächste Schritte