Un tour di Gemini Code Assist Standard ed Enterprise per gli sviluppatori nell'editor di Google Cloud Shell

1. Introduzione

In questo lab utilizzerai Gemini Code Assist, un collaboratore basato sull'AI in Google Cloud. Acquisirai familiarità con l'utilizzo di Gemini Chat e dell'assistenza per il codice in linea per generare codice, comprenderlo e svolgere altre attività di codifica assistita dall'AI.

Cosa farai...

  • Utilizzerai l'IDE di Cloud Shell per scaricare un modello di codice esistente per un'applicazione web.
  • Utilizzerai Gemini Chat nell'IDE di Cloud Shell per porre domande generali su Google Cloud.
  • Utilizzerai l'assistenza per il codice in linea di Gemini Code Assist nell'IDE di Cloud Shell per generare, riassumere e completare il codice.

Cosa imparerai...

  • Come utilizzare Gemini Code Assist per diverse attività di sviluppo, come la generazione, il completamento e il riepilogo del codice.
  • Come utilizzare Cloud Assist per scoprire di più su Google Cloud.

Di cosa hai bisogno...

  • Browser web Chrome
  • Un account Gmail
  • Un progetto cloud con la fatturazione abilitata
  • Gemini Code Assist abilitato per il tuo progetto cloud

Questo lab è rivolto a sviluppatori di tutti i livelli, inclusi i principianti. Sebbene l'applicazione di esempio sia in linguaggio Python, non è necessario avere familiarità con la programmazione in Python per capire cosa sta succedendo. Ci concentreremo sull'acquisizione di familiarità con le funzionalità di Gemini Code Assist per gli sviluppatori.

2. Configurazione

Questa sezione illustra tutto ciò che devi fare per iniziare a utilizzare questo lab.

Abilitare Cloud Assist nel progetto Google Cloud

Ora abiliteremo Cloud Assist nel nostro progetto Google Cloud. Segui i passaggi indicati di seguito:

  1. Visita la pagina https://console.cloud.google.com e assicurati di aver selezionato il progetto Google Cloud con cui intendi lavorare per questo lab. Fai clic sull'icona Apri Gemini in alto a destra.

2d8b6827f2ff9870.png

  1. La finestra della chat di Cloud Assist si aprirà sul lato destro della console. Fai clic sul pulsante come mostrato di seguito. Verrà visualizzata un'altra schermata in cui verranno evidenziate le API che sta abilitando e così via. Mantieni le impostazioni predefinite e fai clic sul pulsante Abilita.

Se non vedi il pulsante Abilita e invece vedi un'interfaccia di chat, è probabile che tu abbia già abilitato Cloud Assist per il progetto e puoi passare direttamente al passaggio successivo.

b4322e74dc190d18.png

  1. Una volta abilitato, puoi provare Cloud Assist ponendo uno o due prompt. Vengono mostrate alcune query di esempio, ma puoi provare a chiedere What is Cloud Run?

9353a6ebc3cb1363.png

Cloud Assist risponderà alla tua domanda. Puoi fare clic sull'icona X nell'angolo in alto a destra per chiudere la finestra della chat di Cloud Assist.

Abilitare Gemini Code Assist nell'IDE di Cloud Shell

Per il resto del codelab utilizzeremo l'IDE di Cloud Shell, un ambiente di sviluppo basato su Code OSS completamente gestito. Dobbiamo abilitare e configurare Code Assist nell'IDE di Cloud Shell. I passaggi sono indicati di seguito:

  1. Visita la pagina ide.cloud.google.com. Potrebbe essere necessario un po' di tempo prima che l'IDE venga visualizzato, quindi pazienta. Vedrai una schermata simile a quella mostrata di seguito. La finestra di Gemini Code Assist si aprirà nel riquadro più a destra.

231baed212e3f01c.png

  1. Se nella barra di stato in basso vedi il pulsante Cloud Code - Accedi, fai clic e autorizza il plug-in come indicato. Se nella barra di stato vedi "Cloud Code - nessun progetto", selezionalo e poi seleziona il progetto Google Cloud specifico dall'elenco dei progetti con cui intendi lavorare.
  2. Puoi attivare o disattivare Gemini Code Assist in qualsiasi momento tramite il menu a discesa Gemini Chat a destra della barra di ricerca, come mostrato di seguito. Fai clic sull'opzione Apri la chat di Gemini Code Assist per visualizzare la chat di Gemini Code Assist nel riquadro a destra.

