Erste Schritte mit Medienempfehlungen

Erstellen Sie schnell eine hochmoderne App für Medienempfehlungen. Mit Medienempfehlungen können Ihre Zielgruppen personalisierte Inhalte entdecken, z. B. was sie als Nächstes ansehen oder lesen möchten. Die Ergebnisse haben dabei Google-Qualität und werden an die entsprechenden Optimierungsziele angepasst.

Allgemeine Informationen zu Vertex AI Search für Medien finden Sie unter Einführung in die Mediensuche und ‑empfehlungen.

In dieser Anleitung verwenden Sie das Movielens, um zu zeigen, wie Sie Ihren Medieninhaltskatalog und Ihre Nutzerereignisse in Vertex AI Search hochladen und ein personalisiertes Film-Empfehlungsmodell trainieren. Das MovieLens-Dataset enthält einen Katalog an Filmen (Dokumenten) und Nutzer-Filmbewertungen (Nutzerereignisse).

In dieser Anleitung trainieren Sie ein Empfehlungsmodell des Typs „Was Ihnen sonst noch gefallen könnte“, das für die Klickrate (Click-through-Rate, CTR) optimiert ist. Nach dem Training kann das Modell Filme auf Basis einer Nutzer-ID und eines Seed-Films empfehlen.

Um die Mindestdatenanforderungen für das Modell zu erfüllen, wird jede positive Filmbewertung (4 oder höher) als Ereignis für die Wiedergabe eines Artikels behandelt.

Geschätzte Dauer, um dieses Tutorial abzuschließen:

  • Erste Schritte für das Training des Modells: ca.1,5 Stunden.
  • Warten auf das Modelltraining: ca. 24 Stunden. (Modell trainieren)
  • Bewerten der Modellvorhersagen und Bereinigen: ca. 30 Minuten. (Vorschau von Empfehlungen)

Wenn Sie die Anleitung Erste Schritte mit der Mediensuche abgeschlossen haben und den Datenspeicher noch haben (vorgeschlagener Name: quickstart-media-data-store), können Sie diesen Datenspeicher verwenden, anstatt einen weiteren zu erstellen. In diesem Fall sollten Sie die Anleitung mit dem Schritt Anwendung für Medienempfehlungen erstellen beginnen.

Ziele

  • Hier erfahren Sie, wie Sie Mediendokumente und Nutzerereignisdaten aus BigQuery in Vertex AI Search importieren.
  • Empfehlungsmodelle trainieren und bewerten

Bevor Sie mit dieser Anleitung beginnen, führen Sie die Schritte unter Before you begin aus.


Eine detaillierte Anleitung dazu finden Sie direkt in der Google Cloud Console. Klicken Sie dazu einfach auf Anleitung:

Anleitung


Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Konto haben, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI Search (Discovery Engine), Cloud Storage, BigQuery APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Vertex AI Search (Discovery Engine), Cloud Storage, BigQuery APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.

Dataset vorbereiten

Sie importieren das Movielens-Dataset mit Cloud Shell und strukturieren das Dataset für Vertex AI Search für Medien neu.

Cloud Shell öffnen

  1. Öffnen Sie die Google Cloud Console.
  2. Wählen Sie Ihr Google Cloud Projekt aus.
  3. Notieren Sie sich die Projekt-ID auf der Dashboard-Seite auf der Karte Projektinformationen. Sie benötigen die Projekt-ID für die folgenden Schritte.
  4. Klicken Sie oben im Console-Fenster auf den Button Cloud Shell aktivieren. Es öffnet sich eine Cloud Shell-Sitzung in einem neuen Rahmen im unteren Teil derGoogle Cloud -Console und zeigt eine Befehlszeilenaufforderung an. Weitere Möglichkeiten zum Starten von Cloud Shell finden Sie unter Cloud Shell starten.

    Cloud Shell

Dataset importieren

Das Movielens-Dataset ist in einem öffentlichen Cloud Storage-Bucket verfügbar, um den Import zu vereinfachen.

  1. Führen Sie die folgenden Elemente mit Ihrer Projekt-ID aus, um das Standardprojekt für die Befehlszeile festzulegen.

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie ein BigQuery-Dataset:

    bq mk movielens
    
  3. Laden Sie movies.csv in eine neue movies-BigQuery-Tabelle:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Laden Sie ratings.csv in eine neue ratings-BigQuery-Tabelle:

    bq load --skip_leading_rows=1 movielens.ratings \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \
      userId:integer,movieId:integer,rating:float,time:timestamp
    

BigQuery-Ansichten erstellen

In diesem Schritt strukturieren Sie das Movielens-Dataset so um, dass es dem erwarteten Format für Medienempfehlungen entspricht.

