Bookshelf Analytics: Mit Gemini SQL-Anwendungen mit BigQuery und generativer KI erstellen

1. Einführung

Du liebst es, in Bücher einzutauchen, aber die schiere Menge an Optionen überfordert dich? Stellen Sie sich eine KI-gestützte App vor, die Ihnen nicht nur das perfekte Buch empfiehlt, sondern auch eine kurze Zusammenfassung basierend auf Ihrem bevorzugten Genre anbietet, die Ihnen einen Einblick in den Inhalt des Buches gibt. In diesem Codelab zeige ich Ihnen, wie Sie eine solche App mit BigQuery, Gemini und Cloud Functions auf Basis von Gemini erstellen.

Projektübersicht

Bei unserem Anwendungsfall geht es um diese 4 Hauptkomponenten:

  • Buchdatenbank:Der umfangreiche öffentliche BigQuery-Datensatz mit Büchern aus dem Internetarchiv dient als umfassender Buchkatalog.
  • KI-Summarization Engine:Google Cloud Functions ist mit dem Sprachmodell von Gemini 1.0 Pro ausgestattet und generiert aufschlussreiche Zusammenfassungen, die auf Nutzeranfragen zugeschnitten sind.
  • BigQuery-Integration:Eine Remote-Funktion in BigQuery, die unsere Cloud-Funktion aufruft, um Buchzusammenfassungen und Themen auf Abruf bereitzustellen.
  • Benutzeroberfläche:Eine in Cloud Run gehostete Webanwendung, über die Nutzer die Ergebnisse ansehen können.

Wir unterteilen die Implementierung in drei Codelabs:

Codelab 1:Mit Gemini eine Java-Cloud-Funktion für eine Gemini-Anwendung erstellen

Codelab 2:Mit Gemini SQL-Apps mit BigQuery und Generative AI erstellen

Codelab 3:Mit Gemini eine Java Spring Boot-Webanwendung erstellen, die mit BigQuery interagiert

2. Mit Gemini SQL-Apps mit BigQuery und generativer KI erstellen

Aufgaben

Sie erstellen eine

  • Remote-Modell in BigQuery, das den Vertex AI text-bison-32k-Endpunkt aufruft, um das Genre (oder Thema) des Buchs aus einer Liste von durch Semikolons getrennten Stichwörtern in der Tabelle zu identifizieren.
  • Remote-Funktion in BigQuery, die die bereitgestellte Cloud-Funktion für generative KI aus der Ferne aufruft.
  • Verwenden Sie das Remote-Modell und die Remote-Funktion, um das Thema und den Text eines Buchs mit SQL-Abfragen zusammenzufassen und die Ergebnisse in eine neue Tabelle im Bookshelf-Dataset zu schreiben.
  • Sie führen diese Schritte mithilfe von Gemini aus.

3. Voraussetzungen

  • Ein Browser, z. B. Chrome oder Firefox
  • Google Cloud-Projekt mit aktivierter Abrechnung
  • Es ist hilfreich, wenn Sie die Cloud-Funktion im Rahmen des Codelabs Mit Gemini eine Java-Cloud-Funktion für eine Gemini-Anwendung erstellen bereitgestellt haben.
  • Bedingt:Wenn Sie derzeit Zugriff auf den Link für kostenlose Google Cloud-Guthaben haben (der Ihnen möglicherweise vom Organisator des Workshops zur Verfügung gestellt wurde), führen Sie die Schritte zur AKTIVIERUNG DES GUTHABENS und PROJEKTERSTELLUNG anhand der Anleitung auf der folgenden Seite aus. Wenn Sie diese Verknüpfung nicht haben, fahren Sie mit den folgenden Schritten für die Projekt- und Abrechnungsvoraussetzungen fort:

Projekt erstellen

Sie können die Schritte unten überspringen, wenn Sie bereits ein Rechnungskonto aktiviert und ein Projekt über den Link im obigen Schritt mit Bedingungen erstellt haben.

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. Hier erfahren Sie, wie Sie prüfen, ob die Abrechnung für ein Projekt aktiviert ist.

Cloud Shell aktivieren

  1. Sie verwenden Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird und bq vorinstalliert hat:

