Einführung in die Vektorsuche
Dieses Dokument bietet einen Überblick über die Vektorsuche in BigQuery. Mit der Vektorsuche können Sie in Einbettungen nach semantisch ähnlichen Entitäten suchen.
Einbettungen sind hochdimensionale numerische Vektoren, die eine bestimmte Entität darstellen, z. B. einen Text oder eine Audiodatei. Bei Modellen für maschinelles Lernen (ML) werden Entitäten mithilfe von Einbettungen (Embeddings) codiert, um die Argumentation und den Vergleich zu erleichtern. Ein gängiger Vorgang bei Clustering-, Klassifizierungs- und Empfehlungsmodellen ist beispielsweise die Messung der Entfernung zwischen Vektoren in einem Embedding-Space, um die semantisch ähnlichsten Elemente zu finden.
Für eine Vektorsuche verwenden Sie die Funktion VECTOR_SEARCH
und optional einen Vektorindex. Bei Verwendung eines Vektorindex nutzt VECTOR_SEARCH
die Suchmethode Annäherung an den nächsten Nachbarn, um die Leistung der Vektorsuchleistung zu verbessern, mit dem Kompromiss: Reduzierung der Trefferquote und damit die Rückgabe von ungefähren Ergebnissen. Die Brute-Force-Methode wird verwendet, um genaue Ergebnisse zurückzugeben, wenn kein Vektorindex verfügbar ist. Sie können die Brute-Force-Methode auch verwenden, um genaue Ergebnisse zu erhalten, wenn ein Vektorindex verfügbar ist.
Anwendungsfälle
Die Kombination aus Einbettungsgenerierung und Vektorsuche ermöglicht viele interessante Anwendungsfälle, wobei Retrieval-Augmented Generation (RAG) der kanonische Anwendungsfall ist. Weitere mögliche Anwendungsfälle sind:
- Für eine Reihe neuer Supportanfragen mehrere ähnliche, bereits abgeschlossene Fälle finden Informationen zu den gelösten Fällen an ein Large Language Model (LLM) übergeben, das sie als Kontext verwendet, um Lösungen für die neuen Supportanfragen zusammenzufassen und vorzuschlagen.
- Ermitteln Sie anhand eines Audit-Logeintrags die Einträge mit der besten Übereinstimmung in den letzten 30 Tagen.
- Erstellen Sie Einbettungen aus Patientenprofildaten und verwenden Sie dann die Vektorsuche, um Patienten mit ähnlichen Profilen zu finden, um erfolgreiche Behandlungspläne zu untersuchen, die dieser Patientenkohorte verschrieben wurden.
- Anhand der Einbettungen, die Momente vor dem Unfall von allen Sensoren und Kameras in einer Flotte von Schulbussen darstellen, werden ähnliche Momente von allen anderen Fahrzeugen in der Flotte gefunden, um die Modelle, die die Aktivierung der Sicherheitsfunktionen steuern, weiter zu analysieren, zu optimieren und neu zu trainieren.
- Anhand eines Bildes werden die ähnlichsten Bilder in einer BigQuery-Objekttabelle ermittelt und an ein Modell übergeben, um Untertitel zu generieren.
Preise
Für die CREATE VECTOR INDEX
-Anweisung und die VECTOR_SEARCH
-Funktion gelten die BigQuery-Computing-Preise.
Bei der CREATE VECTOR INDEX
-Anweisung wird bei den verarbeiteten Byte nur die indexierte Spalte berücksichtigt.
Die für den Aufbau und die Aktualisierung Ihrer Vektorindizes erforderliche Verarbeitung ist kostenlos, wenn die Gesamtgröße der indexierten Tabellendaten unter dem Limit pro Organisation liegt. Wenn Sie die Indexierung über dieses Limit hinaus unterstützen möchten, müssen Sie eine eigene Reservierung für die Ausführung der Indexverwaltungsjobs bereitstellen. Für aktive Vektorindexe fallen Speicherkosten an. Die Indexspeichergröße finden Sie in der Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES
.
Wenn der Suchindex noch nicht zu 100% abgedeckt ist, wird Ihnen trotzdem der gesamte in der Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES
gemeldete Indexspeicher in Rechnung gestellt.
Kontingente und Limits
Weitere Informationen finden Sie unter Limits für Vektorindexe.
Beschränkungen
- Abfragen, die die Funktion
VECTOR_SEARCH
enthalten, werden von BigQuery BI Engine nicht beschleunigt. - Die BigQuery-Regeln für Datensicherheit und Governance gelten für die Verwendung von
VECTOR_SEARCH
. Weitere Informationen finden Sie im Abschnitt Einschränkungen inVECTOR_SEARCH
. Diese Regeln gelten nicht für die Generierung von Vektorindexen.
Nächste Schritte
- Weitere Informationen zum Erstellen eines Vektorindex
- In der Anleitung Nach Einbettungen mit Vektorsuche suchen erfahren Sie, wie Sie einen Vektorindex erstellen und dann eine Vektorsuche nach Einbettungen sowohl mit als auch ohne Index durchführen.
In der Anleitung Semantische Suche und Retrieval Augmented Generation durchführen erfahren Sie, wie Sie die folgenden Aufgaben ausführen:
- Texteinbettungen generieren
- Erstellen Sie einen Vektorindex für die Einbettungen.
- Durch Vektorsuche mit den Einbettungen nach ähnlichem Text suchen
- Führen Sie RAG (Retrieval Augmented Generation) durch, indem Sie Vektorsuchergebnisse verwenden, um die Prompt-Eingabe zu erweitern und die Ergebnisse zu verbessern.
Im Tutorial PDFs in einer Retrieval-Augmented-Generation-Pipeline parsen erfahren Sie, wie Sie eine RAG-Pipeline auf der Grundlage von geparsten PDF-Inhalten erstellen.