Dynamische Suche

Die moderne E-Commerce-Suchleiste ist viel mehr als nur ein Eingabefeld. Es handelt sich um einen interaktiven, dynamischen Assistenten, der Ihre Nutzer zu den richtigen Produkten führt, bevor sie überhaupt mit der Eingabe von Text fertig sind. Diese Funktion, bei der Suchvorschläge, beliebte Marken, relevante Kategorien und sogar Top-Produktergebnisse in Echtzeit angezeigt werden, steigert das Nutzer-Engagement und erhöht die Conversion-Wahrscheinlichkeit.

Vertex AI Search for Commerce bietet zwar separate APIs für die automatische Vervollständigung von Anfragen und die Produktsuche, lässt die endgültige Implementierung einer SAYE-Benutzeroberfläche jedoch bewusst offen.

In diesem Leitfaden zum Erstellen mit Vertex AI Search for Commerce werden zwei primäre Designmuster für die Implementierung eines robusten SAYE-Widgets mit den Vertex AI Search for Commerce APIs untersucht. Außerdem werden die jeweiligen Vor- und Nachteile beschrieben.

Kernkomponenten

Um eine umfassende SAYE-Funktion zu entwickeln, müssen Sie die beiden grundlegenden APIs von Vertex AI Search for Commerce kennen:

  1. CompleteQuery API: Diese API ist die Grundlage für Ihre Vorschläge zur automatischen Vervollständigung.

    • Funktion: Für einen bestimmten Eingabestring wie lipst wird eine Liste mit Vorschlägen für die Vervollständigung der Suchanfrage zurückgegeben, darunter lipstick und lip gloss, beliebte Marken und relevante Kategorien.
    • Kosten: Diese API ist in der Preisgestaltung für das Vertex AI Search for Commerce-Paket enthalten.
    • Leistung: Die API ist auf hohen Durchsatz ausgelegt und bietet die schnellen Antworten mit niedriger Latenz, die für die Eingabe von Zeichen für Zeichen erforderlich sind. Dabei werden Funktionen für automatisches Lernen genutzt, darunter Rechtschreibkorrektur und Vorschläge, die auf die täglichen Suchvorgänge in Ihrem Shop abgestimmt sind.
  2. Search API:Dies ist Ihre zentrale Engine für die Produktfindung.

    • Funktion:Gibt für eine bestimmte Anfrage eine sortierte Liste relevanter Produktergebnisse zurück.
    • Kosten:Diese API ist kostenpflichtig und ihre Nutzung wirkt sich direkt auf Ihre Betriebskosten aus.
    • Ereignisse: Für das Modelltraining und die Analyse sollte jeder Search-API-Aufruf idealerweise mit einem Suchereignis verknüpft werden, um das Nutzerverhalten zu erfassen und die Relevanzmodelle im Laufe der Zeit zu verbessern.

Um die SAYE-Funktion zu erstellen, müssen Sie eine Wrapper-API oder Frontend-Logik schreiben, die beide APIs aufruft und ihre Ergebnisse in einer einzigen, zusammenhängenden Benutzeroberfläche kombiniert.

Implementierungsmuster 1: Direkter, aber kostspieliger Ansatz

Dies ist die einfachste Methode. Bei jedem Tastendruck werden parallele Aufrufe an die APIs CompleteQuery und Search ausgeführt.

Flow

Der Ablauf folgt diesem sequenziellen Pfad:

  1. Ein Nutzer gibt ein Zeichen ein, z. B. l.
  2. Ihre Anwendung sendet l an die CompleteQuery API.
  3. Gleichzeitig sendet Ihre Anwendung l an die Search API.
  4. Die Ergebnisse werden kombiniert und angezeigt.
  5. Der Nutzer gibt ein weiteres Zeichen ein (l), sodass die Anfrage li lautet.
  6. Der Vorgang wird für die neue Abfrage li. wiederholt.

Vorteile

Zu den Vorteilen gehören die schnelle Implementierung, mit der Sie das Log schnell schreiben und bereitstellen können.

Nachteile

  • Hohes Search-API-Volumen: Bei diesem Ansatz steigt die Anzahl der Search-API-Aufrufe drastisch. Eine Anfrage wie Lippenstift würde acht separate Suchanfragen auslösen, was zu einer erheblichen Steigerung des Volumens führen würde.
  • Höhere Kosten: Da die Search API ein kostenpflichtiger Dienst ist, führt dieses hohe Volumen direkt zu höheren Betriebskosten, was es schwierig macht, einen positiven Return on Investment (ROI) zu erzielen.
  • Komplexität der Ereignisverwaltung: Jeder Search-API-Aufruf sollte mit einem entsprechenden Suchereignis protokolliert werden, um das Modell genau zu trainieren und zu analysieren. Aufgrund der großen Anzahl von Aufrufen ist es schwierig, dafür zu sorgen, dass jedes Ereignis erfasst wird. Das kann zu Datenverlust und verzerrten Analysen führen.
  • Möglicherweise Ergebnisse von geringerer Qualität: Bei Suchanfragen mit ein oder zwei Zeichen, z. B. l, li, können verrauschte oder zu breit gefasste Ergebnisse zurückgegeben werden, was zu einer weniger relevanten ersten Erfahrung führt.