Klicken Sie in der Cloud Console rechts oben auf „Cloud Shell aktivieren“: 6757b2fb50ddcc2d.png

  1. Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und das Projekt bereits auf Ihre Projekt-ID festgelegt ist. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:

gcloud auth list

  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt.

gcloud config list project

  1. Wenn Ihr Projekt noch nicht eingerichtet ist, verwenden Sie den folgenden Befehl, um es festzulegen:

gcloud config set project <YOUR_PROJECT_ID>

Weitere Informationen zu gcloud-Befehlen und deren Verwendung finden Sie in der Dokumentation.

4. Gemini for Google Cloud und erforderliche APIs aktivieren

Gemini aktivieren

  1. Rufen Sie den Marketplace von Gemini for Google Cloud auf, um die API zu aktivieren. Sie können auch den folgenden Befehl verwenden:

gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID

  1. Rufen Sie die Gemini-Seite auf und klicken Sie auf „Chat starten“.

Weitere erforderliche APIs aktivieren

Wie würden wir das machen? Fragen wir Gemini doch. Beachten Sie aber Folgendes:

Hinweis: LLMs sind nicht deterministisch. Wenn Sie diese Prompts ausprobieren, kann die Antwort, die Sie erhalten, also von der in meinem Screenshot abweichen.

Klicken Sie in der Google Cloud Console rechts oben neben der Suchleiste auf das Symbol „Gemini öffnen“, um die Gemini-Chatkonsole aufzurufen.

Geben Sie diese Frage in den Bereich „Prompt eingeben“ ein:

Wie aktiviere ich die BigQuery- und Vertex AI-APIs mit dem Befehl „gcloud“?

Sie erhalten die folgende Antwort:

19c3fd78530794d9.png

Kopieren Sie den Befehl (Sie können dazu das Kopiersymbol oben im Befehls-Snippet verwenden) und führen Sie ihn im Cloud Shell-Terminal aus, um die entsprechenden Dienste zu aktivieren:

  • bigquery.googleapis.com
  • aiplatform.googleapis.com

5. Öffentliches BigQuery-Dataset mit Bücherdaten untersuchen

Machen Sie sich zuerst mit dem öffentlichen BigQuery-Dataset vertraut, das Informationen zu zahlreichen Büchern aus dem Internetarchiv enthält.

Sie finden dieses öffentliche Dataset im BigQuery Explorer-Bereich. Sie finden sie auf der linken Seite, wenn Sie die BigQuery Console aufrufen.

39e2ac03cc99cbac.png

Geben Sie „gdelt-bq“ oder „internetarchivebooks“ in die Suchleiste ein und klicken Sie auf „IN ALLEN PROJEKTEN SUCHEN“. Maximieren Sie das Ergebnis und markieren Sie Bücher im Internetarchiv wie im Bild unten gezeigt:

68dba68a79cddfc9.png.

Erweitern Sie das Dataset, klicken Sie auf gdelt-bq.internetarchivebooks und zeigen Sie dann eine Vorschau der Daten in der Tabelle 1920 an. Diese Tabelle enthält Bücher aus dem Jahr 1920, die archiviert wurden.

Führen Sie die folgende Abfrage aus, um sich das Schema anzusehen, das in den folgenden Abschnitten verwendet wird:

select * from  `gdelt-bq.internetarchivebooks.1920` limit 5;