15344d8cfa7dd2a7.png

Gemini Code Assist è pronto per l'uso.

Facoltativo: se non riesci a visualizzare il riquadro di Gemini Code Assist nell'IDE, controlla se Gemini Code Assist è stato abilitato. Per farlo, vai a Impostazioni e poi cerca Abilita Gemini Code Assist come mostrato di seguito. L'impostazione deve essere selezionata.

1eea5294d2906667.png

3. Creare l'applicazione di esempio

Creeremo un'applicazione di esempio (un'applicazione Python Flask) che utilizzeremo per esplorare le funzionalità di Gemini Code Assist.

Procedi nel seguente modo:

  1. Fai clic sul nome del progetto Google Cloud nella barra di stato in basso.

3b342e4434748f6d.png

  1. Verrà visualizzato un elenco di opzioni. Fai clic su Nuova applicazione nell'elenco di seguito.

84e1aa521cfa1924.png

  1. Seleziona l'applicazione Cloud Run.
  2. Seleziona il modello di applicazione Python (Flask): Cloud Run.
  3. Salva la nuova applicazione nella posizione che preferisci.
  4. Una notifica conferma che l'applicazione è stata creata e si apre una nuova finestra con l'applicazione caricata, come mostrato di seguito. Viene aperto un file README.md. Per il momento puoi chiudere questa visualizzazione.

7ade978bab5f6959.png

4. Provare Gemini

Inizieremo imparando a chattare con Gemini. Apri la chat di Gemini Code Assist nel riquadro a destra come spiegato in precedenza.

Una volta fatto, puoi interagire con Gemini per ricevere assistenza su Google Cloud.

599f65b2a297e9c5.png

Utilizziamo il riquadro della chat con Gemini per inserire un prompt e visualizzare la risposta di Gemini. Digita il seguente prompt:

What is Cloud Run? 

Gemini dovrebbe rispondere con i dettagli su Cloud Run. I prompt sono domande o affermazioni che descrivono l'assistenza di cui hai bisogno. I prompt possono includere il contesto del codice esistente che Google Cloud analizza per fornire risposte più utili o complete. Per ulteriori informazioni sulla scrittura di prompt per generare risposte di qualità, consulta Scrivere prompt migliori per Gemini in Google Cloud.

Prova i seguenti prompt di esempio o qualsiasi altro per porre domande su Google Cloud:

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

5. Spiegazione del codice

Per aiutarti a incrementare la produttività riducendo al minimo il cambio di contesto, Gemini Code Assist fornisce azioni intelligenti basate sull'AI direttamente nel tuo editor di codice. Quando selezioni il codice nell'editor di codice, puoi visualizzare e selezionare un elenco di azioni pertinenti al tuo contesto.

Puoi utilizzare Gemini Code Assist per comprendere parti del codice dell'applicazione. Torna all'applicazione che abbiamo creato in un passaggio precedente e puoi utilizzare Gemini Code Assist per spiegare i file e il codice disponibili nell'IDE.

  1. Se i file non sono visibili, nella barra delle attività dell'IDE fai clic su Explorer ( Menu di Esplora di Code OSS).
  2. Nel riquadro Explorer, seleziona Dockerfile.
  3. Puoi selezionare qualsiasi parte dei contenuti del file, fare clic sull'icona a forma di lampadina ( Lampadina Duet AI di Code OSS) e poi su Gemini: Spiega questo. Ad esempio, seleziona la riga che inizia con ENTRYPOINT, fai clic sull'icona a forma di lampadina ( Lampadina Duet AI di Code OSS) e poi su Gemini: Spiega questo. Gemini genera una spiegazione in linguaggio naturale della sezione specifica del Dockerfile su cui hai bisogno di maggiori informazioni. Gemini risponde con i dettagli sull'istruzione ENTRYPOINT. Scopri che, con questa istruzione, Docker eseguirà il file app.py all'avvio del container.
  4. Per visualizzare i contenuti del file app.py , nella barra delle attività fai clic su Explorer ( Menu di Esplora di Code OSS) e poi seleziona app.py.
  5. Nella definizione della funzione hello(), seleziona le righe su cui vuoi ricevere maggiori informazioni. Poi fai clic sull'icona a forma di lampadina ( Lampadina Duet AI di Code OSS) e poi su Gemini : Spiega questo. Nel nostro esempio, abbiamo selezionato le due righe di codice seguenti e poi abbiamo attivato l'azione Gemini: Spiega questo.

