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 in VECTOR_SEARCH. Diese Regeln gelten nicht für die Generierung von Vektorindexen.

Nächste Schritte