Generare testo utilizzando un modello aperto Gemma e la funzione AI.GENERATE_TEXT
Questo tutorial mostra come creare un
modello remoto
basato sul
modello Gemma,
e come utilizzare tale modello con la
AI.GENERATE_TEXT funzione
per estrarre le parole chiave ed eseguire l'analisi del sentiment sulle recensioni di film dalla
tabella pubblica bigquery-public-data.imdb.reviews.
Autorizzazioni obbligatorie
Per eseguire questo tutorial, devi disporre dei seguenti ruoli Identity and Access Management (IAM):
- Crea e utilizza set di dati, connessioni e modelli BigQuery: Amministratore BigQuery (
roles/bigquery.admin). - Concedi le autorizzazioni al account di servizio della connessione: Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin). - Esegui il deployment e annulla il deployment dei modelli in Vertex AI: Amministratore Vertex AI (
roles/aiplatform.admin).
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire le attività descritte in questo documento. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
- Crea un set di dati:
bigquery.datasets.create - Crea, delega e utilizza una connessione:
bigquery.connections.* - Imposta la connessione predefinita:
bigquery.config.* - Imposta le autorizzazioni del account di servizio:
resourcemanager.projects.getIamPolicyeresourcemanager.projects.setIamPolicy - Esegui il deployment e annulla il deployment di un modello Agent Platform:
aiplatform.endpoints.deployaiplatform.endpoints.undeploy
- Crea un modello ed esegui l'inferenza:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
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.
- Vertex AI: You incur costs for calls to the Agent Platform model that's represented by the remote model.
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Per ulteriori informazioni sui prezzi di BigQuery, consulta la pagina Prezzi di BigQuery nella documentazione di BigQuery.
I modelli aperti di cui esegui il deployment su Agent Platform vengono addebitati per ora di macchina. Ciò significa che la fatturazione inizia non appena l'endpoint è completamente configurato e continua fino a quando non annulli il deployment. Per ulteriori informazioni sui prezzi di Agent Platform, consulta la pagina Prezzi di Agent Platform.
Prima di iniziare
-
Nella Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.
-
Abilita le API BigQuery, BigQuery Connection e Vertex AI.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.
Crea un set di dati
Crea un set di dati BigQuery per archiviare il tuo modello ML.
Console
Nella Google Cloud console, vai alla pagina BigQuery.
Nel riquadro Spazio di esplorazione, 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, inserisci
bqml_tutorial.In Tipo di località, seleziona Più regioni e poi seleziona Stati Uniti.
Lascia invariate le restanti impostazioni predefinite e fai clic su Crea set di dati.
bq
Per creare un nuovo set di dati, utilizza il
bq mk --dataset comando.
Crea un set di dati denominato
bqml_tutorialcon la località dei dati impostata suUS.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Verifica che il set di dati sia stato creato:
bq ls
API
Chiama il datasets.insert
metodo con una risorsa del set di dati definita.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Crea il modello remoto
Crea un modello remoto che rappresenti un modello Agent Platform ospitato:
Nella Google Cloud console, vai alla pagina BigQuery.
Nell'editor di query, esegui la seguente istruzione:
CREATE OR REPLACE MODEL `bqml_tutorial.gemma_model` REMOTE WITH CONNECTION DEFAULT OPTIONS ( MODEL_GARDEN_MODEL_NAME = 'publishers/google/models/gemma3@gemma-3-270m-it', MACHINE_TYPE = 'g2-standard-12' );
Il completamento della query richiede fino a 20 minuti, dopodiché il modello gemma_model viene visualizzato nel set di dati bqml_tutorial nel riquadro Spazio di esplorazione. Poiché la query utilizza un'istruzione CREATE MODEL per creare un modello, non vengono visualizzati i risultati della query.
Esegui l'estrazione delle parole chiave
Esegui l'estrazione delle parole chiave dalle recensioni di film IMDB utilizzando il modello remoto e la funzione AI.GENERATE_TEXT:
Nella Google Cloud console, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione per eseguire l'estrazione delle parole chiave su 10 recensioni di film:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Extract the key words from the movie review below: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 100 AS max_output_tokens));
L'output è simile al seguente, con le colonne non generate omesse per chiarezza:
+----------------------------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Romance:** | | the movie review below: | | | "romantic tryst," "elope" * **Comedy:** | | Linda Arvidson (as Jennie) | | | "Contrived Comedy" * **Burglary:** | | and Harry Solter (as Frank) | | | "burglar," "rob," "booty" * **Chase:** | | are enjoying a romantic | | | "chases," "escape" * **Director:** "D.W. | | tryst, when in walks her... | | | Griffith" * **Actors:** "Linda Arvidson,"... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Elderbush Gilch:** The | | the movie review below: | | | name of the movie being reviewed. * | | This is the second addition | | | **Disappointment:** The reviewer's | | to Frank Baum's personally | | | overall feeling about the film. * | | produced trilogy of Oz | | | **Dim-witted:** Describes the story | | films. It's essentially ... | | | line negatively. * **Moronic, sadistic,... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+I risultati includono le seguenti colonne:
result: il testo generato.status: lo stato della risposta dell'API per la riga corrispondente. Se l'operazione è andata a buon fine, questo valore è vuoto.prompt: il prompt utilizzato per l'analisi del sentiment.- Tutte le colonne della tabella
bigquery-public-data.imdb.reviews.
Esegui l'analisi del sentiment
Esegui l'analisi del sentiment sulle recensioni di film IMDB utilizzando il modello remoto e la funzione AI.GENERATE_TEXT:
Nella Google Cloud console, vai alla pagina BigQuery.
Nell'editor di query, esegui la seguente istruzione per eseguire l'analisi del sentiment su 10 recensioni di film:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Analyze the sentiment of the following movie review and classify it as either POSITIVE or NEGATIVE. \nMovie Review: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 128 AS max_output_tokens));
L'output è simile al seguente, con le colonne non generate omesse per chiarezza:
+-----------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Although Charlie Chaplin | | | | | made some great short | | | | | comedies in the late... | | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Opulent sets and sumptuous | | | | | costumes well photographed | | | | | by Theodor Sparkuhl, and... | | +-----------------------------+-------------------------+-----------------------------+-----+I risultati includono le stesse colonne documentate per Esegui l'estrazione delle parole chiave.
Annulla il deployment del modello
Se scegli di non eliminare il progetto come consigliato, devi
annullare il deployment del modello Gemma in Agent Platform per evitare la
fatturazione continua. BigQuery annulla automaticamente il deployment del modello dopo un periodo di inattività specificato (6,5 ore per impostazione predefinita).
In alternativa, puoi annullare immediatamente il deployment del modello utilizzando l'
ALTER MODEL istruzione,
come mostrato nell'esempio seguente:
ALTER MODEL `bqml_tutorial.gemma_model` SET OPTIONS (deploy_model = false);
Per ulteriori informazioni, consulta Annullamento del deployment automatico o immediato del modello aperto.
Libera spazio
- Nella Google Cloud console, 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.