Medienempfehlungen erfordern Nutzerereignisdaten, um ein Modell zu erstellen. Für diesen Leitfaden erstellen Sie fiktive view-item-Ereignisse der letzten 90 Tagen aus positiven Bewertungen (>= 4).

  1. Erstellen Sie eine Ansicht, die die Tabelle „Movies“ in das von Google definierte Document-Schema konvertiert:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
      WITH t AS (
        SELECT
          CAST(movieId AS string) AS id,
          SUBSTR(title, 0, 128) AS title,
          SPLIT(genres, "|") AS categories
          FROM `PROJECT_ID.movielens.movies`)
        SELECT
          id, "default_schema" as schemaId, null as parentDocumentId,
          TO_JSON_STRING(STRUCT(title as title, categories as categories,
          CONCAT("http://mytestdomain.movie/content/", id) as uri,
          "2023-01-01T00:00:00Z" as available_time,
          "2033-01-01T00:00:00Z" as expire_time,
          "movie" as media_type)) as jsonData
        FROM t;' \
    movielens.movies_view
    

    Die neue Ansicht enthält jetzt das Schema, das von der Discovery Engine API erwartet wird.

  2. Rufen Sie in der Google Cloud -Console die Seite BigQuery auf.

    BigQuery aufrufen

  3. Maximieren Sie im Bereich Explorer den Projektnamen, maximieren Sie das Dataset movielens und klicken Sie auf movies_view, um die Abfrageseite für diese Ansicht aufzurufen.

    Produktansicht

  4. Rufen Sie den Tab Tabellen-Explorer auf.

  5. Klicken Sie im Bereich Generierte Abfrage auf den Button In Abfrage kopieren. Der Abfrageeditor wird geöffnet.

  6. Klicken Sie auf Ausführen, um Filmdaten in der von Ihnen erstellten Ansicht anzuzeigen.

Nutzerereignisse erstellen

  1. Erstellen Sie fiktive Nutzerereignisse aus Filmbewertungen mit dem folgenden Cloud Shell-Befehl:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     WITH t AS (
      SELECT
        MIN(UNIX_SECONDS(time)) AS old_start,
        MAX(UNIX_SECONDS(time)) AS old_end,
        UNIX_SECONDS(TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start,
        UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end
      FROM `PROJECT_ID.movielens.ratings`)
      SELECT
        CAST(userId AS STRING) AS userPseudoId,
        "view-item" AS eventType,
        FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez",
        TIMESTAMP_SECONDS(CAST(
          (t.new_start + (UNIX_SECONDS(time) - t.old_start) *
          (t.new_end - t.new_start) / (t.old_end - t.old_start))
        AS int64))) AS eventTime,
        [STRUCT(movieId AS id, null AS name)] AS documents,
      FROM `PROJECT_ID.movielens.ratings`, t
      WHERE rating >= 4;' \
      movielens.user_events
    

Vertex AI Search aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.

    KI-Anwendungen

  2. Optional: Klicken Sie auf Google erlauben, selektiv Stichproben der Modelleingaben und ‑antworten zu erheben.

  3. Klicken Sie auf Aktivieren und fortfahren.

App für Medienempfehlungen erstellen

Die Verfahren in diesem Abschnitt führen Sie durch das Erstellen und Bereitstellen einer Anwendung für Medienempfehlungen.

  1. Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.

    KI-Anwendungen

  2. Klicken Sie auf App erstellen.

  3. Klicken Sie auf der Seite App erstellen unter Medienempfehlungen auf Erstellen.

  4. Geben Sie im Feld Anwendungsnamequickstart-media-recommendations einen Namen für die Anwendung ein. Die Anwendungs-ID wird unter dem Namen der Anwendung angezeigt. Die Anwendungs-ID wird unter dem Namen der Anwendung angezeigt.

  5. Unter Art der Empfehlungen muss die Option Was Ihnen sonst noch gefallen könnte ausgewählt sein.

  6. Unter Geschäftsziel muss die Option Klickrate (CTR, Click-through-Rate) ausgewählt sein.

  7. Klicken Sie auf Weiter.

  8. Datenspeicher erstellen.

    1. Klicken Sie auf der Seite Datenspeicher auf Neuen Datenspeicher erstellen.

    2. Geben Sie einen Anzeigenamen für den Datenspeicher ein, z. B. quickstart-media-data-store, und klicken Sie dann auf Erstellen.

  9. Wählen Sie den soeben erstellten Datenspeicher aus und klicken Sie auf Erstellen, um Ihre Anwendung zu erstellen.

Daten importieren

Importieren Sie als Nächstes die zuvor formatierten Filme und Nutzerereignisdaten.

Dokumente importieren

Importieren Sie das im Abschnitt BigQuery-Ansichten erstellen erzeigte movies_view-Dokument in Ihren quickstart-media-data-store-Datenspeicher.

  1. Wählen Sie auf der Seite Dokumente importieren unter Native Quellen die Option BigQuery aus.

  2. Geben Sie den Namen der von Ihnen erstellten BigQuery-Ansicht movies ein und klicken Sie auf Importieren.

    PROJECT_ID.movielens.movies_view
    
  3. Warten Sie, bis alle Dokumente importiert wurden. Dies dauert etwa 15 Minuten. Nach Abschluss sollten 86.537 Dokumente vorhanden sein.

    Sie können den Status des Importvorgangs auf dem Tab Aktivität prüfen. Wenn der Import abgeschlossen ist, ändert sich der Status des Importvorgangs in Erfolgreich.

