arrow_back

Filmplakate in BigQuery mithilfe von Remote-Modellen analysieren

Anmelden Teilnehmen
Testen und teilen Sie Ihr Wissen mit unserer Community.

Filmplakate in BigQuery mithilfe von Remote-Modellen analysieren

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Testen und teilen Sie Ihr Wissen mit unserer Community.

GSP1247

Übersicht

In diesem Lab lernen Sie, wie Sie BigQuery Machine Learning für Inferenzen mit Remote-Modellen (auf Gemini basierenden KI-Modellen) verwenden, um Bilder von Filmplakaten zu analysieren und im Rahmen eines Proof-of-Concept-Projekts Zusammenfassungen der Plakate zu erstellen.

BigQuery ist eine vollständig verwaltete, KI-fähige Datenanalyseplattform, mit der Sie die Wertschöpfung aus Daten maximieren können. Sie ist als Multi-Engine-, Multi-Format- und Multi-Cloud-Plattform konzipiert. Eines der zentralen Features ist BigQuery Machine Learning für Inferenzen. Damit können Sie ML-Modelle (Machine Learning) mithilfe von GoogleSQL-Abfragen erstellen und ausführen.

Gemini ist eine Reihe von auf generativer KI basierenden Modellen, die von Google DeepMind entwickelt wurden und auf multimodale Anwendungsfälle ausgelegt sind. Die Gemini API bietet Zugriff auf die Modelle Gemini Pro Vision und Gemini Pro.

ML-Modelle mit GoogleSQL-Abfragen ausführen

Normalerweise erfordert das Ausführen von ML oder künstlicher Intelligenz (KI) für große Datasets umfangreiche Programmierung und ML-Framework-Kenntnisse. Durch diese Anforderungen ist die Entwicklung von Lösungen in den meisten Unternehmen auf einen sehr kleinen Personenkreis beschränkt. Datenanalysten gehören nicht dazu, da sie die Daten zwar verstehen können, aber ihre ML- und Programmierkenntnisse begrenzt sind. Mit BigQuery Machine Learning für Inferenzen können SQL-Anwender jedoch vorhandene SQL-Tools und ‑Fertigkeiten nutzen, um Modelle zu erstellen und Ergebnisse aus LLMs und Cloud AI APIs zu generieren.

Lernziele

Aufgaben in diesem Lab:

  • Umgebung und Konto für die Verwendung von APIs konfigurieren
  • Cloud-Ressourcenverbindung in BigQuery erstellen
  • Dataset und Objekttabelle in BigQuery für Bilder von Filmplakaten erstellen
  • Gemini-Remote-Modelle in BigQuery erstellen
  • Prompts an Gemini senden, um für jedes Plakat eine Zusammenfassung des Films zu generieren
  • Texteinbettungen für die auf den Plakaten abgebildeten Filme erstellen
  • Mit BigQuery VECTOR_SEARCH Bilder von Filmplakaten mit ähnlichen Filmen im Dataset abgleichen

Einrichtung und Anforderungen

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:

    • Schaltfläche „Google Cloud Console öffnen“
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich „Details zum Lab“.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.

Aufgabe 1: Umgebung und Projekt für die Verwendung von APIs konfigurieren

In dieser Aufgabe konfigurieren Sie die Lab-Umgebung, damit Sie die Cloud AI Companion API für Gemini und die Vertex AI Platform API in Ihrem Projekt verwenden können.

Hinweis: Wenn Sie mit Cloud Shell nicht vertraut sind, lesen Sie den Leitfaden Cloud Shell verwenden.
  1. Melden Sie sich mit Ihren Anmeldedaten für das Lab in der Google Cloud Console an und öffnen Sie das Cloud Shell-Terminalfenster.

  2. Führen Sie die folgenden Befehle aus, um die Umgebungsvariablen für Projekt-ID und Region in Cloud Shell einzurichten:

    PROJECT_ID=$(gcloud config get-value project) REGION={{{project_0.default_region|set at lab start}}} echo "PROJECT_ID=${PROJECT_ID}" echo "REGION=${REGION}"
  3. Führen Sie den folgenden Befehl aus, um das angemeldete Google-Nutzerkonto in einer Umgebungsvariable zu speichern:

    USER=$(gcloud config get-value account 2> /dev/null) echo "USER=${USER}"
  4. Aktivieren Sie die Cloud AI Companion API für Gemini und die Vertex AI API:

    gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID} gcloud services enable aiplatform.googleapis.com --project ${PROJECT_ID}
  5. Gewähren Sie dem Google Cloud Qwiklabs-Nutzerkonto die nötigen IAM-Rollen zum Verwenden von Gemini:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer

    Nach dem Hinzufügen dieser Rollen können Sie Gemini verwenden.