Für unser Codelab verwenden wir die folgenden drei Felder:

  • BookMeta_Title (Titel)
  • Themen (Themen durch „'“ getrennt)
  • BookMeta_FullText (Volltext des Buchs)

6. Erstellen Sie ein neues BigQuery-Dataset mit dem Namen „bookshelf“.

Wir möchten unter dem Projekt ein Dataset erstellen, in dem alle Datenbank- und Analyseobjekte gespeichert werden, die wir in diesem Lab erstellen werden. Lassen Sie uns Gemini fragen, wie ein BigQuery-Dataset erstellt wird. Der Gemini-Chat sollte bereits auf einem anderen Tab in deinem Browser geöffnet sein, nachdem du APIs aktiviert hast. Falls nicht, können Sie das jetzt nachholen. Rufen Sie die Google Cloud Console auf, indem Sie https://console.cloud.google.com aufrufen. Das Gemini-Symbol sollte oben neben der Suchleiste angezeigt werden. Klicken Sie darauf und der Chat wird geöffnet.

26e1491322855614.png

Geben Sie den Prompt wie unten dargestellt ein.

Hier ist mein Prompt:

How to create a BigQuery dataset?

Hier ist die Antwort:

f7a989cc9a01009.png

Folgen Sie der Anleitung in der Antwort, um in Ihrem aktiven Projekt einen Datensatz mit dem Namen „bookshelf“ zu erstellen.

So erstellen Sie ein BigQuery-Dataset:

  1. Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.
  2. Klicken Sie im Explorer-Fenster auf Ihre Projekt-ID.
  3. Klicken Sie auf „Dataset erstellen“. Diese Option sollte in den Optionen aufgeführt sein, die angezeigt werden, wenn Sie auf das Dreipunkt-Menü neben Ihrer Projekt-ID klicken.
  4. Geben Sie als Namen des Datensatzes „bookshelf“ ein.
  5. Legen Sie den Standort auf „USA(mehrere Regionen)“ fest.
  6. Lassen Sie für die Schritte 3, 4, 5 und 6 der Antwort die Standardoptionen bei.
  7. Klicken Sie auf CREATE DATASET (DATASET ERSTELLEN).

Das Dataset wird erstellt und im Explorer-Bereich angezeigt. Der Datensatz „bookshelf“ sieht so aus:

7. Remote-Modell zum Aufrufen von Vertex AI LLM erstellen (text-bison-32k)

Als Nächstes müssen wir ein Modell in BigQuery erstellen, das das Vertex AI-Modell „text-bison-32k“ aufruft. Das Modell hilft dabei, anhand der Liste der Keywords für jedes Buch im Dataset ein gemeinsames Thema, einen gemeinsamen Kontext für das Buch zu identifizieren.

Fragen wir Gemini. Rufen Sie dazu den Tab auf, auf dem die Gemini-Chatkonsole geöffnet ist, und geben Sie den folgenden Prompt ein:

Wie verbinden Sie BigQuery und Vertex AI, um den LLM-Endpunkt (text-bison-32k) in BigQuery aufzurufen?

Die Antwort lautet wie folgt:

41904e30ce92b436.png

Die Antwort enthält korrekte Informationen, z. B. die Schritte, die die Verwendung der CREATE MODEL-Anweisung, die Verwendung der BigQuery-Verbindung und die Definition des Endpunkts umfassen. Die Abfrage ist für mich korrekt, aber das bedeutet nicht, dass Sie genau dieselbe Ausgabe erhalten. Da es sich um ein Large Language Model handelt, erhalten Sie möglicherweise Antworten in einem anderen Format, Umfang und Detaillierungsgrad. Wenn Sie nicht alle Details sehen, die ich erhalten habe, können Sie den Chat jederzeit mit weiteren Fragen ergänzen. Beispiel: Geben Sie weitere Details zum Erstellen der Verbindungsressource an oder erläutern Sie, warum das Verbindungsattribut fehlt. Sie können auch fragen: „Wie stelle ich eine Verbindung von BigQuery zu Vertex AI her?“

Hier ist ein Beispiel für einen Nachfragevorschlag. Verwenden Sie ihn nur, wenn Sie eine Nachfrage stellen möchten. Wenn die erste Antwort ausreicht, fahren Sie mit der Bearbeitung fort:

What about the connection? How will I connect from BigQuery to Vertex AI?

Hier ist die Antwort:

2ed9b3ed96b11bc9.png

Folgen Sie der Anleitung in der Antwort, um eine BigQuery-Verbindung zu erstellen:

  1. Rufen Sie die BigQuery-Konsole auf.
  2. Klicken Sie im BigQuery Explorer-Bereich auf die Schaltfläche „+ HINZUFÜGEN“ und dann auf „Verbindungen zu externen Datenquellen“.
  3. Sie werden nun aufgefordert, die BigQuery Connection API zu aktivieren. Klicken Sie auf API AKTIVIEREN:

ded96126495ffe9.png

  1. Klicken Sie auf „Verbindungen zu externen Datenquellen“. Nun sollte die Folie „Externe Datenquelle“ wie unten abgebildet angezeigt werden. Wählen Sie aus der Liste der externen Quellen „Vertex AI“ als Quelle aus.

434cdbbb3a9436f2.png

  1. Geben Sie eine Verbindungs-ID ein. Sie kann frei gewählt werden, setzen Sie sie aber vorerst auf „bq-vx“. Geben Sie dann die Region an (multiregional „USA“).
  2. Klicken Sie auf „Verbindung erstellen“.

d3a2aeebc3ecdfae.png

  1. Klicken Sie nach dem Erstellen der Verbindung auf „Verbindung aufrufen“.
  2. Kopieren Sie auf der Seite mit den Verbindungsinformationen die Dienstkonto-ID, da wir diese in den nachfolgenden Schritten verwenden werden.
  3. Nachdem die Verbindung erstellt wurde, weisen wir dieser Dienstkonto-ID, die wir kopiert haben, Berechtigungen zu, damit wir Vertex AI verwenden können.
  4. Öffnen Sie in der Google Cloud Console die Seite „Google Cloud IAM“ oder klicken Sie auf den Link.
  5. Klicken Sie im Bereich Nach Hauptkonten ansehen auf Zugriff gewähren.

5317eed5da0bb8c5.png

  1. Geben Sie im Dialogfeld „Zugriff gewähren“ die zuvor notierte Dienstkonto-ID in das Textfeld „Neue Hauptkonten“ ein.
  2. Legen Sie die Rolle auf „Vertex AI User“ fest.

f213db33d220aa5f.png

Die erforderliche Verbindung wird erstellt. Dem Principal (Dienstkonto der Verbindung) wird die erforderliche Berechtigung zur Verwendung von Vertex AI über BigQuery gewährt.

Führen Sie die folgende DDL-Anweisung(Data Definition Language) aus, die die Erstellung eines DB-Objekts darstellt, in diesem Fall MODEL im BigQuery-Abfrageeditor.

CREATE OR REPLACE MODEL bookshelf.llm_model
  REMOTE WITH CONNECTION `us.bq-vx`
  OPTIONS (ENDPOINT = 'text-bison-32k');

Alternativ können Sie Gemini bitten, eine Abfrage vorzuschlagen, um das Modell zum Aufrufen des Modells „text-bison-32k“ zu erstellen.

Hinweis:Wenn Sie für die Verbindung einen anderen Namen verwendet haben, ersetzen Sie us.bq-vx durch diesen Namen in der früheren DDL-Anweisung. Mit dieser Abfrage wird das Remote-Modell im zuvor erstellten Dataset „bookshelf“ erstellt.

8. Remote-Funktion erstellen, die die Java-Cloud-Funktion aufruft

Nun erstellen wir eine Remote-Funktion in BigQuery mit der Cloud Functions-Java-Funktion, die wir in Codelab 1 dieser Reihe zur Implementierung des Gemini-Modells erstellt haben. Mit dieser Remote-Funktion werden die Buchinhalte zusammengefasst.

Hinweis: Wenn Sie dieses Codelab verpasst haben oder diese Cloud-Funktion nicht bereitgestellt haben, können Sie diesen Schritt überspringen und mit dem nächsten Thema fortfahren: „Thema der Bücher mit dem Remote-Modell zusammenfassen“.

Rufen Sie die BigQuery-Konsole auf und fügen Sie die folgende DDL-Anweisung in den Abfrageeditor ein. Sie können einen neuen Tab im Abfrageeditor erstellen, indem Sie auf die Schaltfläche + klicken.

a54c0b0014666cac.png

Unten finden Sie die DDL, die Sie kopieren können. Ersetzen Sie den Endpunkt durch den Endpunkt Ihrer bereitgestellten Cloud-Funktion, den Sie in Codelab 1 erstellt haben. Wenn Sie keinen Endpunkt haben, können Sie die maskierten Zeichen in der folgenden DDL zu Demonstrationszwecken durch „abis-345004“ ersetzen.

CREATE OR REPLACE FUNCTION
  `bookshelf.GEMINI_REMOTE_CALL` (context STRING) RETURNS STRING
  REMOTE WITH CONNECTION `us.bq-vx`
  OPTIONS (
    endpoint = 'https://us-central1-****-******.cloudfunctions.net/remote-gemini-call'  );

Rufen Sie die BigQuery-Konsole auf der Google Cloud-Plattform auf und öffnen Sie einen neuen Tab im Abfrageeditor. Fügen Sie die obige DDL-Anweisung in den BigQuery-Abfrageeditor ein. Nach Ausführung der Abfrage wird die folgende Antwort angezeigt:

a023d5691acf6f.png

Nachdem das Modell und die Funktion erstellt wurden, testen wir diese beiden BigQuery-Objekte in einer SELECT-Abfrage.

9. Themen mit dem Remote-Modell zusammenfassen

Verwenden wir das von uns erstellte Remote-Modell „bookshelf.llm_model“, um aus der angegebenen Liste von Themen ein konsolidiertes Keyword für das Buch zu generieren:

SELECT * FROM ML.GENERATE_TEXT(MODEL `bookshelf.llm_model`,
(
SELECT
     CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
    FROM `gdelt-bq.internetarchivebooks.1920` LIMIT 1
));

Optionaler Schritt: Das Ergebnis für das vom LLM generierte Ergebnisfeld ist verschachtelt. Lassen Sie uns der Abfrage einige LLM-Parameter und das Attribut „flatten_json_output“ hinzufügen. Die Verwendung des Attributs „flatten_json_output“ hilft, die verschachtelte Struktur aus dem LLM-generierten Ergebnisfeld zu entfernen.

SELECT * FROM ML.GENERATE_TEXT ( MODEL `bookshelf.llm_model`, (
 SELECT CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt FROM `gdelt-bq.internetarchivebooks.1920` limit 1),
    STRUCT( 0.2 AS temperature, 100 AS max_output_tokens, TRUE AS flatten_json_output));

Führen Sie jetzt die SELECT-Abfrage im BigQuery-Editor aus und prüfen Sie das Ergebnis. Wir haben das Abfrageergebnisse zu Testzwecken auf 1 beschränkt. Das Ergebnis wird so angezeigt:

9b0d33eca61a73d2.png

10. Volltext von Büchern mithilfe der Remote-Funktion zusammenfassen

Wir versuchen jetzt, das Buch zusammenzufassen, indem wir die zuvor erstellte Cloud-Funktion „bookshelf.GEMINI_REMOTE_CALL“ ausführen.

Hinweis:Wenn Sie das Erstellen der Remote-FUNCTION (das vorherige Thema in diesem Codelab) übersprungen haben, denken Sie daran, auch den Funktionsaufruf „bookshelf.GEMINI_REMOTE_CALL“ in der SELECT-Abfrage zu überspringen.

Verwenden Sie die SELECT-Abfrage, die die zuvor erstellte Remotefunktion (GEMINI_REMOTE_CALL) aufruft. Der Aufruf dieser Funktion, GEMINI_REMOTE_CALL, enthält einen Prompt, in dem um eine Zusammenfassung des Buchtexts gebeten wird:

select BookMeta_Title, `bookshelf.GEMINI_REMOTE_CALL` (
  CONCAT('This is about a book. The title of the book is this: ', BookMeta_Title,  ' . The theme of the book is as follows: ', Themes, 'The following text contains an excerpt from the book. Summarize it in less than 5 lines to create the gist. If you do not have a summary, use the title and themes to make up a short summary. DO NOT RETURN EMPTY RESPONSE. ', SUBSTR(BookMeta_FullText, 5000, 10000))) Summary 
  from `gdelt-bq.internetarchivebooks.1920` where Themes like '%EDUCATION%' limit 1;

Hinweis: Wir haben einen Teilstring des vollständigen Texts des Buches verwendet, um die Zusammenfassung zu generieren.

Das Ergebnis der Abfrage sieht so aus:

658bb0a9c9cf0938.png

11. Buchdaten in einer Tabelle speichern

Nachdem wir sowohl die LLM-Aufrufe (Remote-Modell und Funktion) aus BigQuery als auch nur mit SQL-Abfragen getestet haben, erstellen wir eine BigQuery-Tabelle, um die „Buchregal“-Daten mit Themenerkenntnissen im selben Datensatz wie das Remote-Modell und die Funktion zu speichern.

Wir könnten in diesem Schritt sowohl den LLM-Modellaufruf als auch den Remote-Funktionsaufruf einschließen. Da wir den Remote-Funktionsaufruf (der die Cloud-Funktion aufruft) jedoch als optionalen Schritt markiert haben, verwenden wir nur die Erkenntnisse aus dem Remote-Modell.

Hier ist die Abfrage, die wir verwenden werden:

SELECT
  BookMeta_Title, Themes, ml_generate_text_llm_result Context 
   FROM
  ML.GENERATE_TEXT (
    MODEL `bookshelf.llm_model`,
    (
 SELECT
      BookMeta_Title,
      Themes,BookMeta_FullText,
      CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
    FROM `gdelt-bq.internetarchivebooks.1920` limit 5),
    STRUCT(
      0.2 AS temperature,
      100 AS max_output_tokens,
      TRUE AS flatten_json_output));

Wenn Sie die Abfrage im BigQuery-Editor ausführen, sehen Sie folgendes Ergebnis:

2c6e08e75a680867.png

Bitten wir Gemini nun, aus der obigen Abfrage eine Tabelle namens „bookshelf.books“ zu erstellen. Rufen Sie in der Google Cloud Console die Gemini-Chatkonsole auf und geben Sie den folgenden Prompt ein.

Hier ist der Prompt, den wir verwenden werden:

Create a BigQuery table named bookshelf.books from this SELECT query: 
SELECT
  BookMeta_Title, Themes, ml_generate_text_llm_result Context 
   FROM
  ML.GENERATE_TEXT (
    MODEL `bookshelf.llm_model`,
    (
 SELECT
      BookMeta_Title,
      Themes,BookMeta_FullText,
      CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
    FROM `gdelt-bq.internetarchivebooks.1920` limit 5),
    STRUCT(
      0.2 AS temperature,
      100 AS max_output_tokens,
      TRUE AS flatten_json_output));

Die Antwort in Gemini Chat lautet:

df6595a4b14f7b9.png

Hier ist die Abfrage, falls Sie sie direkt von hier aus kopieren möchten:

CREATE TABLE bookshelf.books (
  BookMeta_Title STRING,
  Themes STRING,
  ml_generate_text_llm_result STRING
) AS (
  SELECT
    BookMeta_Title,
    Themes,
    ml_generate_text_llm_result Context
  FROM
    ML.GENERATE_TEXT (
      MODEL `bookshelf.llm_model`,
      (
        SELECT
          BookMeta_Title,
          Themes,
          BookMeta_FullText,
          CONCAT('Read all the words in the following text separated by ";" and come up with one single (most relating) theme that is applicable : ', Themes, '. Take the title of the book from the following value', BookMeta_Title, '. Return a meaningful and concise theme with one or two words, not more than that. If a theme is not possible, return a context from its title. But DO NOT return empty or null. ') AS prompt
        FROM `gdelt-bq.internetarchivebooks.1920`
        LIMIT 5
      ),
      STRUCT(
        0.2 AS temperature,
        100 AS max_output_tokens,
        TRUE AS flatten_json_output
      )
    )
);

Nach dem Ausführen der Abfrage im BigQuery-Editor sehen Sie folgendes Ergebnis:

2d1ce716f844b7ad.png

Fertig! Rufen Sie nun die Tabelle ab und spielen Sie mit den Daten, um weitere Informationen zu erhalten.

12. Glückwunsch

Glückwunsch! Wir haben die folgenden Schritte erfolgreich abgeschlossen und dabei in einigen Schritten des Prozesses auch Gemini verwendet:

  • In BigQuery wurde ein Remote-Modell erstellt, das den Vertex AI-Endpunkt „text-bison-32k“ aufruft, um das Genre (oder Thema) des Buchs anhand einer Liste von durch „;“ getrennten Keywords in der Tabelle zu ermitteln.
  • Sie haben eine Remote-Funktion in BigQuery erstellt, die diese bereitgestellte Cloud-Funktion für generative KI aus der Ferne aufruft. Diese Funktion verwendet den Prompt als Eingabe und gibt einen String aus, der das Buch in fünf Zeilen zusammenfasst.
  • Mit dem Remote-Modell und der Funktion wurden das Thema und der Text eines Buches mit SQL-Abfragen zusammengefasst und die Ergebnisse in eine neue Tabelle im Buchregal-Dataset geschrieben.
  • Als Nächstes können Sie mit Gemini die SQL-Abfrage zum Löschen der in BigQuery erstellten Objekte abrufen. Hier geht es um den Schritt zur Bereinigung.