Sviluppa un'app Python con l'assistenza di Gemini per Google Cloud

Questo tutorial mostra come utilizzare Gemini per Google Cloud, un servizio collaboratore in Google Cloud, per esplorare, creare, modificare, testare ed eseguire il deployment un'app Python di esempio.

Per l'esempio seguente, supponiamo che tu sia uno sviluppatore che fa parte un team che sta sviluppando un'app di inventario. Sei responsabile della prototipazione di un che contiene alcuni metodi dell'API per operare come parte app di inventario. Vuoi sviluppare l'app nel tuo ambiente locale VS Code per poi eseguirne il deployment in Google Cloud. Tuttavia, hai dubbi quale servizio Google Cloud è più adatto al tuo caso d'uso.

In questo tutorial utilizzerai Gemini per Google Cloud insieme a Visual Studio Code come IDE per creare un'app di inventario di esempio con due metodi API.

Questo tutorial è rivolto agli sviluppatori di qualsiasi livello di esperienza che hanno hanno contribuito a creare app, ma potrebbero non conoscere tecnologie cloud. Si presuppone che tu abbia una certa esperienza nell'utilizzo di VS Code come del tuo IDE e che hai familiarità con Python e il framework Flask.

Obiettivi

  • Esplora i vari servizi Google che puoi usare per eseguire il deployment di un'app a Gemini basate sul contesto.

  • 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 utilizzando Gemini per a spiegare e generare il codice.

  • Esegui e testa l'app in locale, quindi esegui il deployment in Google Cloud utilizzando Gemini per generare i passi.

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 che ti consente di eseguire i container direttamente sul database scalabile di Google dell'infrastruttura. Puoi eseguire il deployment di codice scritto in qualsiasi linguaggio di programmazione su in Cloud Run, se puoi creare un'immagine container da lì. Per informazioni sui prezzi, vedi Cloud Run.

Oltre al prodotto menzionato in precedenza, questo tutorial utilizza anche i seguenti prodotti:

  • Gemini. Gemini è un collaboratore sempre attivo in 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 IDE plug-in che supporta il ciclo di sviluppo di Kubernetes le applicazioni Cloud Run. Per saperne di più sulle l'estensione Cloud Code, consulta le funzionalità di Cloud Code for VS Code.

Prima di iniziare

  1. Installa una copia locale di VS Code, se non l'hai già fatto.

  2. 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.

  3. Assicurati che Gemini sia configurato il tuo account utente e il tuo progetto Google Cloud.
  4. Abilita Gemini per il tuo IDE.

    Segui i passaggi per connetterti a Google Cloud nel tuo IDE e per selezionare una configurato per Google Cloud.

Esplora i servizi Google Cloud

Se non hai mai utilizzato Google Cloud, Gemini può aiutarti scegli i servizi Google Cloud che soddisfano i requisiti delle tue dell'applicazione.

Nel tuo IDE, puoi chattare con Gemini per ricevere assistenza. Utilizzo Nel riquadro Gemini, inserisci prompt (domande o istruzioni che descrivono l'aiuto che vuoi) e Gemini restituisce le risposte. Prompt può includere il contesto del codice esistente, che Google Cloud analizza per fornire risposte più utili o complete. Per ulteriori informazioni su come scrivere prompt in grado di generare risposte positive, vedi Scrivere prompt migliori per Gemini.

Per richiedere a Gemini informazioni sui servizi Google Cloud, segui questi passaggi:

  1. Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.

    Per trovare la barra delle attività di VS Code, vedi Interfaccia utente.

  2. Nel riquadro Gemini Code Assist: Chat, inserisci il seguente prompt. quindi 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 Google Cloud descrizioni.

    In questo esempio, supponiamo che Gemini suggerisca Cloud Run e Cloud Run funzionano come due servizi Google Cloud che possono aiutarti a creare ed eseguire il deployment di un'app di esempio, ma hai bisogno di informazioni su questi servizi.

    Scopri come e quando Gemini per Google Cloud utilizza i tuoi dati.

  3. 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 con le differenze dettagliate tra i due servizi Google Cloud.

  4. (Facoltativo) Per reimpostare la cronologia chat, in Gemini Code Assist: Chat fai clic su Elimina Reimposta chat.

Crea un'app Python Hello World

Considera che vuoi utilizzare Cloud Run per creare ed eseguire il deployment l'app Python di base. Poiché non hai mai utilizzato Cloud Run Cloud Code, hai bisogno di assistenza con i passaggi per creare l'app. In questa sezione, chiedi a Gemini per creare un'app Python Hello World in Cloud Run.

  1. Avvia il tuo IDE, se non l'hai ancora fatto.

  2. Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.

  3. Nel riquadro Gemini Code Assist: Chat, inserisci il seguente prompt. quindi 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 i comandi 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 ambiente Cloud Run basato su Python per creare l'app di esempio.

  4. Per scoprire come creare un'app Python da un modello Cloud Run, digita questo 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 risposta a creare un'app Python Hello World di base in Cloud Run. Puoi inoltre consultare la sezione seguente per creare l'ambiente Hello World Python.

Passaggi alternativi per creare un'app Python Hello World

  1. Se non l'hai ancora fatto, avvia il tuo IDE.

  2. Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).

  3. Nel campo della tavolozza dei comandi, inserisci Cloud Code: New Application e quindi fai clic sul risultato.

  4. Dall'elenco degli esempi disponibili, seleziona Applicazione Cloud Run.

  5. Dall'elenco dei modelli disponibili, seleziona Python (Flask): Cloud Run.

  6. Salva la nuova app nella posizione che preferisci.

