Questo tutorial mostra come utilizzare Gemini in Google Cloud, un collaboratore basato sull'AI in Google Cloud, per esplorare, creare, modificare, testare ed eseguire il deployment di un'app Python di esempio.
Nell'esempio seguente, supponiamo che tu sia uno sviluppatore che fa parte di un team che si occupa di sviluppare un'app di inventario. Sei responsabile della prototipazione di un servizio di base che contiene alcuni metodi API da utilizzare nell'ambito dell'app di inventario. Vuoi sviluppare l'app nel tuo ambiente VS Code locale e poi eseguirne il deployment su Google Cloud. Tuttavia, non sai con certezza quale servizio Google Cloud sia più adatto al tuo caso d'uso.
In questo tutorial, utilizzerai Gemini insieme a Visual Studio Code come IDE per creare un'app di inventario di esempio con due metodi API.
Questo tutorial è rivolto agli sviluppatori con qualsiasi livello di esperienza che hanno contribuito alla creazione di app, ma che potrebbero non avere familiarità con le tecnologie cloud. Si presume che tu abbia una certa esperienza nell'uso di VS Code come IDE e che tu conosca il framework Python e di Flask.
Obiettivi
Esplora i vari servizi Google che puoi utilizzare per eseguire il deployment di un'app ponendo domande basate sul contesto a Gemini.
Chiedi a Gemini di fornire modelli che puoi usare per sviluppare un'app Python di base in Cloud Run.
Creare, esplorare e modificare l'app usando Gemini per spiegare e generare il codice.
Esegui e testa l'app in locale, quindi eseguine il deployment in Google Cloud utilizzando Gemini per generare i passaggi.
Prodotti Google Cloud utilizzati
Questo tutorial utilizza i seguenti prodotti Google Cloud fatturabili. Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.
- Cloud Run. Cloud Run è una piattaforma di computing gestita che consente di eseguire i container direttamente sull'infrastruttura scalabile di Google. Puoi eseguire il deployment di codice scritto in qualsiasi linguaggio di programmazione in Cloud Run, a patto che tu possa creare un'immagine container. Per informazioni sui prezzi, consulta Cloud Run.
Oltre al prodotto indicato in precedenza, questo tutorial utilizza anche i seguenti prodotti:
Gemini. Gemini è un collaboratore sempre attivo di Google Cloud che offre assistenza basata sull'AI generativa a un'ampia gamma di utenti, tra cui sviluppatori e data scientist. Per offrire un'esperienza di assistenza integrata, Gemini è integrato in molti prodotti Google Cloud.
Estensione Cloud Code for VS Code. Questa estensione è un plug-in IDE che fornisce supporto per il ciclo di sviluppo delle applicazioni Kubernetes e Cloud Run. Per scoprire di più sull'estensione di Cloud Code, consulta la pagina relativa alle funzionalità di Cloud Code for VS Code.
Prima di iniziare
Installa una copia locale di VS Code, se non l'hai già fatto.
Installa l'estensione Cloud Code per VS Code.
Segui le istruzioni nella guida all'installazione per installare Python, Git e il client Docker. Segui anche i passaggi per creare un progetto Google Cloud.
- Assicurati che Gemini sia configurato per il tuo account utente e il tuo progetto Google Cloud.
Abilita Gemini per il tuo IDE.
Segui i passaggi per connetterti a Google Cloud nel tuo IDE e per selezionare un progetto configurato per Google Cloud.
Esplora i servizi Google Cloud
Se non hai mai utilizzato Google Cloud, Gemini può aiutarti a scegliere i servizi Google Cloud che soddisfano i requisiti della tua architettura delle applicazioni.
Nel tuo IDE puoi chattare con Gemini per ricevere assistenza. Utilizzando il riquadro Gemini, inserisci messaggi (domande o istruzioni che descrivono l'aiuto che cerchi) e Gemini restituisce le risposte. I prompt possono includere contesto del codice esistente che Google Cloud analizza per fornire risposte più utili o complete. Per saperne di più su come scrivere prompt in grado di generare risposte corrette, consulta l'articolo Scrivere prompt migliori per Gemini.
Per richiedere a Gemini sui servizi Google Cloud, segui questi passaggi:
Nella barra delle attività dell'IDE, fai clic su spark Gemini.
Per individuare la barra delle attività di VS Code, consulta la pagina relativa all'interfaccia utente.
Nel riquadro Gemini, inserisci il seguente prompt e fai clic su Invia:
I am new to Google Cloud and I want to use the Cloud Code extension. Give me some examples of Google services that I can use to build and deploy a sample app using containers.
Gemini risponde con un elenco di servizi e descrizioni Google Cloud.
In questo esempio, supponiamo che Gemini suggerisca Cloud Run e Cloud Functions come due servizi Google Cloud che possono aiutarti a creare ed eseguire il deployment di un'app di esempio, ma hai bisogno di ulteriori informazioni su questi servizi.
Gemini non utilizza i tuoi prompt o le sue risposte come dati per addestrare i suoi modelli. Per maggiori informazioni, consulta In che modo Gemini per Google Cloud utilizza i tuoi dati.
Inserisci una domanda aggiuntiva come la seguente:
What is the difference between Cloud Run and Cloud Functions? Explain to me in simple terms as I am new to Google Cloud.
Gemini risponde in modo dettagliato alle differenze dettagliate tra i due servizi Google Cloud.
(Facoltativo) Per reimpostare la cronologia chat, nel riquadro Gemini fai clic su elimina Reimposta chat.
Crea un'app Python Hello World
Considera di voler utilizzare Cloud Run per creare ed eseguire il deployment di un'app Python di base. Poiché non hai mai utilizzato Cloud Run e Cloud Code, hai bisogno di aiuto con i passaggi per creare l'app. In questa sezione, chiederai a Gemini di aiutarti a creare un'app Python Hello World in Cloud Run.
Avvia il tuo IDE, se non l'hai ancora fatto.
Nella barra delle attività dell'IDE, fai clic su spark Gemini.
Nel riquadro Gemini, inserisci il seguente prompt e fai clic su Invia:
How to create a new Cloud Run app in Cloud Code using the command palette? What languages are supported?
La tavolozza dei comandi in VS Code fornisce un elenco di tutti i comandi, inclusi quelli per Cloud Code.
L'output è simile al seguente:
To create a new Cloud Run app in Cloud Code using the command palette, follow these steps: 1. Open the command palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 2. Run the "Cloud Code: New Cloud Run App" command. ...
Gemini mostra anche le lingue supportate per l'app Cloud Run.
Per questo esempio, scegli di utilizzare un modello Cloud Run basato su Python per creare l'app di esempio.
Per scoprire come creare un'app Python da un modello Cloud Run, inserisci il seguente prompt:
How do I create a Python app from a Cloud Run template using the command palette? I am using Cloud Code.
L'output è simile al seguente:
To create a Python app from a Cloud Run template using the command palette, follow these steps: 1. Open Cloud Code. 2. Click the Command Palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 3. Run the "Cloud Code: New Application" command. ...
Completa i passaggi forniti da Gemini nella sua risposta per creare un'app Python di base Hello World in Cloud Run. Puoi anche fare riferimento alla sezione seguente per creare l'app Hello World in Python.
Passaggi alternativi per creare un'app Python Hello World
Se non l'hai ancora fatto, avvia il tuo IDE.
Apri la tavolozza dei comandi: premi Comando+Shift+P (per MacOS) o Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Cloud Code: New Application
e fai clic sul risultato.Dall'elenco degli esempi disponibili, seleziona Applicazione Cloud Run.
Dall'elenco dei modelli disponibili, seleziona Python (Flask): Cloud Run.
Salva la nuova app nella posizione che preferisci.
Una notifica conferma che l'app è stata creata. Nel tuo IDE si apre un'anteprima del file README per il servizio selezionato, come mostrato nella Figura 1:
Esplora l'app Python Hello World
Ora che hai creato l'app Hello World in Cloud Run, puoi utilizzare Gemini per spiegare i file e gli snippet di codice di cui viene eseguito il deployment nel tuo IDE. Per esplorare il codice dell'app di esempio che hai creato, segui questi passaggi:
Avvia il tuo IDE.
Apri Explorer: premi Comando+Shift+E (per MacOS) o Ctrl+Shift+E (per Windows e Linux).
Puoi visualizzare i file relativi all'app di esempio.
Nell'elenco dei file, fai clic su
Dockerfile
per visualizzarne il contenuto.Seleziona l'intero contenuto di
Dockerfile
, fai clic sull'icona a forma di lampadina, quindi fai clic su Spiega questo, come mostrato nella Figura 2:Gemini genera una spiegazione in linguaggio naturale dei contenuti e delle funzioni di
Dockerfile
. Se hai dubbi su alcuni punti della risposta, puoi porre ulteriori domande.Per saperne di più sul file
app.py
menzionato inDockerfile
, nel riquadro Gemini inserisci il seguente prompt:What is the function of the app.py file in Dockerfile?
Gemini genera una risposta simile alla seguente:
The app.py file is the entrypoint for the container. It is the file that will be executed when the container is launched. In this case, the app.py file will run the Python code that is contained within it.
In alternativa, puoi anche selezionare il testo
app.py
inDockerfile
, fare clic sull'icona a forma di lampadina, quindi su Spiegazione.Apri Explorer: premi Comando+Shift+E (su MacOS) o Ctrl+Shift+E (su Windows e Linux).
Apri il file
app.py
. Vedrai due variabili:K_SERVICE
eK_REVISION
.Per saperne di più sulle variabili nel file
app.py
, nel riquadro Gemini inserisci il seguente prompt:What is the function of `K_SERVICE` and `K_REVISION` in the `app.py` file?
In alternativa, puoi anche selezionare il seguente testo in Dockerfile, fare clic sull'icona a forma di lampadina, quindi fare clic su Spiega questo:
service = os.environ.get('K_SERVICE', 'Unknown service') revision = os.environ.get('K_REVISION', 'Unknown revision')
La risposta è simile alla seguente:
The code above is using the os.environ module to get the values of the K_SERVICE and K_REVISION environment variables. These variables are set by Cloud Run when it deploys the service, and they contain the name of the service and the revision number, respectively. ...
Genera dati di esempio per l'app
Hai un'app Flask di base creata in Cloud Run. Prima di poter aggiungere funzionalità per creare l'app dell'inventario, devi avere un file che contenga un elenco di elementi di inventario di esempio. Per utilizzare Gemini per generare i dati di esempio pertinenti, segui questi passaggi:
Per visualizzare i file relativi all'app di esempio, nel tuo IDE fai clic sull'icona Explorer.
Fai clic sull'icona Nuovo file e crea un file denominato
inventory.py
.Per consentire a Gemini di generare i dati di esempio, nel riquadro Gemini inserisci il seguente prompt:
Create a variable called inventory which is a list of 3 JSON objects. Each JSON object has 2 attributes: productid and onhandqty. Both attributes are strings.
Gemini genera un codice campione per tre oggetti JSON.
Nella risposta, fai clic su addInserisci in file corrente per inserire l'esempio di codice nel file
inventory.py
, come mostrato nella Figura 3:Il file
inventory.py
è simile al seguente:inventory = [ { "productid": "12345", "onhandqty": "10" }, { "productid": "23456", "onhandqty": "20" }, { "productid": "34567", "onhandqty": "30" } ]
Hai creato il file
inventory.py
, che include un elenco degli elementi di inventario.
Modifica l'app Python Hello World
Dopo aver creato il file inventory.py
, introduci nel file app.py
alcuni metodi API che possono operare sui dati di inventario.
Per completare l'obiettivo, puoi utilizzare
la funzionalità di generazione del codice in Gemini.
Per visualizzare i file relativi all'app di esempio, nell'IDE fai clic sull'icona Explorer.
Per visualizzare i contenuti, fai clic sul file
app.py
.Modifica le istruzioni di importazione in modo che il file
app.py
includa il fileinventory.py
:import os from flask import Flask, render_template from inventory import inventory
Per consentire a Gemini di generare il codice per il primo metodo API, nel file
app.py
, inserisci il seguente commento e premi Ctrl + Invio:# Generate an app route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method.
Gemini genera una risposta nel file
app.py
.A seconda della configurazione di sistema, la scorciatoia da tastiera per generare codice utilizzando Gemini potrebbe essere diversa dalla combinazione Ctrl+Invio utilizzata in questo tutorial.
Tieni il puntatore su qualsiasi parte della risposta.
Viene visualizzata una barra degli strumenti Gemini.
Gemini potrebbe generare più di una risposta. Nella barra degli strumenti, puoi scorrere ogni risposta utilizzando i tasti < e >. Nell'esempio seguente, Gemini genera una sola risposta, come mostrato nella Figura 4:
Per accettare l'esempio di codice suggerito, fai clic su Accetta nella barra degli strumenti.
L'output è simile al seguente:
# Generate an App route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method. @app.route('/inventory', methods=['GET']) def get_inventory(): """Return a list of inventory items.""" return jsonify(inventory)
(Facoltativo) Per saperne di più sulla funzione
jsonify(inventory)
, evidenzia il termine e chiedi a Gemini di spiegarti il codice.Modifica le istruzioni di importazione in modo che il file
app.py
includa la funzionejsonify
:import os from flask import Flask, render_template, jsonify from inventory import inventory
Per aggiungere un altro metodo API, nel file
app.py
inserisci il seguente prompt, quindi premi Ctrl + Invio:# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error.
Gemini genera una risposta nel file
app.py
.Tieni il puntatore su qualsiasi parte della risposta.
Viene visualizzata una barra degli strumenti Gemini.
Per accettare uno degli esempi di codice suggeriti, fai clic su Accetta nella barra degli strumenti.
L'output è simile al seguente:
# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error. @app.route('/inventory/<productid>', methods=['GET']) def get_inventory_item(productid): """Return an inventory item given the productid.""" for item in inventory: if item["productid"] == productid: return jsonify(item) return jsonify({"error": "Item not found"}), 404
Hai aggiunto due metodi API per creare la tua app di inventario.
Esegui l'app in locale dal tuo IDE
Ora è tutto pronto per eseguire il deployment dell'app in locale da VS Code. Per eseguire il deployment dell'app:
Avvia il tuo IDE, se non l'hai ancora fatto.
Nella barra delle attività dell'IDE, fai clic su spark Gemini.
Nel riquadro Gemini, inserisci il seguente prompt e fai clic su Invia:
How do I run a Cloud Run app locally within Cloud Code? Is there an emulator?
Segui i passaggi nella risposta Gemini per eseguire l'app in locale da VS Code. Puoi anche consultare la sezione seguente per eseguire il deployment di un'app Cloud Run di esempio in locale all'interno di VS Code.
Passaggi alternativi per eseguire l'app in locale dal tuo IDE
Se non hai seguito i passaggi nella risposta Gemini nella sezione precedente, puoi seguire questi passaggi per eseguire il deployment della tua app di esempio:
Avvia il tuo IDE.
Apri la tavolozza dei comandi: premi Comando+Shift+P (per MacOS) o Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Run on Cloud Run Emulator
e fai clic sul risultato.Nel file di ambiente
Build
, conserva i valori predefiniti e fai clic su Esegui.Questo tutorial utilizza Docker come opzione del builder.
Nel riquadro Output del tuo IDE puoi visualizzare l'avanzamento della build. Il processo di deployment effettivo potrebbe richiedere un po' di tempo.
Starting to run the app using configuration 'Cloud Run: Run/Debug Locally' from .vscode/launch.json... To view more detailed logs, go to Output channel : "Cloud Run: Run/Debug Locally - Detailed" Dependency check started Dependency check succeeded Starting minikube, this may take a while...... ...
Per visualizzare la tua app pubblicata, al termine del deployment, fai clic sull'URL nel riquadro Output. Per una copia locale di VS Code, se hai specificato localhost 8080
,
la tua app di esempio è pubblicata all'URL http://localhost:8080
.
Testa i due metodi dell'API
Se la tua app di esempio è attiva, puoi anche controllare se i due percorsi delle app funzionano.
In questo esempio, supponiamo che l'URL dell'app sia http://localhost:8080
.
Per visualizzare la pagina di destinazione di esempio per la tua app, vai all'indirizzo http://localhost:8080.
Per ottenere un elenco di tutti gli articoli dell'inventario, vai alla pagina http://localhost:8080/inventory.
Nel file
app.py
, per elencare tutti gli elementi dell'inventario viene utilizzata la funzione@app.route('/inventory', methods=['GET'])
.Per visualizzare un elemento dell'inventario specifico filtrato in base all'attributo
productid
, fai clic suhttp://localhost:8080/inventory/productid
.Ad esempio, http://localhost:8080/inventory/1, dove productid è uguale a 1.
Nel file
app.py
, per visualizzare un elemento dell'inventario specifico tramite l'attributoproductid
, viene utilizzata la funzione@app.route('/inventory/<productid>', methods=['GET'])
.
Esegui il deployment di un'app Cloud Run su Google Cloud
Ora puoi eseguire il deployment dell'app Cloud Run in Google Cloud. Puoi chiedere a Gemini di fornirti i passaggi oppure puoi seguire questi passaggi:
Apri la tavolozza dei comandi: premi Comando+Shift+P (per MacOS) o Ctrl+Shift+P (per Windows e Linux).
Nel campo della tavolozza dei comandi, inserisci
Cloud Code: Deploy to Cloud Run
e fai clic sul risultato.Nel riquadro Impostazioni servizio, imposta il tuo progetto Google Cloud.
Accetta le restanti impostazioni predefinite e fai clic su Esegui il deployment.
Cloud Code crea l'immagine, ne esegue il push al registry ed esegue il deployment del servizio in Cloud Run.
Per visualizzare il servizio in esecuzione, apri l'URL visualizzato nella finestra di dialogo Esegui il deployment in Cloud Run.
Puoi anche utilizzare gli stessi passaggi indicati in Testare i due metodi dell'API per visualizzare l'app di esempio in Google Cloud. Modifica gli URL di conseguenza.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eliminare il progetto Google Cloud che hai creato per questo tutorial. In alternativa, puoi eliminare 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 del progetto e fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
Leggi la panoramica di Gemini per Google Cloud.
Scopri di più su quote e limiti di Gemini.
Scopri di più sulle località per Gemini.