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

1. Einführung

Lesen Sie gern, sind aber von der schieren Menge an Auswahlmöglichkeiten überfordert? Stellen Sie sich vor, Sie hätten eine KI-basierte App, die Ihnen nicht nur das perfekte Buch empfiehlt, sondern auch eine kurze Zusammenfassung basierend auf Ihrem bevorzugten Genre bietet, damit Sie einen Einblick in das Buch erhalten. In diesem Codelab zeige ich Ihnen, wie Sie eine solche App mit BigQuery, Gemini und Cloud Functions auf Basis von Gemini erstellen.

Projektübersicht

Unser Anwendungsfall konzentriert sich auf diese vier Hauptkomponenten:

  • Buchdatenbank:Das umfangreiche öffentliche BigQuery-Dataset mit Büchern aus dem Internet Archive dient als umfassender Buchkatalog.
  • KI-Zusammenfassungs-Engine:Google Cloud Functions, ausgestattet mit dem Sprachmodell Gemini 1.0 Pro, generiert aussagekräftige Zusammenfassungen, die auf Nutzeranfragen zugeschnitten sind.
  • BigQuery-Integration:Eine Remote-Funktion in BigQuery, die unsere Cloud Functions-Funktion aufruft, um bedarfsgesteuerte Buchzusammenfassungen und ‑themen zu liefern.
  • Benutzeroberfläche:Eine in Cloud Run gehostete Webanwendung, über die Nutzer die Ergebnisse aufrufen können.

Wir teilen die Implementierung in drei Codelabs auf:

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

Codelab 2:Mit Gemini SQL-Apps mit BigQuery und generativer KI 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

  • Remote-Modell in BigQuery, 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.
  • Remote-Funktion in BigQuery, mit der die bereitgestellte generative KI-Cloud Functions-Funktion remote aufgerufen wird.
  • Mit dem Remote-Modell und der Funktion können Sie das Thema und den Text eines Buchs mit SQL-Abfragen zusammenfassen und die Ergebnisse in eine neue Tabelle im Datensatz „Bücherregal“ schreiben.
  • Sie führen diese Schritte mithilfe von Gemini aus.

3. Voraussetzungen

  • Ein Browser, z. B. Chrome oder Firefox
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung
  • Es ist hilfreich, wenn Sie die Cloud-Funktion im Rahmen des Codelabs Gemini zum Erstellen einer Java-Cloud-Funktion für eine Gemini-Anwendung verwenden bereitgestellt haben.
  • Bedingt:Wenn Sie zu diesem Zeitpunkt Zugriff auf den Link für das kostenlose Google Cloud-Guthaben haben (der Ihnen möglicherweise vom Workshop-Organisator zur Verfügung gestellt wurde), folgen Sie der Anleitung auf der Seite unten, um die Schritte GUTHABENAKTIVIERUNG und PROJEKTERSTELLUNG vorab auszuführen. Wenn Sie diesen Link nicht haben, fahren Sie mit den Schritten für die Projekt- und Abrechnungsvoraussetzungen unten fort:

Projekt erstellen

Sie können die folgenden Schritte überspringen, wenn Sie bereits ein Rechnungskonto aktiviert und ein Projekt über den Link erstellt haben, der im bedingten Schritt oben erwähnt wird.

  1. Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, 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 in der bq vorinstalliert ist:

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

  1. Sobald die Verbindung mit der Cloud Shell hergestellt ist, sehen Sie, dass Sie bereits authentifiziert sind und für das Projekt schon Ihre Projekt-ID eingestellt ist. Führen Sie in der Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:

gcloud auth list

  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um zu bestätigen, dass der gcloud-Befehl Ihr Projekt kennt.

gcloud config list project

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

gcloud config set project <YOUR_PROJECT_ID>

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 für 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“.

Andere erforderliche APIs aktivieren

Wie würden wir das tun? Fragen wir Gemini. Denken Sie aber daran:

Hinweis: LLMs sind nicht deterministisch. Die Antwort, die Sie erhalten, kann sich also von den Antworten in meinem Screenshot unterscheiden.

Rufen Sie die Gemini-Chatkonsole auf, indem Sie in der Google Cloud Console rechts oben neben der Suchleiste auf das Symbol „Gemini öffnen“ klicken.

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

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

Sie erhalten die Antwort, die im folgenden Bild zu sehen ist:

19c3fd78530794d9.png