Klicken Sie auf Fortschritt prüfen. Aktivieren Sie relevante APIs und gewähren Sie IAM-Rollen.

Aufgabe 2: Cloud-Ressourcenverbindung erstellen

In dieser Aufgabe erstellen Sie eine Cloud-Ressourcenverbindung in BigQuery, um Gemini Pro- und Gemini Pro Vision-Modelle anwenden zu können.

  1. Klicken Sie in der Google Cloud Console im Navigationsmenü auf BigQuery.

  2. Klicken Sie im Pop‑up-Fenster „Willkommen“ auf FERTIG.

  3. Klicken Sie auf + HINZUFÜGEN und dann auf Verbindungen zu externen Datenquellen, um eine Verbindung zu erstellen.

  4. Wählen Sie in der Liste „Verbindungstyp“ die Option Vertex AI-Remote-Modelle, Remote-Funktionen und BigLake (Cloud-Ressource) aus.

  5. Geben Sie für Ihre Verbindung im Feld „Verbindungs-ID“ gemini_conn ein.

  6. Wählen Sie als Standorttyp die Option Multiregional und dann USA (multiregional) aus.

  7. Verwenden Sie für die anderen Optionen jeweils die Standardeinstellung.

  8. Klicken Sie auf Verbindung erstellen.

  9. Klicken Sie auf ZUR VERBINDUNG.

  10. Kopieren Sie im Bereich „Verbindungsinformationen“ die Dienstkonto-ID in eine Textdatei für die nächste Aufgabe. Die Verbindung ist ebenfalls im BigQuery Explorer Ihres Projekts im Abschnitt „Externe Verbindungen“ zu finden.

Klicken Sie auf Fortschritt prüfen. Cloud-Ressourcenverbindung erstellen

Aufgabe 3: Dem Dienstkonto der Verbindung IAM-Berechtigungen gewähren

In dieser Aufgabe gewähren Sie dem Dienstkonto der Cloud-Ressourcenverbindung eine Rolle mit IAM-Berechtigungen, mit denen der Zugriff auf Vertex AI-Dienste möglich ist.

  1. Klicken Sie in der Google Cloud Console im Navigationsmenü auf IAM und Verwaltung.

  2. Klicken Sie auf Zugriff gewähren.

  3. Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID ein, die Sie zuvor kopiert haben.

  4. Wählen Sie im Feld „Rolle auswählen“ die Option Vertex AI und dann Vertex AI User aus.

  5. Klicken Sie auf Speichern.

    Die Dienstkonto-ID beinhaltet nun die Rolle „Vertex AI User“.

Klicken Sie auf Fortschritt prüfen. Dem Dienstkonto der Verbindung IAM-Berechtigungen gewähren

Aufgabe 4: Dataset und Objekttabelle in BigQuery für Bilder von Filmplakaten erstellen

In dieser Aufgabe erstellen Sie ein Dataset für das Projekt und eine Objekttabelle darin, um die Plakatbilder zu speichern.

Dataset erstellen

  1. Klicken Sie in der Google Cloud Console auf das Navigationsmenü () und dann auf BigQuery.

  2. Wählen Sie im Bereich Explorer unter die Option Aktionen ansehen () und dann Dataset erstellen.

    Sie erstellen ein Dataset, um Datenbankobjekte zu speichern, einschließlich Tabellen und Modellen.

  3. Geben Sie im Bereich Dataset erstellen die folgenden Informationen ein:

    Feld Wert
    Dataset-ID gemini_demo
    Standorttyp Multiregional auswählen
    Multiregional US auswählen

    Übernehmen Sie für alle anderen Felder die Standardeinstellung.

  4. Klicken Sie auf Dataset erstellen.

    Das Dataset „gemini_demo“ ist nun erstellt und wird im BigQuery Explorer unter Ihrem Projekt aufgeführt.

Objekttabelle erstellen

Zum Erstellen der Objekttabelle verwenden Sie eine SQL-Abfrage.

  1. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage und fügen Sie sie in den Abfrageeditor ein.

    CREATE OR REPLACE EXTERNAL TABLE `gemini_demo.movie_posters` WITH CONNECTION `us.gemini_conn` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://cloud-samples-data/vertex-ai/dataset-management/datasets/classic-movie-posters/*'] );
  3. Führen Sie die Abfrage aus.

    Die Objekttabelle „movie_posters“ wird dem Dataset „gemini_demo“ hinzugefügt und mit dem URI (dem Cloud Storage-Speicherort) der Filmplakatbilder gefüllt.

  4. Klicken Sie im Explorer auf movie_posters und prüfen Sie das Schema und die Details. Sie können nun die Tabelle zur Prüfung einzelner Datensätze abfragen.