Dieses Muster optimiert Kosten, Leistung und Relevanz, indem es die CompleteQuery API verwendet, um intelligent zu entscheiden, wann die Search API aufgerufen werden soll.

Flow

Der Ablauf folgt diesem sequenziellen Pfad:

  1. Ein Nutzer gibt eine teilweise Textanfrage ein, z. B. Lippe.
  2. Ihre Anwendung sendet lip an die CompleteQuery API.
  3. Die API gibt eine Liste mit Vorschlägen zurück, wobei Lippenstift wahrscheinlich das erste Ergebnis ist.
  4. Ihre Anwendung verwendet den ersten Vorschlag (lipstick) und führt damit einen einzelnen Aufruf der Search API aus.
  5. Die Vorschläge für die automatische Vervollständigung und die Produktergebnisse für Lippenstift werden angezeigt.
  6. Wenn der Nutzer lips, lipst, ... eingibt, können Sie Logik hinzufügen, um nur dann einen neuen Suchaufruf zu starten, wenn sich der erste Vorschlag zur automatischen Vervollständigung ändert.

Vorteile

  • Erhebliche Kostensenkung: Durch die drastische Reduzierung der Anzahl der Search API-Aufrufe werden die Kosten im Rahmen gehalten.
  • Kontrolliertes API- und Ereignisvolumen: API- und Ereignisvolumen sind überschaubar und vorhersehbar. So lassen sich zuverlässigere Daten für das Modelltraining und die Analyse bereitstellen.
  • Höhere Relevanz: Sie suchen nach vollständigeren und wahrscheinlicheren Begriffen, was zu hochwertigeren Produktergebnissen im SAYE-Widget führt.
  • Höherer ROI: Geringere Kosten und eine bessere Nutzererfahrung tragen zu einem höheren Return on Investment bei.

Umgang mit Grenz- und Sonderfällen

Dieser Ansatz ist besser, erfordert aber die Behandlung einiger Grenzfälle:

  • Keine Vorschläge: Wenn die CompleteQuery API keine Vorschläge zurückgibt, sollte Ihre Logik auf den Aufruf der Search API mit der Rohdateneingabe des Nutzers zurückgreifen.
  • Teilweise Suchanfrage im Vergleich zur vorgeschlagenen Suchanfrage: In seltenen Fällen möchte ein Nutzer möglicherweise Ergebnisse für einen Teilbegriff wie Auge anstelle des Top-Vorschlags Lidschatten sehen. Das ist zwar ein kleiner Kompromiss, aber beim optimierten Ansatz wird die wahrscheinlichste Nutzerabsicht priorisiert.

Erfolg mit Test-IDs messen

Unabhängig von der von Ihnen gewählten Implementierung ist es wichtig, die Leistung Ihres SAYE-Widgets unabhängig von Ihrer Hauptseite mit Suchergebnissen zu messen. Wenn Sie für beide dieselbe Analyse verwenden, können Sie nicht feststellen, ob die SAYE-Funktion die Klickraten und Conversions wirklich verbessert.

Um die Klickrate und die Konversationsrate des SAYE-Widgets zu messen, müssen Sie in Ihren Suchereignissen separate experimentIds verwenden, um diese Messwerte von denen der Hauptsuchereignisse zu unterscheiden.

  • SAYE-Ereignisse: Weisen Sie allen Suchereignissen, die von der Funktion „Suchvorschläge während der Eingabe“ stammen, eine bestimmte ID zu, z. B. "experimentId": "saye-widget".
  • Hauptsuchereignisse: Verwenden Sie eine andere ID (oder keine ID) für Suchanfragen, die ausgelöst werden, wenn ein Nutzer die Eingabetaste drückt oder auf Suchen klickt, um zur Hauptsuchergebnisseite zu gelangen.

Wenn Sie Ihre Ereignisse auf diese Weise segmentieren, können Sie die Analysedashboards in der Vertex AI-Konsole verwenden, um die Leistung Ihres SAYE-Widgets mit der Standardsuche zu vergleichen und zu filtern. So erhalten Sie klare, umsetzbare Statistiken.

Fazit

Vertex AI Search for Commerce bietet die Komponenten zum Erstellen einer Suchfunktion, die während der Eingabe Vorschläge macht. Als Architekt, der die Interaktion zwischen den APIs CompleteQuery und Search entwirft, können Sie eine Suchfunktion entwickeln, die die Brücke zwischen Nutzerfreundlichkeit und Leistung schlägt. Bei den meisten Anwendungsfällen bietet der optimierte Ansatz eine nutzerrelevante Erfahrung und vermeidet rechenintensive Vorgänge.