Einführung in die Vektorsuche
Dieses Dokument bietet einen Überblick über die Vektorsuche in BigQuery. Mit der Vektorsuche können Sie in Einbettungen suchen, um semantisch ähnliche Entitäten zu identifizieren.
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 besteht beispielsweise darin, die Entfernung zwischen Vektoren in einem Einbettungsbereich zu messen, um Elemente zu finden, die semantisch am ähnlichsten sind.
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. Brute-Force wird verwendet, um exakte Ergebnisse zurückzugeben, wenn kein Vektorindex verfügbar ist. Sie können Brute-Force verwenden, um genaue Ergebnisse zu erhalten, auch 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.
- Ermitteln Sie anhand eines Bildes die am nächsten zusammenhängenden Bilder in einer BigQuery-Objekttabelle und übergeben Sie diese an ein Modell, um Untertitel zu generieren.
Preise
Für die CREATE VECTOR INDEX
-Anweisung und die VECTOR_SEARCH
-Funktion gelten die BigQuery-Rechenpreise.
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 Vektorindexe erforderliche Verarbeitung ist kostenlos, wenn die Gesamtgröße der indizierten 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 Verarbeitung der Indexverwaltungsjobs bereitstellen. Für Vektorindexe fallen Speicherkosten an, wenn sie aktiv sind. Die Speichergröße des Index 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.
Im Tutorial Texteinbettungen generieren und verwenden 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.