Klicken Sie auf Fortschritt prüfen. Dataset und Objekttabelle in BigQuery für Bilder von Filmplakaten erstellen

Aufgabe 5: Gemini-Remote-Modelle in BigQuery erstellen

Die Objekttabelle wurde erstellt und kann nun verwendet werden. In dieser Aufgabe erstellen Sie Remote-Modelle für Gemini Pro- und Gemini Pro Vision-Modelle in BigQuery.

Gemini Pro-Modell erstellen

  1. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus.

    CREATE OR REPLACE MODEL `gemini_demo.gemini_pro` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'gemini-pro')

    Das Modell „gemini_pro“ wird erstellt und dem Dataset „gemini_demo“ im Abschnitt „Modelle“ hinzugefügt.

  3. Klicken Sie im Explorer auf das Modell gemini_pro und prüfen Sie die Details und das Schema.

Gemini Pro Vision-Modell erstellen

  1. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus.

    CREATE OR REPLACE MODEL `gemini_demo.gemini_pro_vision` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'gemini-pro-vision')

    Das Modell „gemini_pro_vision“ wird erstellt und dem Dataset „gemini_demo“ im Abschnitt „Modelle“ hinzugefügt.

  3. Klicken Sie im Explorer auf das Modell gemini_pro_vision und prüfen Sie die Details und das Schema.

Klicken Sie auf Fortschritt prüfen. Gemini-Remote-Modelle in BigQuery erstellen

Aufgabe 6: Prompts an Gemini senden, um für jedes Plakat eine Zusammenfassung des Films zu generieren

In dieser Aufgabe analysieren Sie mit Gemini, also mit den erstellten Gemini Pro- und Gemini Pro Vision-Modellen, Bilder von Filmplakaten und generieren für jeden Film eine Zusammenfassung.