a1e29872520d0d0e.png

  1. Gemini risponde con una spiegazione dettagliata di queste due variabili di ambiente di Cloud Run (K_SERVICE, K_REVISION) e di come vengono utilizzate nel codice dell'applicazione. Tieni presente che Gemini, grazie alla sua conoscenza di Google Cloud e di servizi come Cloud Run, non solo ha spiegato il codice Python, ma ha anche fornito il contesto di cosa significano queste variabili in Cloud Run.

Prova gli altri modi per ottenere una spiegazione del codice:

  1. Mantieni app.py come file attualmente aperto nell'IDE. Vai alla chat con Gemini nel riquadro di navigazione a sinistra in VS Code e inserisci il prompt Spiega questo file. Verrà considerato l'intero file e ti verrà spiegato.
  2. Puoi anche selezionare qualsiasi parte del file e poi utilizzare il riquadro della chat con Gemini a sinistra, inserire il prompt Spiega questo. Verrà spiegata solo la parte selezionata del file. È simile a quando fai clic sull'icona a forma di lampadina( Lampadina Duet AI di Code OSS) e poi su Gemini: Spiega questo.

6. Generare codice con i prompt

Questa sezione mostra come utilizzare Gemini Code Assist per generare codice dai commenti.

Proviamo queste funzionalità. Segui i passaggi indicati di seguito:

  1. Crea un nuovo file denominato utils.py.
  2. Nel nuovo file di codice, su una nuova riga, inserisci # Function to print a list of blobs in a Google Cloud Storage bucket e poi premi Enter (per Windows e Linux) o Return (per macOS). Gemini potrebbe provare a generare codice durante la digitazione, ma non accettarlo. Attiveremo specificamente la generazione di codice nel passaggio successivo.
  3. Per attivare la generazione di codice, premi Control+Enter (per Windows e Linux) o Control+Return (per macOS). Accanto al testo del prompt nel file Python, Gemini Code Assist genera il codice sotto forma di testo fantasma. Ti fornirà uno o più suggerimenti per il codice con una barra degli strumenti, tramite la quale potrai passare da un suggerimento di codice all'altro (nel caso in cui ci siano più suggerimenti). Puoi anche accettare uno dei suggerimenti di codice tramite la barra degli strumenti. Se non riesci a visualizzare la barra degli strumenti o se scompare, passa il mouse sopra il codice generato per visualizzarla di nuovo.
  4. (Facoltativo) Per accettare il codice generato, premi Tab. Se ci sono più suggerimenti, puoi premere Tab più volte per passare da uno snippet di codice suggerito al successivo.

Il codice accettato verrà inserito nel file utils.py. Di seguito è riportato uno screenshot di esempio. Il codice che ti viene fornito potrebbe essere diverso da quello mostrato di seguito. Se vengono generati metodi aggiuntivi, puoi eliminarli dopo aver accettato il codice.

d0800c95710b2b5f.png

(Facoltativo) Ecco alcuni altri suggerimenti da provare per la generazione di codice:

  1. Puoi anche utilizzare la chat con Gemini per porre lo stesso prompt e ricevere la risposta nella finestra della chat. L'interfaccia della chat mostra quindi le opzioni per copiare il codice o inserirlo nel file corrente.
  2. Prova i tuoi prompt per il codice campione che ti interessa. Di seguito sono riportati alcuni suggerimenti (supponendo che tu sia in uno dei file Python) o scegli tra alcuni dei prompt indicati di seguito:
  • Scrivi codice Python per pubblicare un messaggio in Google Cloud Pub/Sub
  • Scrivi codice Python per inizializzare un client BigQuery
  • Scrivi codice Python per connettere la mia applicazione a Cloud SQL

7. Ricevere suggerimenti di codice in linea durante la codifica

Mentre scrivi il codice, Gemini Code Assist fornisce suggerimenti di codice in linea che puoi accettare o ignorare. Per provare questa funzionalità, modificheremo il file utils.py che abbiamo creato nella sezione precedente :

  1. Apri il file utils.py come file corrente nell'IDE di Cloud Shell.
  2. Una delle cose che possiamo fare è fornire le istruzioni import corrette, se non sono presenti nel codice generato.
  3. Inizia a digitare la parola import e dovresti vedere Gemini Code Assist che suggerisce il codice sotto forma di testo fantasma. Per accettare il suggerimento di codice di Gemini Code Assist, premi Tab. In caso contrario, per ignorare il suggerimento, premi Esc o continua a scrivere il codice. Nella schermata di esempio riportata di seguito, viene suggerito di importare la classe storage perché viene utilizzata nel codice. Premi Tab per accettare il suggerimento di codice. Viene suggerita anche l'istruzione import os, ma poiché non è necessaria, possiamo rimuoverla.

