Auf dieser Seite wird die Vektorsuche und ihre Funktionsweise in Spanner beschrieben.
Die Vektorsuche ist eine leistungsstarke, integrierte Funktion, die semantische Suche und Ähnlichkeitsabgleich für hochdimensionale Vektordaten ermöglicht. Durch das Speichern und Indexieren von Vektoreinbettungen direkt in Ihrer transaktionalen Datenbank macht Spanner separate Vektordatenbanken und komplexe ETL-Pipelines überflüssig.
Wichtige Konzepte
In diesem Abschnitt werden die folgenden wichtigen Konzepte der Vektorsuche vorgestellt:
- Vektoreinbettungen
- Suchmethoden (KNN und ANN)
- Distanzfunktionen
Vektoreinbettungen
Vektoreinbettungen sind hochdimensionale numerische Darstellungen unstrukturierter Daten. Sie werden aus den unstrukturierten Daten mithilfe von Modellen für maschinelles Lernen generiert. Sie können beispielsweise die Text-Einbettungs-API der Gemini Enterprise Agent Platform verwenden, um Texteinbettungen für in Spanner gespeicherte Daten zu generieren, zu speichern und zu aktualisieren.
Suchmethoden
Spanner unterstützt zwei Methoden zum Suchen ähnlicher Vektoren:
K-Nearest Neighbors (KNN): Führt eine exakte Suche durch, indem die Distanz zwischen der Anfrage und jedem Vektor im Dataset berechnet wird. Sie bietet einen genaueren Recall, ist aber für umfangreiche Datasets rechenintensiv.
Approximate Nearest Neighbor (ANN): Diese Methode verwendet einen Vektorindex (basierend auf dem ScaNN-Algorithmus von Google), um schnell Übereinstimmungen in einer großen Anzahl von Vektoren zu finden. Dabei wird ein geringer Verlust an Genauigkeit (Recall) in Kauf genommen, um die Geschwindigkeit und Skalierbarkeit zu verbessern.
Hauptmerkmale
Skalierbarkeit: Unterstützt Milliarden von Vektoren für die nicht partitionierte ANN-Suche oder Billionen von Vektoren für partitionierte KNN-Arbeitslasten.
Einheitliche KI-Datenbank und ‑Engine: Mit der Funktion GoogleSQL
ML.PREDICToder PostgreSQLspanner.ML_PREDICT_ROWkönnen Sie direkt in Ihrem Abfragefluss Einbettungen aus Agent Platform-Modellen generieren.Inline-Filterung: Kombinieren Sie die Vektorsuche effizient mit Filtern für strukturierte Metadaten (z. B. „Ähnliche Bilder finden, bei denen category = ‚shoes‘ und price < 100“), ohne die Leistung zu beeinträchtigen.
LangChain-Integration: Die integrierte Unterstützung für LangChain ermöglicht es Ihnen, RAG-Anwendungen (Retrieval-Augmented Generation) zu erstellen, bei denen Spanner als Vektorspeicher verwendet wird.
Funktionen für die Hybridsuche
Die Vektorsuche ist am leistungsstärksten, wenn sie mit den anderen Datenfunktionen von Spanner kombiniert wird:
| Kombination | Vorteil |
|---|---|
| Vektorsuche mit SQL-Filterung | Vektorsuche effizient mit Filtern kombinieren (z. B. „Ähnliche Bilder finden, bei denen category = ‚shoes‘ und price < 100“). |
| Vektorsuche + Volltextsuche | Kombinieren Sie semantische Ähnlichkeit mit der Präzision von Keywords mithilfe von Reciprocal Rank Fusion (RRF), um eine höhere Suchrelevanz zu erzielen. |
| Vektor + Graph | Mit der Vektorsuche können Sie relevante Einstiegspunkte (Knoten) in einem Property Graph finden und dann komplexe Beziehungen durchlaufen. |
Nächste Schritte
- Weitere Informationen zu Spanner AI
- Weitere Informationen zum Abrufen von Texteinbettungen für die Agent Platform
- Weitere Informationen zum Ausführen von KNN-Suchanfragen
- Weitere Informationen zum Ausführen von ANN-Suchanfragen