Questo tutorial mostra come generare testo da testo, audio o video utilizzando la funzione AI.GENERATE insieme a un modello Gemini ospitato. Questo approccio elimina la necessità di creare e gestire un modello personalizzato.
Obiettivi
- Riassumere articoli.
- Genera un output strutturato dagli articoli che include un riepilogo e il sentiment generale.
- Crea una trascrizione di un video in giapponese e traducila in inglese.
- Genera un riepilogo e un elenco di argomenti dai contenuti audio.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model.
Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi.
Per saperne di più, consulta la pagina relativa ai prezzi di BigQuery e ai prezzi di Agent Platform.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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.
-
Abilita l'API BigQuery, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Per i nuovi progetti, l'API BigQuery viene abilitata automaticamente.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per utilizzare la funzione AI.GENERATE, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Creare e utilizzare set di dati e tabelle BigQuery:
BigQuery Data Editor (
roles/bigquery.dataEditor) sul tuo progetto. -
Creare, delegare e utilizzare le connessioni BigQuery:
BigQuery Connections Admin (
roles/bigquery.connectionsAdmin) sul tuo progetto. -
Concedi le autorizzazioni al account di servizio della connessione:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) sul progetto che contiene l'endpoint della piattaforma Gemini Enterprise Agent. -
Creare job BigQuery:
Utente job BigQuery (
roles/bigquery.jobUser) nel tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono
le autorizzazioni necessarie per utilizzare la funzione AI.GENERATE. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare la funzione AI.GENERATE sono necessarie le seguenti autorizzazioni:
-
Crea un set di dati:
bigquery.datasets.create -
Crea, delega e utilizza una connessione:
bigquery.connections.* -
Imposta le autorizzazioni del account di servizio:
-
resourcemanager.projects.getIamPolicy -
resourcemanager.projects.setIamPolicy
-
-
Esegui query sui dati della tabella:
bigquery.tables.getData
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea un set di dati
Crea un set di dati BigQuery per contenere le tue risorse:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
Nel riquadro Explorer, fai clic sul nome del progetto.
Fai clic su Visualizza azioni > Crea set di dati.
Nella pagina Crea set di dati, segui questi passaggi:
In ID set di dati, digita un nome per il set di dati.
Per Tipo di località, seleziona Regione o Multi-regione.
- Se hai selezionato Regione, seleziona una località dall'elenco Regione.
- Se hai selezionato Multiregione, seleziona Stati Uniti o Europa dall'elenco Multiregione.
Fai clic su Crea set di dati.
bq
Crea una connessione
Dopo aver creato il set di dati di addestramento, stabilisci una connessione per collegare BigQuery e le origini esterne. Crea una connessione alle risorse Cloud e ottieni il account di servizio della connessione. Crea la connessione nella stessa località del set di dati che hai creato nel passaggio precedente.
Seleziona una delle seguenti opzioni:Console
Vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Explorer:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
Nel riquadro Explorer, espandi il nome del progetto, quindi fai clic su Connessioni.
Nella pagina Connessioni, fai clic su Crea connessione.
In Tipo di connessione, scegli Modelli remoti di Vertex AI, funzioni remote, BigLake e Spanner (risorsa Cloud).
Nel campo ID connessione, inserisci un nome per la connessione.
In Tipo di località, seleziona una località per la connessione. La connessione deve essere collocata insieme alle altre risorse, ad esempio i set di dati.
Fai clic su Crea connessione.
Fai clic su Vai alla connessione.
Nel riquadro Informazioni sulla connessione, copia l'ID account di servizio da utilizzare in un passaggio successivo.
SQL
Utilizza l'istruzione CREATE CONNECTION:
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE CONNECTION [IF NOT EXISTS] `CONNECTION_NAME` OPTIONS ( connection_type = "CLOUD_RESOURCE", friendly_name = "FRIENDLY_NAME", description = "DESCRIPTION" );
Sostituisci quanto segue:
-
CONNECTION_NAME: il nome della connessione nel formatoPROJECT_ID.LOCATION.CONNECTION_ID,LOCATION.CONNECTION_IDoCONNECTION_ID. Se il progetto o la località vengono omessi, vengono dedotti dal progetto e dalla località in cui viene eseguita l'istruzione. -
FRIENDLY_NAME(facoltativo): un nome descrittivo per la connessione. -
DESCRIPTION(facoltativo): una descrizione della connessione.
-
Fai clic su Esegui.
Per saperne di più su come eseguire le query, consulta Esegui una query interattiva.
bq
In un ambiente a riga di comando, crea una connessione:
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
Il parametro
--project_idsostituisce il progetto predefinito.Sostituisci quanto segue:
REGION: la tua regione di connessionePROJECT_ID: il tuo ID progetto Google CloudCONNECTION_ID: un ID per la tua connessione
Quando crei una risorsa di connessione, BigQuery crea un account di servizio di sistema univoco e lo associa alla connessione.
Risoluzione dei problemi: se ricevi il seguente errore di connessione, aggiorna Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Recupera e copia l'ID del account di servizio da utilizzare in un passaggio successivo:
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
L'output è simile al seguente:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Python.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Node.js.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Terraform
Utilizza la risorsa google_bigquery_connection.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente crea una connessione alle risorse Cloud denominata
my_cloud_resource_connection nella regione US:
Per applicare la configurazione Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempiomain.tf. In questo tutorial, il file è denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tfappena creato.Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare l'ultima versione del provider Google, includi l'opzione
-upgrade:terraform init -upgrade
Applica le modifiche
-
Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo il comando seguente e inserendo
yesal prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!".
- Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Concedi l'accesso al account di servizio
Concedi al account di servizio della connessione i ruoli Agent Platform User e Storage Object Viewer. Per concedere i ruoli, segui questi passaggi:
Vai alla pagina IAM e amministrazione.
Fai clic su Aggiungi.
Viene visualizzata la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci l'ID del account di servizio che hai copiato in precedenza.
Nel campo Seleziona un ruolo, seleziona Vertex AI, quindi seleziona Utente Agent Platform.
Fai clic su Aggiungi un altro ruolo.
Nel campo Seleziona un ruolo, scegli Cloud Storage e poi seleziona Visualizzatore oggetti Storage.
Fai clic su Salva.
Riassumi il testo e utilizza il formato di output predefinito
Per riassumere gli articoli, chiama la funzione AI.GENERATE con il testo dell'articolo come prompt. Per impostazione predefinita, l'output include il testo del riepilogo generato, la risposta completa e uno stato vuoto se la funzione viene restituita correttamente.
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, esegui questa query:
WITH bbc_news AS ( SELECT body FROM `bigquery-public-data.bbc_news.fulltext` LIMIT 5 ) SELECT AI.GENERATE(body) AS news FROM bbc_news;
L'output è simile al seguente:
+---------------------------------------------+------------------------------------+---------------+ | 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... | | +---------------------------------------------+------------------------------------+---------------+ | ... | ... | ... | +---------------------------------------------+------------------------------------+---------------+
Riassumere il testo e generare risultati strutturati
Segui questi passaggi per generare testo utilizzando la funzione AI.GENERATE e utilizza l'argomento output_schema della funzione AI.GENERATE per formattare l'output:
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, esegui questa query:
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, output_schema => 'summary STRING, good_sentiment BOOL')]) AS news;
L'output è simile al seguente:
+----------------+--------------------------------------------+ | good_sentiment | summary | +----------------+--------------------------------------------+ | true | A World Bank report suggests the digital | | | divide is rapidly closing due to increased | | | access to technology in developing... | +----------------+--------------------------------------------+ | false | A massive earthquake and subsequent | | | waves have devastated southern Asia, with | | | Sri Lanka, India, Indonesia, and... | +----------------+--------------------------------------------+ | ... | ... | +----------------+--------------------------------------------+
Trascrivi e traduci i contenuti video
Puoi elaborare i file multimediali archiviati in Cloud Storage utilizzando tabelle di oggetti esterni. I passaggi seguenti mostrano come creare una tabella di oggetti per i file video, trascrivere i contenuti video in giapponese e tradurre il testo in inglese.
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, esegui questa query per creare la tabella degli oggetti:
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/*']);
Nell'editor di query, esegui la seguente query per trascrivere e tradurre il file
pixel8.mp4:SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Transcribe the video in Japanese and then translate to English.'), output_schema => 'japanese_transcript STRING, english_translation STRING' ).* EXCEPT (full_response, status) FROM `bqml_tutorial.video` WHERE REGEXP_CONTAINS(uri, 'pixel8.mp4');
L'output è simile al seguente:
+--------------------------------------------+--------------------------------+ | 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... | す 。 東京 に は いろんな 顔 が | +--------------------------------------------+--------------------------------+
Analizza i contenuti dei file audio
Segui questi passaggi per creare una tabella di oggetti sui contenuti audio pubblici e poi analizza i contenuti dei file audio.
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, esegui questa query per creare la tabella degli oggetti:
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/*']);
Nell'editor di query, esegui la query seguente per analizzare i file audio:
SELECT AI.GENERATE( (OBJ.GET_ACCESS_URL(ref, 'r'), 'Summarize the content of this audio file.'), output_schema => 'topic ARRAY<STRING>, summary STRING' ).* EXCEPT (full_response, status), uri FROM `bqml_tutorial.audio`;
I risultati sono simili ai seguenti:
+--------------------------------------------+-----------------------------------------------------------+ | 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 | | +--------------------------------------------+--------------------+--------------------------------------+ | ... | ... | ... | +--------------------------------------------+--------------------+--------------------------------------+
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Elimina singole risorse
Se vuoi riutilizzare il progetto, elimina le risorse che hai creato per il tutorial.
Console
Vai alla pagina BigQuery.
Elimina il set di dati
bqml_tutorial. Se elimini il set di dati, viene eliminato anche il modello remoto.Nel riquadro Explorer, espandi il progetto e fai clic su Set di dati.
Nell'elenco Set di dati, fai clic sul set di dati
bqml_tutorial.Nel riquadro dei dettagli, fai clic su Elimina.
Nella finestra di dialogo Elimina set di dati, fai clic su Elimina.
Elimina la connessione:
Nel riquadro Explorer, espandi il progetto e fai clic su Connessioni.
Nell'elenco ID connessione, fai clic sulla connessione che hai creato.
Nel riquadro dei dettagli, fai clic su Elimina.
Nella finestra di dialogo Elimina connessione, inserisci
deleteper confermare l'eliminazione.Fai clic su Elimina.
gcloud
Elimina il set di dati
bqml_tutoriale il modello remoto:bq rm --dataset --recursive bqml_tutorialElimina la connessione.
bq rm --connection PROJECT_ID.LOCATION.CONNECTION_IDSostituisci quanto segue:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la località della connessione
- CONNECTION_ID: l'ID connessione
Passaggi successivi
- Scopri di più sull'AI generativa in BigQuery.
- Scopri di più sulla scelta di una funzione di generazione di testo.