Kopieren Sie den Befehl (Sie können 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 für Buchdaten untersuchen

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

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

39e2ac03cc99cbac.png

Geben Sie „gdelt-bq“ oder „internetarchivebooks“ in die Suchleiste ein und klicken Sie auf „ALLE PROJEKTE DURCHSUCHEN“. Erweitern Sie das Ergebnis und markieren Sie Internet Archive-Bücher mit einem Stern, wie im Bild unten dargestellt:

68dba68a79cddfc9.png.

Maximieren Sie das Dataset, klicken Sie auf „gdelt-bq.internetarchivebooks“ und sehen Sie sich dann die Daten in der Tabelle „1920“ an. Diese Tabelle enthält archivierte Bücher aus dem Jahr 1920.

Führen Sie die folgende Abfrage aus, um sich das Schema anzusehen, das wir in den folgenden Abschnitten verwenden werden:

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

In diesem Codelab verwenden wir die folgenden drei Felder:

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

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

Wir möchten ein Dataset im Projekt erstellen, um alle Datenbank- und Analyseobjekte zu speichern, die wir in diesem Lab erstellen werden. Fragen wir Gemini, wie ein BigQuery-Dataset erstellt wird. Ihr Gemini-Chat sollte bereits in einem anderen Tab in Ihrem Browser geöffnet sein, da Sie ihn im Schritt zum Aktivieren von APIs verwendet haben. Falls nicht, können Sie das jetzt tun. Rufen Sie die Google Cloud Console unter https://console.cloud.google.com auf. Das Gemini-Symbol sollte oben direkt neben der Suchleiste angezeigt werden. Klicken Sie darauf, um den Chat zu öffnen.

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 den Schritten in der Antwort, um in Ihrem aktiven Projekt ein Dataset 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 Bereich „Explorer“ auf Ihre Projekt-ID.
  3. Klicken Sie auf „Dataset erstellen“. Diese Option sollte in der Liste der Optionen angezeigt werden, wenn Sie auf das Dreipunkt-Menü neben Ihrer Projekt-ID klicken.
  4. Geben Sie „bookshelf“ als Namen des Datensatzes ein.
  5. Legen Sie den Standort auf „USA(mehrere Regionen)“ fest.
  6. Behalten Sie für die Schritte 3, 4, 5 und 6 aus der Antwort die Standardoptionen bei.
  7. Klicken Sie auf DATASET ERSTELLEN.

Ihr Dataset wird erstellt und im Bereich „Explorer“ angezeigt. Das Dataset „Bücherregal“ kann so aussehen:

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

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

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 Anfrage ist für mich korrekt, aber das bedeutet nicht, dass Sie genau dieselbe Ausgabe erhalten. Da es sich um ein großes Sprachmodell handelt, können die Antworten in Bezug auf Format, Umfang und Tiefe variieren. Wenn Sie nicht alle Details sehen, die ich erhalten habe, können Sie im Chat gern weiterführende Fragen stellen. Beispiele: Geben Sie weitere Informationen dazu an, wie die Verbindungsressource erstellt wird oder warum das Verbindungsattribut fehlt oder wie Sie eine Verbindung von BigQuery zu Vertex AI herstellen.

Hier ist ein Beispiel für einen Folge-Prompt (verwenden Sie diesen nur, wenn Sie eine Folgeantwort benötigen. Wenn die erste Antwort, die Sie erhalten haben, ausreichend ist, fahren Sie damit fort):

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

Hier ist die Antwort:

2ed9b3ed96b11bc9.png

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

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

ded96126495ffe9.png

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

434cdbbb3a9436f2.png

  1. Geben Sie eine Verbindungs-ID ein. Das kann eine ID Ihrer Wahl sein. Legen Sie sie vorerst auf bq-vx und die Region auf „US“ (multiregional) fest.
  2. Klicken Sie auf „Verbindung erstellen“.

d3a2aeebc3ecdfae.png

  1. Klicken Sie nach dem Erstellen der Verbindung auf „Zur Verbindung wechseln“.
  2. Kopieren Sie auf der Seite mit den Verbindungsinformationen die Dienstkonto-ID, da wir sie in den folgenden Schritten verwenden werden.
  3. Nachdem die Verbindung erstellt wurde, weisen wir der kopierten Dienstkonto-ID Berechtigungen zu, damit Vertex AI verwendet werden kann.
  4. Öffnen Sie in der Google Cloud Console Google Cloud IAM oder rufen Sie den Link auf.
  5. Klicken Sie im Bereich Nach Hauptkonten ansehen auf Zugriff gewähren.

5317eed5da0bb8c5.png

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

f213db33d220aa5f.png

Die erforderliche Verbindung wird erstellt. Die erforderliche Berechtigung wird für den Prinzipal (Dienstkonto der Verbindung) erteilt, um Vertex AI über BigQuery zu verwenden.

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

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

Als Alternative zum obigen Schritt können Sie Gemini bitten, eine Abfrage vorzuschlagen, mit der das Modell zum Aufrufen des Modells „text-bison-32k“ erstellt wird.

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

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

Wir erstellen jetzt eine Remote-Funktion in BigQuery mit der Java Cloud Functions-Funktion, die wir im Codelab 1 dieser Reihe erstellt haben, um das Gemini-Modell zu implementieren. Diese Remote-Funktion wird verwendet, um den Inhalt des Buchs zusammenzufassen.

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

Rufen Sie die BigQuery-Konsole auf und fügen Sie die folgende DDL-Anweisung in den Abfrageeditor ein. Sie können einen neuen Tab für den Abfrageeditor erstellen, indem Sie auf das Pluszeichen (+) klicken.

a54c0b0014666cac.png

Unten finden Sie die DDL, die Sie kopieren können. Ersetzen Sie den Endpunkt durch den Endpunkt Ihrer bereitgestellten Cloud-Funktion (aus Codelab 1). Wenn Sie keinen Endpunkt haben, können Sie die maskierten Zeichen in der folgenden DDL zu Demozwecken 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 für den Abfrageeditor. Fügen Sie die DDL-Anweisung oben in den BigQuery-Abfrageeditor ein. Nach dem Ausführen der Abfrage wird die folgende Antwort angezeigt:

a023d5691acf6f.png

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

9. Themen mit dem Remote-Modell zusammenfassen

Wir verwenden das von uns erstellte Remote-Modell „bookshelf.llm_model“, um ein konsolidiertes Keyword für das Buch aus der angegebenen Liste von Themen 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 Ergebnis-Feld ist verschachtelt. Fügen wir der Abfrage einige LLM-Parameter und das Attribut „flatten_json_output“ hinzu. Mit dem Attribut „flatten_json_output“ lässt sich die verschachtelte Struktur aus dem vom LLM generierten Ergebnis 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 Abfrageergebnis für Testzwecke auf 1 beschränkt. Das Ergebnis wird so angezeigt:

9b0d33eca61a73d2.png

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

Wir versuchen nun, das Buch zusammenzufassen, indem wir die Cloud Functions-Funktion „bookshelf.GEMINI_REMOTE_CALL“ ausführen, die wir zuvor erstellt haben.

Hinweis:Wenn Sie die Erstellung der Remote-FUNKTION (das vorherige Thema in diesem Codelab) übersprungen haben, müssen Sie auch den Funktionsaufruf bookshelf.GEMINI_REMOTE_CALL in der SELECT-Abfrage überspringen.

Verwenden Sie die SELECT-Abfrage, mit der die zuvor erstellte Remote-Funktion (GEMINI_REMOTE_CALL) aufgerufen wird. Der Aufruf dieser Funktion, GEMINI_REMOTE_CALL, enthält einen Prompt, in dem eine Zusammenfassung des Buchtexts angefordert 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 Teil des Volltexts des Buchs verwendet, um die Zusammenfassung zu erstellen.

Das Ergebnis der Abfrage sieht so aus:

658bb0a9c9cf0938.png

11. Buchdaten in einer Tabelle speichern

Nachdem wir die LLM-Aufrufe (Remote-Modell und -Funktion) aus BigQuery nur mit SQL-Abfragen getestet haben, erstellen wir eine BigQuery-Tabelle, in der die „Bücherregal“-Daten mit Themenstatistiken im selben Dataset wie das Remote-Modell und die Funktion gespeichert werden.

Wir könnten in diesem Schritt sowohl den LLM-Modellaufruf als auch den Remote-Funktionsaufruf einbeziehen. 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.

Dies 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, sieht das Ergebnis so aus:

2c6e08e75a680867.png

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

Das 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 von Gemini Chat lautet:

df6595a4b14f7b9.png

Hier ist die Abfrage, falls Sie sie direkt 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
      )
    )
);

Nachdem Sie die Abfrage im BigQuery-Editor ausgeführt haben, sieht das Ergebnis so aus:

2d1ce716f844b7ad.png

Geschafft! Sie können die Tabelle jetzt abfragen und mit den Daten experimentieren, um weitere Informationen zu erhalten.

12. Glückwunsch

Glückwunsch! Wir haben Folgendes erfolgreich abgeschlossen und Gemini in einigen Schritten des Prozesses verwendet:

  • Ein Remote-Modell in BigQuery 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, mit der diese bereitgestellte generative KI-Cloud-Funktion remote aufgerufen wird. Diese Funktion verwendet den Prompt als Eingabe und gibt einen String aus, der das Buch in fünf Zeilen zusammenfasst.
  • Das Remote-Modell und die Funktion wurden verwendet, um das Thema und den Text eines Buchs mit SQL-Abfragen zusammenzufassen und die Ergebnisse in eine neue Tabelle im Datensatz „Bücherregal“ zu schreiben.
  • Versuchen Sie als Folgeaufgabe, mit Gemini den SQL-Code zum Löschen der in BigQuery erstellten Objekte zu generieren. Dadurch wird der Bereinigungsschritt abgedeckt.