Bilder mit Gemini Pro Vision-Modell analysieren

  1. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus.

    CREATE OR REPLACE TABLE `gemini_demo.movie_posters_results` AS ( SELECT uri, ml_generate_text_llm_result FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro_vision`, TABLE `gemini_demo.movie_posters`, STRUCT( 0.2 AS temperature, 'For the movie represented by this poster, what is the movie title and year of release? Answer in JSON format with two keys: title, year. title should be string, year should be integer.' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT)));

    Die Tabelle „movie_posters_results“ ist nun erstellt.

  3. Klicken Sie im Explorer auf die Tabelle movie_posters_results und prüfen Sie das Schema und die Details.

  4. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  5. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus:

    SELECT * FROM `gemini_demo.movie_posters_results`

    Es werden Zeilen für jedes Filmplakat mit dem URI (dem Cloud Storage-Speicherort des Filmplakatbilds) sowie einer JSON-Ausgabe mit dem Filmtitel und dem Jahr der Veröffentlichung des Films aus dem Gemini Pro Vision-Modell angezeigt.

    Mit folgender Abfrage lassen sich die Ergebnisse in übersichtlicher Form darstellen.

  6. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  7. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus:

    CREATE OR REPLACE TABLE `gemini_demo.movie_posters_results_formatted` AS ( SELECT uri, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.title") AS title, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.year") AS year FROM `gemini_demo.movie_posters_results` results )

    Die Tabelle „movie_posters_result_formatted“ ist erstellt.

  8. Mit folgender Abfrage lassen sich die erstellten Tabellenreihen visualisieren.

    SELECT * FROM `gemini_demo.movie_posters_results_formatted`

    Beachten Sie, dass sich die ausgegebene URI-Spalte nicht verändert, die JSON-Ausgabe aber in die Titel- und Jahr-Spalten konvertiert wird.

Prompts für Filmzusammenfassungen an Gemini Pro senden

  1. Mit Gemini Pro können Sie für jedes Plakat eine Filmzusammenfassung bereitstellen. Führen Sie dazu die folgende Abfrage aus:

    SELECT uri, title, year, prompt, ml_generate_text_llm_result FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT CONCAT('Provide a short summary of movie titled ',title, ' from the year ',year,'.') AS prompt, uri, title, year FROM `gemini_demo.movie_posters_results_formatted` LIMIT 20 ), STRUCT(0.2 AS temperature, TRUE AS FLATTEN_JSON_OUTPUT));

    Das Ergebnis ähnelt dem der vorherigen Abfrage, aber jetzt wird der Prompt, der für Gemini verwendet wurde, in der Prompt-Spalte angezeigt und das Ergebnis ist im Feld „ml_generate_text_llm_result“ enthalten. Dieses Feld enthält eine kurze Zusammenfassung des Films.

Klicken Sie auf Fortschritt prüfen. Prompts an Gemini senden, um für jedes Plakat eine Zusammenfassung des Films zu generieren

Aufgabe 7: Texteinbettungen mit einem Remote-Modell generieren

In dieser Aufgabe generieren Sie Texteinbettungen mit einem Remote-Modell, damit Sie weitere Analysen durchführen können.

Remote-Modell erstellen

Zum Generieren der Texteinbettungen benötigen Sie das Remote-Modell text-multilingual-embedding-002, das auf dem Endpunkt gehostet wird.

  1. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus:

    CREATE OR REPLACE MODEL `gemini_demo.text_embedding` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'text-multilingual-embedding-002')

    Das Modell „text_embedding“ ist nun erstellt und wird im Explorer unter dem Dataset „gemini_demo“ angezeigt.

Texteinbettungen für den Titel und das Jahr der Plakate generieren

Hierzu erstellen Sie eine Tabelle, in der die Ergebnisse gespeichert werden.

  1. Klicken Sie auf das Symbol „+“, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage, fügen Sie sie in den Abfrageeditor ein und führen Sie sie aus:

    CREATE OR REPLACE TABLE `gemini_demo.movie_posters_results_embeddings` AS ( SELECT * FROM ML.GENERATE_EMBEDDING( MODEL `gemini_demo.text_embedding`, ( SELECT CONCAT('The movie titled ', title, ' from the year ', year,'.') AS content, title, year, uri FROM `gemini_demo.movie_posters_results_formatted` ), STRUCT(TRUE AS flatten_json_output)));

    Die Tabelle „movie_poster_results_embeddings“ ist erstellt. Sie enthält die Ergebnisse der Einbettungserstellung für den Textinhalt (URI, Filmtitel und Erscheinungsjahr) aus der Tabelle „gemini_demo.movie_posters_results_formatted“.

    Hinweis: Die Funktion ML.GENERATE_EMBEDDING wird zum Generieren der Einbettungen verwendet. Diese Funktion akzeptiert drei Argumente:
    • Das erste Argument ist der Name des Modells, das zum Generieren der Einbettungen verwendet werden soll, in diesem Fall „gemini_demo.text_embedding“.
    • Das zweite Argument ist eine Unterabfrage, mit der der einzubettende Textinhalt ausgewählt wird. Dieser umfasst hier den Titel und das Erscheinungsjahr des jeweiligen Films, zusammengefasst zu einem String.
    • Das dritte Argument ist eine Struktur, die das Ausgabeformat der Einbettungen festlegt. In diesem Fall ist das Feld „flatten_json_output“ auf TRUE gesetzt, was bedeutet, dass die Einbettungen zu einem einzigen JSON-Objekt vereinfacht werden.
  3. Die Ergebnisse der Abfrage können Sie mit der folgenden neuen Abfrage aufrufen:

    SELECT * FROM `gemini_demo.movie_posters_results_embeddings`

    Sie sehen die vom Modell generierten Einbettungen (Vektoren, die durch Zahlen dargestellt werden) für jeden Film.

Texteinbettungen für einen Teil des IMDB-Datasets generieren

Sie erstellen eine neue Ansicht, die nur die Filme im Dataset enthält, die vor 1935 veröffentlicht wurden.

  1. Erstellen Sie mit der folgenden SQL-Anweisung eine neue Abfrage und führen Sie sie aus:

    CREATE OR REPLACE VIEW `gemini_demo.imdb_movies` AS ( WITH reviews AS ( SELECT reviews.movie_id AS movie_id, title.primary_title AS title, title.start_year AS year, reviews.review AS review FROM `bigquery-public-data.imdb.reviews` reviews LEFT JOIN `bigquery-public-data.imdb.title_basics` title ON reviews.movie_id = title.tconst) SELECT DISTINCT(movie_id), title, year FROM reviews WHERE year < 1935)

    Die neue Ansicht enthält eine Liste der Film-IDs, Titel und Veröffentlichungsjahre aus der Tabelle „bigquery-public-data.imdb.reviews“ für alle Filme im Dataset, die vor 1935 veröffentlicht wurden.

  2. Erstellen Sie mit der folgenden SQL-Anweisung eine neue Abfrage und führen Sie sie aus:

    CREATE OR REPLACE TABLE `gemini_demo.imdb_movies_embeddings` AS ( SELECT * FROM ML.GENERATE_EMBEDDING( MODEL `gemini_demo.text_embedding`, ( SELECT CONCAT('The movie titled ', title, ' from the year ', year,'.') AS content, title, year, movie_id FROM `gemini_demo.imdb_movies` ), STRUCT(TRUE AS flatten_json_output) ) WHERE ml_generate_embedding_status = '' );

    Die Abfrage liefert eine Tabelle, die die Einbettungen für den Textinhalt der Tabelle „gemini_demo.imdb_movies“ enthält.

Filmplakatbilder mithilfe von BigQuery VECTOR_SEARCH mit der IMDB-Film-ID abgleichen

  1. Erstellen Sie mit der folgenden SQL-Anweisung eine neue Abfrage und führen Sie sie aus:

    SELECT query.uri AS poster_uri, query.title AS poster_title, query.year AS poster_year, base.title AS imdb_title, base.year AS imdb_year, base.movie_id AS imdb_movie_id, distance FROM VECTOR_SEARCH( TABLE `gemini_demo.imdb_movies_embeddings`, 'ml_generate_embedding_result', TABLE `gemini_demo.movie_posters_results_embeddings`, 'ml_generate_embedding_result', top_k => 1, distance_type => 'COSINE');

    In dieser Abfrage wird die Funktion VECTOR_SEARCH verwendet, um für jede Zeile in der Tabelle „gemini_demo.movie_posters_results_embeddings“ den nächsten Nachbarn in der Tabelle „gemini_demo.imdb_movies_embeddings“ zu finden. Der nächste Nachbar wird mithilfe des Kosinus-Abstandsmesswerts ermittelt, anhand dessen sich bestimmen lässt, wie ähnlich sich zwei Einbettungen sind.

    Mit dieser Abfrage kann der ähnlichste Film im IMDB-Dataset für jeden der von Gemini Pro Vision in den Filmplakaten identifizierten Filme gefunden werden. Sie können beispielsweise die ähnlichste Entsprechung für den Film „Au Secours!“ (von Gemini Pro Vision in einem der Filmplakate erkannt) im öffentlichen IMDB-Dataset finden, in dem dieser Film unter dem englischen Titel „Help!“ enthalten ist.

  2. Erstellen Sie eine neue Abfrage und führen Sie sie aus, um zusätzliche Informationen zu den Filmbewertungen aus dem öffentlichen IMDB-Dataset einzubinden.

    SELECT query.uri AS poster_uri, query.title AS poster_title, query.year AS poster_year, base.title AS imdb_title, base.year AS imdb_year, base.movie_id AS imdb_movie_id, distance, imdb.average_rating, imdb.num_votes FROM VECTOR_SEARCH( TABLE `gemini_demo.imdb_movies_embeddings`, 'ml_generate_embedding_result', TABLE `gemini_demo.movie_posters_results_embeddings`, 'ml_generate_embedding_result', top_k => 1, distance_type => 'COSINE') DATA LEFT JOIN `bigquery-public-data.imdb.title_ratings` imdb ON base.movie_id = imdb.tconst ORDER BY imdb.average_rating DESC

    Diese Abfrage ähnelt der vorherigen. Auch hier werden spezielle numerische Darstellungen, sogenannte Vektoreinbettungen, dazu verwendet, Filme zu finden, die einem bestimmten Filmplakat ähneln. Es werden jedoch auch die durchschnittliche Bewertung und die Anzahl der Bewertungen für jeden als nächsten Nachbarn identifizierten Film aus einer separaten Tabelle des öffentlichen IMDB-Datasets hinzugefügt.

Klicken Sie auf Fortschritt prüfen. Texteinbettungen für einen Teil des IMDB-Datasets generieren

Glückwunsch!

Sie haben eine Objekttabelle für Ihre Plakatbilder in BigQuery angelegt, Gemini-Remote-Modelle erstellt, mithilfe der Modelle Prompts an Gemini gesendet, um Bilder zu analysieren, Filmzusammenfassungen bereitgestellt, Texteinbettungen für Filmtitel generiert und Einbettungen verwendet, um Bilder von Filmplakaten mit dem entsprechenden Filmtitel im IMDB-Dataset abzugleichen.

Weitere Informationen

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 4. Oktober 2024 aktualisiert

Lab zuletzt am 23. Mai 2024 getestet

© 2025 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.