L'IA generativa su Vertex AI (nota anche come IA gen. o IA gen) ti consente di accedere ai modelli di IA generativa di Google per più modalità (testo, codice, immagini, parlato). Puoi testare e ottimizzare questi modelli linguistici di grandi dimensioni (LLM) e poi eseguire il loro deployment per utilizzarli nelle tue applicazioni basate sull'IA. Per ulteriori informazioni, consulta la panoramica dell'IA generativa su Vertex AI.
Vertex AI offre una serie di modelli di base di IA generativa accessibili tramite un'API, inclusi i modelli utilizzati nei seguenti esempi:
- Gemini Pro è progettato per gestire attività di elaborazione del linguaggio naturale, chat di testo e codice in più passaggi e generazione di codice.
- Gemini Pro Vision supporta i prompt multimodali. Puoi includere testo, immagini e video nelle tue richieste di prompt e ottenere risposte di testo o codice.
- Pathways Language Model 2 (PaLM 2) per il testo è ottimizzato per attività linguistiche come come classificazione, riassunto ed estrazione di entità.
Ogni modello è accessibile tramite un endpoint del publisher specifico per il tuo progetto Google Cloud, quindi non è necessario eseguire il deployment del modello di base a meno che tu non debba ottimizzarlo per un caso d'uso particolare. Puoi inviare una richiesta al publisher endpoint. Un prompt è una richiesta in linguaggio naturale inviata a un LLM per ottenere una risposta.
Questo tutorial illustra flussi di lavoro che generano risposte da
Modelli Vertex AI inviando prompt di testo al publisher
endpoint utilizzando un connettore Workflows o un POST
HTTP
richiesta. Per ulteriori informazioni, consulta
Panoramica del connettore API Vertex AI
ed effettua una richiesta HTTP.
Tieni presente che puoi eseguire il deployment e l'esecuzione di ciascun flusso di lavoro in modo indipendente.
Obiettivi
In questo tutorial imparerai a:
- Abilitare le API Vertex AI e Workflows e
concedi il ruolo Vertex AI User (
roles/aiplatform.user
) al tuo servizio . Questo ruolo consente di accedere alla maggior Vertex AI le funzionalità di machine learning. Per saperne di più sulla configurazione di Vertex AI, vedi Configura Google Cloud. - Esegui il deployment ed esegui un flusso di lavoro che chiede a un modello Vertex AI (Gemini Pro Vision) di descrivere un'immagine disponibile pubblicamente tramite Cloud Storage. Per saperne di più, consulta Rendere pubblici i dati.
- Esegui il deployment ed esegui un flusso di lavoro che esamini in parallelo un elenco di paesi e chieda a un modello Vertex AI (Gemini Pro) di generare e restituire le relative storie. L'utilizzo di rami paralleli consente di ridurre il tempo di esecuzione totale avviando contemporaneamente le chiamate all'LLM e aspettando il completamento di tutte prima di combinare i risultati. Per ulteriori informazioni, vedi Esegui i passaggi del flusso di lavoro in parallelo.
- Esegui il deployment di un flusso di lavoro simile al precedente. ma richiedi un dal modello Vertex AI (PaLM 2 per il testo) a generare e restituire le cronologie dei paesi. Per ulteriori informazioni su come scegliere un modello, consulta Informazioni sul modello.
- Esegui il deployment di un flusso di lavoro in grado di riassumere un documento di grandi dimensioni. Poiché esiste un limitato alla finestra di contesto che imposta quanto indietro dovrebbe tornare il modello per l'addestramento (e per le previsioni), il flusso di lavoro suddivide il documento in e poi richiede un modello Vertex AI (Gemini Pro) per riassumere ogni parte in parallelo. Per ulteriori informazioni, consulta Prompt di sintesi e Orizzonte di previsione, finestra di contesto e finestra di previsione.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.
Prima di iniziare
Prima di provare gli esempi di questo tutorial, assicurati di aver completato per eseguire le operazioni indicate di seguito.
Console
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
Esegui il deployment di un flusso di lavoro che descriva un'immagine (Gemini Pro Vision)
Deployment di un flusso di lavoro che utilizza un metodo del connettore
(generateContent
) per inviare una richiesta a Gemini Pro Vision
endpoint del publisher. Il metodo supporta la generazione di contenuti con input multimodali.
Il flusso di lavoro fornisce un prompt di testo e l'URI di un'immagine disponibile pubblicamente in un bucket Cloud Storage. Puoi visualizza l'immagine e nella console Google Cloud visualizza i dettagli dell'oggetto.
Il flusso di lavoro restituisce una descrizione dell'immagine dall'input del modello la risposta corretta.
Per ulteriori informazioni sui parametri del corpo della richiesta HTTP utilizzati durante la richiesta l'LLM e gli elementi del corpo della risposta, vedi Riferimento dell'API Gemini.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
describe-image
.Nell'elenco Regione, seleziona us-central1 (Iowa).
Per Account di servizio, seleziona l'account di servizio creato in precedenza.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il flusso di lavoro:
Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il tuo flusso di lavoro:
touch describe-image.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file di codice sorgente:
Esegui il deployment del flusso di lavoro inserendo il comando seguente:
gcloud workflows deploy describe-image \ --source=describe-image.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Esegui il flusso di lavoro
L'esecuzione di un flusso di lavoro esegue la definizione attuale del flusso di lavoro associata un flusso di lavoro di machine learning.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Nella pagina Flussi di lavoro, seleziona la describe-image per accedere alla relativa pagina dei dettagli.
Nella pagina Dettagli flusso di lavoro, fai clic su play_arrow Esegui.
In Input, inserisci quanto segue:
{"image_url":"gs://generativeai-downloads/images/scones.jpg"}
Fai di nuovo clic su Esegui.
Visualizza i risultati del flusso di lavoro nel riquadro Output.
L'output dovrebbe essere simile al seguente:
{ "image_description": "There are three pink peony flowers on the right side of the picture[]...]There is a white napkin on the table.", "image_url": "gs://generativeai-downloads/images/scones.jpg" }
gcloud
Apri un terminale.
Esegui il flusso di lavoro:
gcloud workflows run describe-image \ --data='{"image_url":"gs://generativeai-downloads/images/scones.jpg"}'
I risultati dell'esecuzione dovrebbero essere simili al seguente:
Waiting for execution [258b530e-a093-46d7-a4ff-cbf5392273c0] to complete...done. argument: '{"image_url":"gs://generativeai-downloads/images/scones.jpg"}' createTime: '2024-02-09T13:59:32.166409938Z' duration: 4.174708484s endTime: '2024-02-09T13:59:36.341118422Z' name: projects/1051295516635/locations/us-central1/workflows/describe-image/executions/258b530e-a093-46d7-a4ff-cbf5392273c0 result: "{\"image_description\":\"The picture shows a rustic table with a white surface,\ \ on which there are several scones with blueberries, as well as two cups of coffee\ [...] \ on the table. The background of the table is a dark blue color.\",\"image_url\"\ :\"gs://generativeai-downloads/images/scones.jpg\"}" startTime: '2024-02-09T13:59:32.166409938Z' state: SUCCEEDED
Esegui il deployment di un flusso di lavoro che genera cronologie dei paesi (Gemini Pro)
Implementare un flusso di lavoro che si ripete tramite un elenco di input di paesi in
parallelo
e utilizza un metodo del connettore
(generateContent
) per inviare una richiesta a Gemini Pro
endpoint del publisher. Il metodo supporta la generazione di contenuti con
di input multimodali.
Il flusso di lavoro restituisce le cronologie dei paesi generate dal modello, combinando in una mappa.
Per ulteriori informazioni sui parametri del corpo della richiesta HTTP utilizzati quando viene richiesto il prompt al LLM e sugli elementi del corpo della risposta, consulta il riferimento all'API Gemini.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
gemini-pro-country-histories
.Nell'elenco Regione, seleziona us-central1 (Iowa).
Per Account di servizio, seleziona l'account di servizio creato in precedenza.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il flusso di lavoro:
Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il tuo flusso di lavoro:
touch gemini-pro-country-histories.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file di codice sorgente:
Esegui il deployment del flusso di lavoro inserendo il comando seguente:
gcloud workflows deploy gemini-pro-country-histories \ --source=gemini-pro-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Esegui il flusso di lavoro
L'esecuzione di un flusso di lavoro esegue la definizione attuale del flusso di lavoro associata un flusso di lavoro di machine learning.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Nella pagina Flussi di lavoro, seleziona il flusso di lavoro gemini-pro-country-histories per accedere alla relativa pagina dei dettagli.
Nella pagina Dettagli flusso di lavoro, fai clic su play_arrow Esegui.
In Input, inserisci quanto segue:
{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}
Fai di nuovo clic su Esegui.
Visualizza i risultati del flusso di lavoro nel riquadro Output.
L'output dovrebbe essere simile al seguente:
{ "Argentina": "The history of Argentina is a complex and fascinating one, marked by periods of prosperity and decline, political [...] "Bhutan": "The history of Bhutan is a rich and fascinating one, dating back to the 7th century AD. Here is a brief overview: [...] "Cyprus": "The history of Cyprus is a long and complex one, spanning over 10,000 years. The island has been ruled by a succession [...] "Denmark": "1. **Prehistory and Early History (c. 12,000 BC - 800 AD)**\\n - The earliest evidence of human habitation in Denmark [...] "Ethiopia": "The history of Ethiopia is a long and complex one, stretching back to the earliest human civilizations. The country is [...] }
gcloud
Apri un terminale.
Esegui il flusso di lavoro:
gcloud workflows run gemini-pro-country-histories \ --data='{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}' \ --location=us-central1
I risultati dell'esecuzione dovrebbero essere simili al seguente:
Waiting for execution [7ae1ccf1-29b7-4c2c-99ec-7a12ae289391] to complete...done. argument: '{"countries":["Argentina","Bhutan","Cyprus","Denmark","Ethiopia"]}' createTime: '2024-02-09T16:25:16.742349156Z' duration: 12.075968673s endTime: '2024-02-09T16:25:28.818317829Z' name: projects/1051295516635/locations/us-central1/workflows/gemini-pro-country-histories/executions/7ae1ccf1-29b7-4c2c-99ec-7a12ae289391 result: "{\"Argentina\":\"The history of Argentina can be traced back to the arrival\ [...] n* 2015: Argentina elects Mauricio Macri as president.\",\"Bhutan\":\"The history\ [...] \ natural beauty, ancient monasteries, and friendly people.\",\"Cyprus\":\"The history\ [...] ,\"Denmark\":\"The history of Denmark can be traced back to the Stone Age, with\ [...] \ a high standard of living.\",\"Ethiopia\":\"The history of Ethiopia is long and\ [...] startTime: '2024-02-09T16:25:16.742349156Z' state: SUCCEEDED
Esegui il deployment di un flusso di lavoro che genera le storie dei paesi (PaLM 2 per il testo)
È possibile che non voglia usare Gemini Pro come modello. La
L'esempio seguente utilizza un flusso di lavoro simile a quello precedente; ma utilizza
un metodo del connettore
(predict
) per effettuare una richiesta a PaLM 2
per l'endpoint del publisher di testo. Il metodo esegue una previsione online.
Per ulteriori informazioni sui parametri del corpo della richiesta HTTP utilizzati per richiedere l'LLM e sugli elementi del corpo della risposta, consulta il riferimento all'API PaLM 2 per il testo.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
text-bison-country-histories
.Nell'elenco Regione, seleziona us-central1 (Iowa).
Per Account di servizio, seleziona l'account di servizio creato in precedenza.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il tuo flusso di lavoro:
Tieni presente che, a seconda del modello utilizzato, potresti dover rimuovere eventuali spazi bianchi non necessari dalla risposta.
Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il tuo flusso di lavoro:
touch text-bison-country-histories.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file del codice sorgente:
Tieni presente che, a seconda del modello utilizzato, potrebbe essere necessario rimuovere spazi vuoti non necessari nella risposta.
Esegui il deployment del flusso di lavoro inserendo il comando seguente:
gcloud workflows deploy text-bison-country-histories \ --source=text-bison-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Esegui il deployment di un flusso di lavoro che riassume un documento di grandi dimensioni (Gemini Pro)
Implementa un flusso di lavoro che suddivide un documento di grandi dimensioni in parti più piccole, inviando
http.post
richieste a un endpoint del publisher Gemini Pro in
parallelo in modo che il modello possa riepilogare ogni parte contemporaneamente. Infine, il flusso di lavoro combina tutti i riepiloghi parziali in uno completo.
Per ulteriori informazioni sui parametri del corpo della richiesta HTTP utilizzati quando viene richiesto il prompt al LLM e sugli elementi del corpo della risposta, consulta il riferimento all'API Gemini.
La definizione del flusso di lavoro presuppone che tu abbia creato un
bucket Cloud Storage in cui puoi caricare un file di testo. Per ulteriori informazioni sul connettore Workflows (googleapis.storage.v1.objects.get
) utilizzato per recuperare gli oggetti dal bucket Cloud Storage, consulta la sezione Guida di riferimento dei connettori.
Dopo aver eseguito il deployment del flusso di lavoro, puoi eseguirlo creando un attivatore Eventarc appropriato e caricando un file nel bucket. Per
ulteriori informazioni, vedi
Instrada gli eventi di Cloud Storage a Workflows.
Tieni presente che devono essere abilitate API aggiuntive e devono essere ruoli aggiuntivi
concesso, inclusa la concessione al tuo account di servizio dell'utente oggetto Storage
Ruolo (roles/storage.objectUser
) che supporta l'utilizzo di Cloud Storage
di oggetti strutturati. Per ulteriori informazioni, consulta la sezione Prepararsi a creare un attivatore.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
gemini-pro-summaries
.Nell'elenco Regione, seleziona us-central1 (Iowa).
Per Account di servizio, seleziona l'account di servizio creato in precedenza.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il flusso di lavoro:
Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il tuo flusso di lavoro:
touch gemini-pro-summaries.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file di codice sorgente:
Esegui il deployment del flusso di lavoro inserendo il seguente comando:
gcloud workflows deploy gemini-pro-summaries \ --source=gemini-pro-summaries.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
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.
Elimina il progetto
Console
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Elimina singole risorse
Elimina i flussi di lavoro che hai creato in questo tutorial.
Passaggi successivi
- Scopri di più sui connettori di Workflows.
- Scopri di più sul metodo
generateContent
di Vertex AI. - Scopri di più sul metodo
predict
di Vertex AI.