Una notifica conferma la creazione dell'app.

Nel tuo IDE si apre un'anteprima del file README del servizio selezionato come mostrato nella figura 1:

screenshot
Figura 1 File README visualizzato per un'app Python Hello World creata in Cloud Run.

Esplora l'app Python Hello World

Ora che hai creato l'app Hello World in Cloud Run, puoi usare 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, procedi nel seguente modo:

  1. Avvia il tuo IDE.

  2. Apri Explorer: premi Comando+Shift+E (per macOS) oppure Ctrl+Shift+E (per Windows e Linux).

    Puoi visualizzare i file relativi alla tua app di esempio.

  3. Nell'elenco dei file, fai clic su Dockerfile per visualizzarne i contenuti.

  4. Seleziona l'intero contenuto di Dockerfile, fai clic sull'icona della lampadina e poi fai clic su Spiega questo, come mostrato nella figura 2:

    screenshot del file Docker
    Figura 2. La funzionalità di spiegazione del codice è disponibile quando selezioni il codice.

    Gemini genera una spiegazione in linguaggio naturale riguardo contenuti e funzione di Dockerfile. Se hai dubbi su alcuni punti all'interno della risposta, puoi porre domande aggiuntive.

  5. Per scoprire di più sul file app.py menzionato in Dockerfile, in Nel riquadro Gemini, inserisci questo 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 in Dockerfile, fare clic sull'icona della lampadina e fai clic su Spiega questo.

  6. Apri Explorer: premi Comando+Shift+E (per macOS) oppure Ctrl+Shift+E (per Windows e Linux).

  7. Apri il file app.py. Vedrai due variabili, K_SERVICE e K_REVISION.

  8. Per saperne di più sulle variabili nel file app.py, nella sezione Codice Gemini Assistenza: riquadro Chat, 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 testo seguente in Dockerfile, Fai clic sull'icona della lampadina e poi 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.
    ...
    

Generare dati di esempio per l'app

Hai creato un'app Flask di base in Cloud Run. Prima di aggiungere funzionalità per creare l'app dell'inventario, ti serve un file contiene un elenco di esempi di articoli dell'inventario. Per usare Gemini per generare i dati di esempio pertinenti:

  1. Per visualizzare i file relativi alla tua app di esempio, nell'IDE fai clic su Explorer.

  2. Fai clic sull'icona Nuovo file e crea un file denominato inventory.py.

  3. Per consentire a Gemini di generare i dati di esempio, nella sezione Codice Gemini Assist: Chat, inserisci la seguente richiesta:

    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 codice campione per tre oggetti JSON.

  4. Nella risposta, fai clic su addInserisci nel file corrente per inserire l'esempio di codice nel il file inventory.py, come mostrato nella figura 3:

    inserisci codice
    Figura 3. Puoi inserire il codice da una risposta di Gemini.

    Il file inventory.py è simile al seguente:

    inventory = [
       {"productid": "milk", "onhandqty": "10"},
       {"productid": "bread", "onhandqty": "5"},
       {"productid": "eggs", "onhandqty": "12"}
    ]
    

    Hai creato correttamente il file inventory.py, che include un degli elementi dell'inventario.

Modifica l'app Python Hello World