Nutzerereignisse importieren

Importieren Sie die im Abschnitt BigQuery-Ansichten erstellen erzeugten user_events-Datensätze in Ihren Datenspeicher.

  1. Klicken Sie im Tab Events auf Events importieren.

  2. Wählen Sie auf der Seite „Dokumente importieren“ unter Native Quellen die Option BigQuery aus.

  3. Geben Sie den Namen der von Ihnen erstellten BigQuery-Ansicht user_events ein und klicken Sie auf Importieren.

    PROJECT_ID.movielens.user_events
    
  4. Warten Sie, bis mindestens eine Million Ereignisse importiert wurden, bevor Sie mit dem nächsten Schritt fortfahren, um die Datenanforderungen für das Training eines neuen Modells zu erfüllen.

    Sie können den Status des Vorgangs auf dem Tab Aktivität prüfen. Der Prozess dauert etwa eine Stunde, weil Sie Millionen von Zeilen importieren.

  5. Auf dem Tab Datenqualität > Anforderungen können Sie prüfen, ob die Anforderungen erfüllt wurden. Auch nach dem Importieren der Nutzerereignisse kann es einige Zeit dauern, bis auf dem Tab Anforderungen der Status Datenanforderungen erfüllt angezeigt wird.

Empfehlungsmodell trainieren

  1. Rufen Sie die Seite Konfigurationen auf.

  2. Klicken Sie auf den Tab Steuerung. Es wurde bereits eine Bereitstellungskonfiguration erstellt.

    Sie können die Einstellungen für die Herabstufung der Empfehlungen oder die Diversifizierung der Ergebnisse auf dieser Seite anpassen.

  3. Klicken Sie auf den Tab Training.

    Sobald die Datenanforderungen erfüllt sind, beginnt das Modell automatisch mit dem Training. Auf dieser Seite können Sie den Trainings- und Abstimmungsstatus ansehen.

    Es kann einige Tage dauern, bis das Modell trainiert ist und bereit für Abfragen ist. Im Feld Bereit zum Abfragen des Modells wird Ja angezeigt, wenn der Vorgang abgeschlossen ist. Sie müssen die Seite aktualisieren, damit die Änderung von Nein zu Ja angezeigt wird.

Vorschau von Empfehlungen

Sobald das Modell zum Abfragen bereit ist:

  1. Klicken Sie im Navigationsmenü auf Vorschau.

  2. Klicken Sie auf das Feld Dokument-ID. Eine Liste der Dokument-IDs wird angezeigt.

  3. Geben Sie eine Seed-Film-ID ein, z. B. 4993 für „The Lord of the Rings: The Fellowship of the Ring (2001)“.

    ID eingeben

  4. Wählen Sie im Drop-down-Menü den Namen Bereitstellungskonfiguration aus.

  5. Klicken Sie auf Empfehlungen erhalten. Eine Liste mit empfohlenen Dokumenten wird angezeigt.

App für strukturierte Daten bereitstellen

Es gibt kein Empfehlungs-Widget für die Bereitstellung Ihrer App. So testen Sie Ihre Anwendung vor der Bereitstellung:

  1. Rufen Sie die Seite Daten > Tab Dokumente auf und kopieren Sie die ID eines Dokuments.

  2. Rufen Sie die Seite Einbindung auf. Diese Seite enthält einen Beispielbefehl für die Methode servingConfigs.recommend in der REST API.

  3. Fügen Sie die zuvor kopierte Dokument-ID in das Feld Dokument-ID ein.

  4. Lassen Sie das Feld Pseudo-ID des Nutzers unverändert.

  5. Kopieren Sie die Beispielanfrage und führen Sie sie in Cloud Shell aus.

Hilfe bei der Integration der Empfehlungs-App in Ihre Webanwendung erhalten Sie in den Codebeispielen unter Medienempfehlungen erhalten.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.

Sie können den Datenspeicher, den Sie für Mediensuchen in der Anleitung Erste Schritte mit der Mediensuche erstellt haben, wiederverwenden. Arbeiten Sie diese Anleitung durch, bevor Sie diesen Bereinigungsvorgang ausführen.

  1. Löschen Sie das Projekt mitGoogle Cloud console , wenn Sie es nicht benötigen, um unnötige Google Cloud Kosten zu vermeiden.
  2. Wenn Sie ein neues Projekt erstellt haben, um mehr über Vertex AI Search zu erfahren, und dieses Projekt nicht mehr benötigen, löschen Sie es.
  3. Wenn Sie ein vorhandenes Google Cloud Projekt verwendet haben, löschen Sie die von Ihnen erstellten Ressourcen. So vermeiden Sie, dass Ihrem Konto Gebühren in Rechnung gestellt werden: Weitere Informationen finden Sie im Abschnitt Anwendung löschen.
  4. Folgen Sie der Anleitung unter Turn off Vertex AI Search.
  5. Wenn Sie ein BigQuery-Dataset erstellt haben, löschen Sie es in Cloud Shell:

    bq rm --recursive --dataset movielens
    

Nächste Schritte