Einbettungen aus Spanner in Vertex AI Vector Search exportieren

Mit Vertex AI Vector Search können Nutzer mithilfe von Vektoreinbettungen nach semantisch ähnlichen Elementen suchen. Mit dem Workflow für Spanner To Vertex AI Vector Search können Sie Ihre Spanner-Datenbank in Vector Search einbinden, um eine Suche nach Vektorähnlichkeiten für Ihre Spanner-Daten durchzuführen.

Das folgende Diagramm zeigt den End-to-End-Anwendungsworkflow, mit dem Sie die Vektorsuche für Ihre Spanner-Daten aktivieren und verwenden können:

Workflow von Spanner zur Vektorsuche

Dies ist der allgemeine Workflow:

  1. Vektoreinbettungen generieren und speichern

    Sie können Vektoreinbettungen Ihrer Daten generieren und diese dann in Spanner mit Ihren Betriebsdaten speichern und verwalten. Sie können Einbettungen mit der SQL-Funktion ML.PREDICT von Spanner generieren, um auf das textembedding-gecko-Modell von Vertex AI zuzugreifen oder andere in Vertex AI bereitgestellte Einbettungsmodelle zu verwenden.

  2. Einbettungen mit der Vektorsuche synchronisieren

    Verwenden Sie den Spanner To Vertex AI Vector Search-Workflow, der mithilfe von Workflows bereitgestellt wird, um Einbettungen in einen Vector Search-Index zu exportieren und hochzuladen. Mit Cloud Scheduler können Sie diesen Workflow regelmäßig planen, damit Ihr Vector Search-Index mit den neuesten Änderungen an den Einbettungen in Spanner auf dem neuesten Stand bleibt.

  3. Führen Sie mithilfe des Index der Vektorsuche eine Vektorähnlichkeitssuche durch.

    Fragen Sie den Vektorsuchindex ab, um nach semantisch ähnlichen Elementen zu suchen. Sie können Abfragen über einen öffentlichen Endpunkt oder über VPC-Peering ausführen.

Anwendungsbeispiel

Ein anschaulicher Anwendungsfall für die Vektorsuche ist ein Onlinehändler, der ein Inventar von Hunderttausenden von Artikeln hat. In diesem Szenario sind Sie Entwickler für einen Onlinehändler und möchten in Ihrem Spanner-Produktkatalog die Vektorähnlichkeitssuche verwenden, um Kunden dabei zu helfen, anhand ihrer Suchanfragen relevante Produkte zu finden.

Führen Sie Schritt 1 und Schritt 2 im allgemeinen Workflow aus, um Vektoreinbettungen für Ihren Produktkatalog zu generieren, und synchronisieren Sie diese Einbettungen mit der Vektorsuche.

Stellen Sie sich nun vor, ein Kunde, der Ihre Anwendung durchsucht, führt eine Suche wie „beste, schnell trocknende Sportshorts, die ich im Wasser tragen kann“ durch. Wenn Ihre Anwendung diese Abfrage empfängt, müssen Sie mit der Spanner-SQL-Funktion ML.PREDICT eine Anfrageeinbettung für diese Suchanfrage generieren. Verwenden Sie dasselbe Einbettungsmodell, mit dem auch die Einbettungen für Ihren Produktkatalog generiert wurden.

Fragen Sie als Nächstes den Vector Search-Index nach Produkt-IDs ab, deren zugehörige Einbettungen der Anfrageeinbettung ähneln, die aus der Suchanfrage Ihres Kunden generiert wurde. Im Suchindex können Produkt-IDs für semantisch ähnliche Artikel wie Wakeboarding-Shorts, Surfbekleidung und Badehosen empfohlen werden.

Nachdem die Vektorsuche diese ähnlichen Produkt-IDs zurückgegeben hat, können Sie Spanner nach den Produktbeschreibungen, der Inventaranzahl, dem Preis und anderen relevanten Metadaten abfragen und sie Ihrem Kunden anzeigen lassen.

Sie können auch Generative AI verwenden, um die aus Spanner zurückgegebenen Ergebnisse zu verarbeiten, bevor sie Ihrem Kunden angezeigt werden. Sie können beispielsweise die großen generativen KI-Modelle von Google verwenden, um eine prägnante Zusammenfassung der empfohlenen Produkte zu generieren. Weitere Informationen finden Sie in dieser Anleitung zur Verwendung von generativer KI, um personalisierte Empfehlungen in einer E-Commerce-Anwendung zu erhalten.

Nächste Schritte