Dopo aver creato il file inventory.py, introduci alcuni metodi dell'API in il file app.py che può operare sui dati di inventario. Per completare questa operazione puoi usare la funzionalità di generazione del codice in Gemini.

  1. Per visualizzare i file correlati alla tua app di esempio, nell'IDE: fai clic su Explorer.

  2. Per visualizzare i contenuti, fai clic sul file app.py.

  3. Modifica le istruzioni di importazione in modo che il file app.py includa i campi inventory.py file:

    import os
    from flask import Flask, render_template
    from inventory import inventory
    
  4. Per permettere 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 del sistema, la scorciatoia da tastiera per generare utilizzando Gemini potrebbe essere diverso Combinazione Ctrl+Invio utilizzata in questo tutorial.

  5. Tieni il puntatore su qualsiasi parte della risposta.

    Viene visualizzata una barra degli strumenti di 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:

    accetta codice
    Figura 4. Puoi accettare un suggerimento di codice da Gemini.
    .
  6. 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)
    
  7. (Facoltativo) Per saperne di più sulla funzione jsonify(inventory), evidenzia il termine e chiedere a Gemini di spiegarti il codice.

  8. Modifica le istruzioni di importazione in modo che il file app.py includa i campi Funzione jsonify:

    import os
    from flask import Flask, render_template, jsonify
    from inventory import inventory
    
  9. Per aggiungere un altro metodo API, nel file app.py inserisci il metodo seguente al 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.

  10. Tieni il puntatore su qualsiasi parte della risposta.

    Viene visualizzata una barra degli strumenti di Gemini.

  11. 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 dell'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, segui questi passaggi:

  1. Avvia il tuo IDE, se non l'hai ancora fatto.

  2. Nella barra delle attività dell'IDE, fai clic su spark Gemini Code Assist.

  3. Nel riquadro Gemini Code Assist, inserisci il seguente prompt. 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 di Gemini per eseguire l'app localmente da VS Code. Puoi anche consultare la sezione seguente per eseguire il deployment di esempio l'app Cloud Run localmente da VS Code.

Passaggi alternativi per eseguire l'app localmente dal tuo IDE

Se non hai seguito i passaggi nella risposta di Gemini Nella sezione precedente, puoi seguire questi passaggi per eseguire il deployment della tua app di esempio:

  1. Avvia il tuo IDE.

  2. Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).

  3. Nel campo della tavolozza dei comandi, inserisci Run on Cloud Run Emulator e quindi fai clic sul risultato.

  4. Nel file di ambiente Build, mantieni 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 del 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 l'app pubblicata, al termine del deployment fai clic sull'URL nella 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 l'app di esempio è pubblicata, puoi anche controllare se i due percorsi dell'app funzionano. In questo esempio, supponiamo che l'URL dell'app sia http://localhost:8080.

  1. Per visualizzare la pagina di destinazione di esempio per la tua app, vai a http://localhost:8080

  2. Per ottenere un elenco di tutti gli elementi dell'inventario, vai a http://localhost:8080/inventory.

    Nel file app.py, per elencare tutti gli elementi dell'inventario, la funzione È in uso @app.route('/inventory', methods=['GET']).

  3. Per visualizzare un elemento dell'inventario specifico filtrato in base all'attributo productid: fai clic su http://localhost:8080/inventory/productid.

    Ad esempio, http://localhost:8080/inventory/1, dove productid è uguale a 1.

    Nel file app.py, per visualizzare un elemento di inventario specifico in base attributo productid, la funzione @app.route('/inventory/<productid>', methods=['GET']) è in uso.

Esegui il deployment di un'app Cloud Run in Google Cloud

Ora puoi eseguire il deployment dell'app Cloud Run su Google Cloud. Puoi chiedere a Gemini di indicarti i passaggi oppure segui questi passaggi:

  1. Apri la tavolozza dei comandi: premi Comando+Shift+P (per macOS) oppure Ctrl+Shift+P (per Windows e Linux).

  2. Nel campo della tavolozza dei comandi, inserisci Cloud Code: Deploy to Cloud Run, e poi fare clic sul risultato.

  3. Nel riquadro delle impostazioni del servizio, imposta il tuo progetto Google Cloud.

  4. Accetta le restanti impostazioni predefinite e fai clic su Esegui il deployment.

  5. Cloud Code crea l'immagine, ne esegue il push al registro ed esegue il deployment in Cloud Run.

  6. Per visualizzare il servizio in esecuzione, apri l'URL visualizzato in nella finestra di dialogo Esegui il deployment in Cloud Run.

    Puoi anche seguire gli stessi passaggi Testa i due metodi dell'API per visualizzare l'app di esempio in in Google Cloud. Modifica gli URL di conseguenza.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alla in questo tutorial, puoi eliminare il progetto Google Cloud che hai creato per questo tutorial. In alternativa, puoi eliminare alle singole risorse.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi