Text mit der Funktion AI.GENERATE generieren
In dieser Anleitung erfahren Sie, wie Sie mit der Funktion AI.GENERATE Text aus Text- oder multimodalen Daten generieren.
Mit der Funktion AI.GENERATE stellen Sie über eine Cloud-Ressourcenverbindung eine Verbindung zu einem gehosteten Gemini-Modell her, sodass Sie kein eigenes Modell erstellen und verwalten müssen.
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Fassen Sie Textinhalte zusammen und geben Sie die Ergebnisse im Standardformat der Funktion aus.
- Textinhalte zusammenfassen und strukturierte Ergebnisse ausgeben
- Videoinhalte transkribieren und übersetzen
- Inhalte von Audiodateien analysieren
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Vertex AI: You incur costs for calls to the Vertex AI model.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Weitere Informationen zu den Preisen von BigQuery finden Sie unter BigQuery: Preise in der BigQuery-Dokumentation.
Weitere Informationen zu den Preisen für generative KI in Vertex AI finden Sie auf der Seite Vertex AI-Preise.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- BigQuery ist in neuen Projekten automatisch aktiviert.
Wenn Sie BigQuery in einem bestehenden Projekt aktivieren möchten, wechseln Sie zu
Aktivieren Sie die BigQuery API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen
Erforderliche Rollen
Damit Sie die Funktion AI.GENERATE verwenden können, benötigen Sie die folgenden IAM-Rollen (Identity and Access Management):
- BigQuery-Datasets und ‑Tabellen erstellen und verwenden: Rolle „BigQuery-Datenbearbeiter“ (
roles/bigquery.dataEditor) für Ihr Projekt. - BigQuery-Verbindungen erstellen, delegieren und verwenden: BigQuery-Verbindungsadministrator (
roles/bigquery.connectionsAdmin) für Ihr Projekt. - Gewähren Sie dem Dienstkonto der Verbindung die Berechtigungen „Projekt-IAM-Administrator“ (
roles/resourcemanager.projectIamAdmin) für das Projekt, das den Vertex AI-Endpunkt enthält. - BigQuery-Jobs erstellen: Rolle „BigQuery Job User“ (
roles/bigquery.jobUser) für Ihr Projekt.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen der Aufgaben in diesem Dokument erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
- Dataset erstellen:
bigquery.datasets.create - Verbindung erstellen, delegieren und verwenden:
bigquery.connections.* - Dienstkontoberechtigungen festlegen:
resourcemanager.projects.getIamPolicyundresourcemanager.projects.setIamPolicy - Tabellendaten abfragen:
bigquery.tables.getData
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Dataset erstellen
Erstellen Sie ein BigQuery-Dataset zum Speichern Ihres ML-Modells.
Console
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.
Klicken Sie auf Aktionen ansehen > Dataset erstellen.
Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:
Geben Sie unter Dataset-ID
bqml_tutorialein.Wählen Sie als Standorttyp die Option Multiregional und dann USA aus.
Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.
bq
Wenn Sie ein neues Dataset erstellen möchten, verwenden Sie den Befehl bq mk --dataset.
Erstellen Sie ein Dataset mit dem Namen
bqml_tutorialund legen Sie den Datenspeicherort aufUSfest.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Prüfen Sie, ob das Dataset erstellt wurde:
bq ls
API
Rufen Sie die Methode datasets.insert mit einer definierten Dataset-Ressource auf.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Verbindung herstellen
Erstellen Sie eine Cloud-Ressourcenverbindung und rufen Sie das Dienstkonto der Verbindung ab. Erstellen Sie die Verbindung am selben Speicherort wie das Dataset, das Sie im vorherigen Schritt erstellt haben.
So erstellen Sie eine Verbindung:
Rufen Sie die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf Daten hinzufügen:
Das Dialogfeld Daten hinzufügen wird geöffnet.
Wählen Sie im Bereich Filtern nach im Abschnitt Datenquellentyp die Option Geschäftsanwendungen aus.
Alternativ können Sie im Feld Nach Datenquellen suchen
Vertex AIeingeben.Klicken Sie im Abschnitt Empfohlene Datenquellen auf Vertex AI.
Klicken Sie auf die Lösungsübersichtskarte Vertex AI-Modelle: BigQuery Federation.
Wählen Sie in der Liste Verbindungstyp die Option Vertex AI-Remote-Modelle, Remote-Funktionen, BigLake und Cloud Spanner (Cloud-Ressource) aus.
Geben Sie im Feld Verbindungs-ID
test_connectionein.Klicken Sie auf Verbindung erstellen.
Klicken Sie auf Zur Verbindung.
Kopieren Sie im Bereich Verbindungsinformationen die Dienstkonto-ID zur Verwendung im nächsten Schritt.
Dem Dienstkonto Zugriff gewähren
Weisen Sie dem Dienstkonto der Verbindung die Rolle „Vertex AI-Nutzer“ zu.
So weisen Sie die Rolle zu:
Zur Seite IAM & Verwaltung.
Klicken Sie auf Hinzufügen.
Das Dialogfeld Principals hinzufügen wird geöffnet.
Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID ein, die Sie zuvor kopiert haben.
Wählen Sie im Feld Rolle auswählen die Option Vertex AI und dann Vertex AI-Nutzer aus.
Klicken Sie auf Weitere Rolle hinzufügen.
Wählen Sie im Feld Rolle auswählen die Option Cloud Storage und dann Storage Object Viewer aus.
Klicken Sie auf Speichern.
Text zusammenfassen und das Standardausgabeformat verwenden
So generieren Sie Text mit der Funktion AI.GENERATE und geben die Ergebnisse im Standardformat der Funktion AI.GENERATE aus:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Führen Sie im Abfrageeditor folgende Abfrage aus:
WITH bbc_news AS ( SELECT body FROM `bigquery-public-data.bbc_news.fulltext` LIMIT 5 ) SELECT AI.GENERATE(body, connection_id => 'us.test_connection') AS news FROM bbc_news;
Die Ausgabe sieht etwa so aus:
+---------------------------------------------+------------------------------------+---------------+ | news.result | news.full_response | news.status | +---------------------------------------------+------------------------------------+---------------+ | This article presents a debate about the | {"candidates":[{"avg_logprobs": | | | "digital divide" between rich and poor | -0.31465074559841777, content": | | | nations. Here's a breakdown of the key.. | {"parts":[{"text":"This article.. | | +---------------------------------------------+------------------------------------+---------------+ | This article discusses how advanced | {"candidates":[{"avg_logprobs": | | | mapping technology is aiding humanitarian | -0.21313422900091983,"content": | | | efforts in Darfur, Sudan. Here's a... | {"parts":[{"text":"This article.. | | +---------------------------------------------+------------------------------------+---------------+ | ... | ... | ... | +---------------------------------------------+------------------------------------+---------------+
Text zusammenfassen und strukturierte Ergebnisse ausgeben
So generieren Sie Text mit der Funktion AI.GENERATE und formatieren die Ausgabe mit dem Argument output_schema der Funktion AI.GENERATE:
Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.
Führen Sie im Abfrageeditor folgende Abfrage aus:
WITH bbc_news AS ( SELECT body FROM `bigquery-public-data`.bbc_news.fulltext LIMIT 5 ) SELECT news.good_sentiment, news.summary FROM bbc_news, UNNEST(ARRAY[AI.GENERATE(body, connection_id => 'us.test', output_schema => 'summary STRING, good_sentiment BOOL')]) AS news;
Die Ausgabe sieht etwa so aus:
+----------------+--------------------------------------------+ | good_sentiment | summary | +----------------+--------------------------------------------+ | true | A World Bank report suggests the digital | | | divide is rapidly closing due to increased | | | access to technology in developing.. | +----------------+--------------------------------------------+ | true | A review of sports games, focusing on the | | | rivalry between EA Sports and ESPN, and | | | the recent deal where EA acquired the.. | +----------------+--------------------------------------------+ | ... | ... | +----------------+--------------------------------------------+
Videoinhalte transkribieren und übersetzen
So erstellen Sie eine Objekttabelle für öffentliche Videoinhalte und transkribieren und übersetzen dann ein Video:
Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.
Führen Sie im Abfrageeditor die folgende Abfrage aus, um die Objekttabelle zu erstellen:
CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.video` WITH CONNECTION `us.test_connection` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://cloud-samples-data/generative-ai/video/*']);
Führen Sie im Abfrageeditor die folgende Abfrage aus, um die Datei
pixel8.mp4zu transkribieren und zu übersetzen:SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Transcribe the video in Japanese and then translate to English.'), connection_id => 'us.test_connection', endpoint => 'gemini-2.5-flash', output_schema => 'japanese_transcript STRING, english_translation STRING' ).* EXCEPT (full_response, status) FROM `bqml_tutorial.video` WHERE REGEXP_CONTAINS(uri, 'pixel8.mp4');
Die Ausgabe sieht etwa so aus:
+--------------------------------------------+--------------------------------+ | english_translation | japanese_transcript | +--------------------------------------------+--------------------------------+ | My name is Saeka Shimada. I'm a | 島田 さえか です 。 東京 で フ | | photographer in Tokyo. Tokyo has many | ォトグラファー を し て い ま | | faces. The city at night is totally... | す 。 東京 に は いろんな 顔 が | +--------------------------------------------+--------------------------------+
Inhalte von Audiodateien analysieren
Gehen Sie so vor, um eine Objekttabelle für öffentliche Audioinhalte zu erstellen und dann die Inhalte der Audiodateien zu analysieren.
Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.
Führen Sie im Abfrageeditor die folgende Abfrage aus, um die Objekttabelle zu erstellen:
CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.audio` WITH CONNECTION `us.test_connection` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://cloud-samples-data/generative-ai/audio/*']);
Führen Sie im Abfrageeditor die folgende Abfrage aus, um die Audiodateien zu analysieren:
SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Summarize the content of this audio file.'), connection_id => 'us.test_connection', endpoint => 'gemini-2.5-flash', output_schema => 'topic ARRAY<STRING>, summary STRING' ).* EXCEPT (full_response, status), uri FROM `bqml_tutorial.audio`;
Die Ergebnisse sehen in etwa so aus:
+--------------------------------------------+-----------------------------------------------------------+ | summary | topic | uri | +--------------------------------------------+-----------------------------------------------------------+ | The audio contains a distinctive 'beep' | beep sound | gs://cloud-samples-data/generativ... | | sound, followed by the characteristic | | | | sound of a large vehicle or bus backing.. | | | +--------------------------------------------+--------------------+--------------------------------------+ | | vehicle backing up | | | +--------------------+ | | | bus | | | +--------------------+ | | | alarm | | +--------------------------------------------+--------------------+--------------------------------------+ | The speaker introduces themselves | Introduction | gs://cloud-samples-data/generativ... | | as Gemini and expresses their excitement | | | | and readiness to dive into something.. | | | +--------------------------------------------+--------------------+--------------------------------------+ | | Readiness | | | +--------------------+ | | | Excitement | | | +--------------------+ | | | Collaboration | | +--------------------------------------------+--------------------+--------------------------------------+ | ... | ... | ... | +--------------------------------------------+--------------------+--------------------------------------+
Bereinigen
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.