7cff2c24ff02448c.png

  1. Vai alla fine del file utils.py e aggiungi la riga per richiamare la funzione, se non è stata fornita. In questo caso, è la funzione print_blobs o potrebbe essere una funzione diversa nel tuo caso. Puoi semplicemente iniziare a digitare il nome della funzione e il completamento del codice ti aiuterà a completare l'istruzione.
  2. Dovrai fornire il nome del bucket e puoi utilizzare il seguente nome del bucket pubblico : gemini-codeassist-bucket.Di seguito è riportato il richiamo di esempio per la funzione. Tieni presente che potresti notare piccole differenze in termini di nomi di funzioni e così via.

print_blobs(bucket_name="gemini-codeassist-bucket")

(Facoltativo) Eseguire il codice campione

Poiché abbiamo scritto codice per elencare i BLOB in un bucket Cloud Storage, dovremo installare la libreria Python google-cloud-storage.

Vai al file requirements.txt e aggiungi una nuova riga con la dipendenza google-cloud-storage come mostrato di seguito. Di seguito è riportato un file requirements.txt di esempio.

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

Salva il file requirements.txt.

Per vedere il codice in azione, dovremo avviare una nuova sessione del terminale dall'IDE di Cloud Shell tramite l'icona del menu in alto a sinistra. Fai clic sull'icona del menu e poi su Terminale → Nuovo terminale come mostrato di seguito:

cb369ffdf577c63e.png

Nella sessione del terminale, installa le dipendenze Python tramite il seguente comando:

pip3 install -r requirements.txt

Infine, puoi eseguire il file utils.py tramite il seguente comando:

python utils.py

Dovrebbero essere visualizzati i blob presenti nel bucket Cloud Storage pubblico di Google. Idealmente, dovresti vedere 2 blob elencati nell'output (file1.txt e file2.txt).

Risoluzione dei problemi

Se ricevi un errore di "accesso" durante la visualizzazione degli oggetti nel bucket pubblico sopra, puoi scegliere di creare il tuo bucket Google Cloud Storage e utilizzarlo al posto di gemini-codeassist-bucket. Nella sezione successiva viene illustrato come farlo.

(Facoltativo) Creare il proprio bucket Cloud Storage

Chiediamo aiuto a Gemini per fornirci i comandi per creare un bucket, renderlo accessibile pubblicamente e caricare oggetti di esempio nel bucket.

Inizia con il seguente prompt: "Qual è il comando gcloud per creare un bucket pubblico in Google Cloud Storage?"

Dovrebbe essere fornito un comando gcloud per creare un bucket. Il comando esatto è mostrato di seguito:

gcloud storage buckets create gs://<BUCKET_NAME>

Seleziona un nome univoco per il <BUCKET_NAME> ed esegui il comando nel terminale.

Ora che abbiamo creato un bucket, vogliamo che sia accessibile pubblicamente. Chiediamo a Gemini il comando per farlo utilizzando il seguente prompt: "Come faccio a rendere accessibile pubblicamente un bucket Google Cloud Storage?"

Dovrebbe essere fornito un comando gcloud per renderlo accessibile pubblicamente. La risposta dovrebbe essere simile alla seguente:

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

Sostituisci <BUCKET_NAME> con il nome del bucket che hai utilizzato in precedenza ed esegui il comando.

Infine, vogliamo caricare alcuni file di esempio nel bucket. Esegui i seguenti comandi nel terminale (ricorda di sostituire la <BUCKET_NAME> variabile con il nome del bucket.

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

Ora puoi eseguire il file utils.py utilizzando il tuo <BUCKET_NAME> anziché gemini-codeassist-bucket.

Esegui la pulizia

Se hai creato il tuo bucket Cloud Storage, ti consigliamo vivamente di eliminarlo per evitare addebiti e potenziali rischi per la sicurezza.

Puoi eliminare il bucket con il comando indicato di seguito:

gcloud storage buckets delete gs://<BUCKET_NAME>

8. Complimenti!

Complimenti, hai utilizzato correttamente Gemini Code Assist in un progetto di esempio per capire come può aiutarti con la generazione, il completamento e il riepilogo del codice, nonché a rispondere alle domande su Google Cloud.

Documenti di riferimento