Dies ist die Dokumentation für Recommendations AI, Retail Search und die neue Retail Console. Wenn Sie Retail Search in der eingeschränkten GA-Phase nutzen möchten, wenden Sie sich an den Cloud-Vertrieb.

Wenn Sie Recommendations AI nur verwenden, bleiben Sie in der Recommendations-Konsole und sehen Sie sich die Dokumentation zu Recommendations AI an.

Empfehlungen abrufen

Auf dieser Seite wird beschrieben, wie Sie Empfehlungen für einen bestimmten Nutzer und Nutzerereignis anfordern.

Nachdem Sie Ihre Produkte hochgeladen und Nutzerereignisse aufgezeichnet haben, können Sie Produktempfehlungen für bestimmte Nutzer anfragen, die auf den aufgezeichneten Nutzerereignissen für diesen Nutzer und seiner aktuellen Aktivität basieren.

Vorbereitung

Bevor Sie auf die Retail API zugreifen können, müssen Sie ein Google Cloud-Projekt erstellen und die Authentifizierung einrichten. Gehen Sie dazu wie unter Vorbereitung beschrieben vor.

Bevor Sie Vorhersagen von Recommendations AI anfordern können, benötigen Sie außerdem eine trainierte und fein abgestimmte Empfehlung (Modell) sowie mindestens eine aktive Bereitstellungskonfiguration.

Empfehlungsvorschau

Bevor Sie Ihren Websitecode zum Anfordern von Empfehlungen aktualisieren, können Sie mithilfe der Vorhersagevorschau prüfen, ob Ihre Konfiguration wie erwartet funktioniert.

Sie müssen zuerst eine Bereitstellungskonfiguration für Recommendations AI erstellt haben.

So rufen Sie eine Vorschau der Empfehlungen auf, die von Ihrer Bereitstellungskonfiguration zurückgegeben werden:

  1. Rufen Sie in der Google Cloud Console die Seite „Retail Bewerten“ auf.

    Zur Seite „Bewerten“

  2. Wählen Sie die Bereitstellungskonfiguration aus, die Sie als Vorschau ansehen möchten.

  3. Geben Sie eine Besucher-ID ein, um eine Vorschau der Empfehlungen für diesen Nutzer aufzurufen.

  4. Klicken Sie auf Vorhersagevorschau, um die Vorhersageergebnisse aufzurufen.

Empfehlung abrufen

Weitere Informationen zu den Kosten für Vorhersagen finden Sie unter Preise.

curl

Für eine Empfehlung senden Sie eine POST-Anfrage an die REST-Methode predict und geben Sie dazu den entsprechenden Anfragetext ein:

  • Das von Ihnen verwendete Dienstkonto muss die Rolle „Retail-Betrachter“ oder höher haben.

  • Ersetzen Sie SERVING_CONFIG_ID durch die Bereitstellungskonfiguration, für die Sie die Vorhersagen verwenden. Weitere Informationen

  • Wenn Sie Google Analytics 360-Nutzerereignisse mit BigQuery importiert haben, legen Sie für visitorId die Google Analytics-Client-ID fest. Weitere Informationen zum Abrufen der Client-ID finden Sie in der Google Analytics-Dokumentation.

  • Für einen A/B-Test legen Sie für experimentIds die ID dieser Testgruppe fest. Weitere Informationen

  • Geben Sie ein Nutzerereignis-Objekt für die Nutzeraktion an, die die Empfehlungsanfrage eingeleitet hat.

    Beachten Sie, dass das Nutzereignis nicht aufgezeichnet wird. Es dient lediglich der Bereitstellung von Kontext für die Empfehlungsanfrage. Sie sollten das Nutzerereignis deshalb genauso aufzeichnen, wie Sie andere Nutzerereignisse in der Retail API aufzeichnen.

  • Optional können Sie einen Filter angeben, um die zurückgegebenen Produkte einzugrenzen. Weitere Informationen

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data  '{
          "filter": "FILTER_STRING",
          "validateOnly": false,
          "userEvent": {
              "eventType": "detail-page-view",
              "visitorId": "VISITOR_ID",
              "userInfo": {
                  "userId": "USER_ID",
                  "ipAddress": "IP_ADDRESS",
                  "userAgent": "USER_AGENT"
              },
              "experimentIds": "EXPERIMENT_GROUP",
              "productDetails": [{
                  "product": {
                    "id": "PRODUCT_ID"
                 }
              }]
          }
        }' \
https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/placements/SERVING_CONFIG_ID:predict

Die Ergebnisse sollten in etwa so aussehen:

{
  "results": [{"id": "sample-id-1"}, {"id": "sample-id-2"}],
  "attribution_token": "sample-atr-token"
}

Sie müssen den Wert attribution_token mit einer URL verknüpfen, die Sie als Ergebnis dieser Vorhersage bereitstellen, und ihn mit Nutzerereignissen für diese URLs zurückgeben. Weitere Informationen

Java

public static PredictResponse predictWithNextPageToken(UserEvent userEvent, int pageSize,
    String nextPageToken)
    throws IOException, InterruptedException {
  PredictionServiceClient predictionClient = getPredictionServiceClient();

  PredictRequest request = PredictRequest.newBuilder()
      .setPlacement(HOME_PAGE_PLACEMENT_NAME)
      .setUserEvent(userEvent)
      .setPageSize(pageSize)
      .setPageToken(nextPageToken)
      .setValidateOnly(true)
      .build();

  PredictResponse response = predictionClient.predict(request);

  predictionClient.shutdownNow();
  predictionClient.awaitTermination(2, TimeUnit.SECONDS);

  return response;
}

Preis-Reranking

Beim Preis-Reranking werden die empfohlenen Produkte mit einer ähnlichen Empfehlungswahrscheinlichkeit nach Preis sortiert, wobei die Artikel mit dem höchsten Preis zuerst aufgelistet werden. Die Relevanz wird auch noch für die Bestellung von Artikeln verwendet. Das Aktivieren des Preis-Rerankings entspricht also nicht der Sortierung nach Preis.

Das Preis-Reranking kann auf der Ebene der Bereitstellungskonfiguration oder pro Vorhersageanfrage festgelegt werden.

Wenn Sie beim Erstellen einer Bereitstellungskonfiguration in der Cloud Console eine Einstellung für das Preis-Reranking auswählen, gilt diese Einstellung für alle Empfehlungen, die von dieser Konfiguration bereitgestellt werden, ohne dass Sie etwas tun müssen.

Wenn Sie das Preis-Reranking einer bestimmten Empfehlung festlegen möchten, verwenden Sie dazu die Retail API und das Feld PredictRequest.params. Dadurch wird jede Einstellung für das Reranking auf Konfigurationsebene überschrieben, die andernfalls für diese Empfehlung gelten würde.

Vielfalt der Empfehlungen

Die Diversifizierung beeinflusst, ob die von einer einzelnen Vorhersageanfrage zurückgegebenen Ergebnisse aus verschiedenen Kategorien Ihres Produktkatalogs stammen.

Die Diversifizierung kann auf der Ebene der Bereitstellung oder pro Vorhersageanfrage festgelegt werden.

Wenn Sie beim Erstellen einer Bereitstellungskonfiguration in der Cloud Console eine Diversifizierungseinstellung auswählen, gilt diese Einstellung standardmäßig für alle Empfehlungen, die von dieser Konfiguration bereitgestellt werden, ohne dass Sie etwas unternehmen müssen.

Wenn Sie die Diversifizierung einer bestimmten Empfehlung festlegen müssen, können Sie dazu die Retail API mit dem Feld PredictRequest.params verwenden. Dadurch wird jede Einstellung für die Diversifizierung auf Konfigurationsebene überschrieben, die andernfalls für diese Empfehlung gelten würde. Weitere Informationen finden Sie unter den akzeptierten Werten.

Empfehlungsfilter verwenden

Sie können die von Recommendations AI zurückgegebenen Empfehlungen filtern. Verwenden Sie dazu das Feld filter in der Methode predict.

Das Feld filter akzeptiert zwei Arten von Filterspezifikationen:

  • Tag-Ausdrücke

    Wenn Sie Ihren Produkten beim Hochladen tag-Werte hinzugefügt haben, können Sie festlegen, dass nur Produkte, die allen von Ihnen gefilterten Tags entsprechen, als Empfehlungen zurückgegeben werden. Weitere Informationen

    Tag-Ausdrücke können die booleschen Operatoren OR oder NOT enthalten. Diese müssen von den Tag-Werten durch ein oder mehrere Leerzeichen getrennt sein. Den Tag-Werten können auch Bindestriche (-) vorangestellt werden. Dies entspricht dem Operator NOT. Tag-Ausdrücke, die boolesche Operatoren verwenden, müssen in Klammern stehen.

  • filterOutOfStockItems

    Das Flag filterOutOfStockItems filtert alle Produkte heraus, für die für stockState der Wert OUT_OF_STOCK gilt.

Sie können diese beiden Filtertypen kombinieren: Es werden dann nur Artikel zurückgegeben, die allen angegebenen Filterausdrücken entsprechen.

Beispiele für Filterstrings:

"filter": "tag=\"spring-sale\""
"filter": "filterOutOfStockItems"
"filter": "tag=\"spring-sale\" tag=\"exclusive\" filterOutOfStockItems"

Im folgenden Beispiel werden nur Artikel zurückgegeben, die auf Lager sind und entweder das Tag „spring-sale“ oder das Tag „exklusiv“ (oder beides) und nicht das Tag „items-to-Exclude“ enthalten.

"filter": "tag=(\"spring-sale" OR \"exclusive\") tag=(-\"items-to-exclude\") filterOutOfStockItems"