Python-Anwendung mit Gemini für Google Cloud-Unterstützung entwickeln

In dieser Anleitung erfahren Sie, wie Sie Gemini für Google Cloud in Google Cloud, einem KI-gestützten Mitarbeitende in Google Cloud, zum Erkunden, Erstellen, Ändern, Testen und Bereitstellen Python-Beispielanwendung.

Nehmen wir für das folgende Beispiel an, dass Sie Entwickler sind, der die eine Inventar-App entwickelt. Sie sind für das Prototyping grundlegenden Dienst, der einige API-Methoden enthält, die als Teil der Inventar-App. Sie möchten die App in Ihrer lokalen VS Code-Umgebung entwickeln. und es dann in Google Cloud bereitstellen. Sie sind sich jedoch nicht sicher, welcher Google Cloud-Dienst am besten zu Ihrem Anwendungsfall passt.

In dieser Anleitung verwenden Sie Gemini zusammen mit Visual Studio Code als IDE zum Erstellen einer Beispiel-Inventar-App mit zwei API-Methoden verwendet.

Dieses Tutorial richtet sich an Entwickler mit unterschiedlichen Kenntnissen und Erfahrungswerten, die zur App-Entwicklung beigetragen, sind aber möglicherweise nicht Cloud-Technologien. Es wird davon ausgegangen, dass Sie Erfahrung mit VS Code als Ihrer IDE und dass Sie mit Python und dem Flask-Framework vertraut sind.

Lernziele

  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie Apps bereitstellen können. Kontextbasierte Fragen an Gemini stellen.

  • Gemini auffordern, Vorlagen zum Bereitstellen von Vorlagen bereitzustellen eine einfache Python-Anwendung in Cloud Run entwickeln.

  • Mit Gemini können Sie Apps erstellen, entdecken und ändern: erklären und den Code generieren.

  • Anwendung lokal ausführen und testen und dann in Google Cloud bereitstellen indem wir Gemini zum Generieren der Schritte verwenden.

Verwendete Google Cloud-Produkte

In dieser Anleitung werden die folgenden kostenpflichtigen Google Cloud-Produkte verwendet. Mithilfe des Preisrechners können Sie anhand Ihrer voraussichtlichen Nutzung eine Kostenschätzung vornehmen.

  • Cloud Run: Cloud Run ist ein verwaltetes Computing Plattform, mit der Sie Container direkt auf der Grundlage der skalierbaren und Infrastruktur. Sie können Code in einer beliebigen Programmiersprache auf Cloud Run, wenn Sie ein Container-Image daraus erstellen können. Preisinformationen finden Sie unter Cloud Run.

Neben dem zuvor erwähnten Produkt wird in dieser Anleitung auch die Methode folgenden Produkten:

  • Gemini Gemini ist immer für dich da in Google Cloud, das generative KI-basierte Unterstützung für von Nutzenden wie Entwicklern und Data Scientists. Um eine integrierte Unterstützung zu bieten, Gemini ist in viele Google Cloud-Produkte eingebettet.

  • Cloud Code for VS Code-Erweiterung Diese Erweiterung ist eine IDE das Unterstützung für den Entwicklungszyklus von Kubernetes und Cloud Run-Anwendungen. Weitere Informationen zur Cloud Code-Erweiterung Siehe Cloud Code für VS Code-Funktionen.

Hinweise

  1. Lokale Kopie von VS Code installieren falls noch nicht geschehen.

  2. Cloud Code-Erweiterung für VS Code installieren

    Folgen Sie der Anleitung in der Installationsanleitung. Python Git und den Docker-Client. Führen Sie außerdem die Schritte zum Erstellen eines Google Cloud-Projekts aus.

  3. Gemini muss für Ihr Google Cloud-Nutzerkonto und -Projekt.
  4. Aktivieren Sie Gemini für Ihre IDE.

    Folgen Sie der Anleitung, um in Ihrer IDE eine Verbindung zu Google Cloud herzustellen und eine das für Google Cloud eingerichtet ist.

Google Cloud-Dienste entdecken

Wenn Sie neu bei Google Cloud sind, kann Gemini Ihnen helfen die Google Cloud-Dienste auswählen, die den Anforderungen Ihres Anwendungsarchitektur.

In Ihrer IDE können Sie mit Gemini chatten, um Hilfe zu erhalten. Mit Gemini geben Sie Prompts ein (Fragen oder Aussagen). die die gewünschte Hilfe beschreiben), und Gemini gibt Antworten zurück. Aufforderungen Kontext aus vorhandenem Code enthalten, den Google Cloud analysiert um nützlichere oder vollständigere Antworten zu liefern. Weitere Informationen dazu, wie Sie Prompts formulieren, um gute Antworten zu generieren, Siehe Bessere Prompts für Gemini schreiben.

Um Gemini zu Google Cloud-Diensten zu fragen, führen Sie folgende Schritte aus:

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Spark Gemini

    Die Aktivitätsleiste von VS Code findest du unter Benutzeroberfläche.

  2. Geben Sie im Bereich Gemini den folgenden Prompt ein und klicken Sie dann auf Senden:

    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 antwortet mit einer Liste von Google Cloud Dienstleistungen und Beschreibungen.

    In diesem Beispiel wird davon ausgegangen, dass Gemini sowohl Cloud Run und Cloud Functions als zwei Google Cloud Dienste, mit denen Sie eine Beispielanwendung erstellen und bereitstellen können, aber mehr Informationen zu diesen Diensten.

    Wie und wann Gemini funktioniert für Google Cloud nutzt Ihre Daten.

  3. Geben Sie eine Folgefrage wie die folgende ein:

    What is the difference between Cloud Run and Cloud Functions? Explain to me
    in simple terms as I am new to Google Cloud.
    

    Gemini antwortet mit den detaillierten Unterschieden zwischen die beiden Google Cloud-Dienste.

  4. Optional: Wenn Sie den Chatverlauf zurücksetzen möchten, klicken Sie im Bereich Gemini auf löschen Chat zurücksetzen.

Python-Anwendung „Hello World“ erstellen

Bedenken Sie, dass Sie Cloud Run zum Erstellen und Bereitstellen eines einfachen Python-Anwendung. Da Sie Cloud Run und Cloud Code benötigen Sie Hilfe bei den Schritten zum Erstellen der Anwendung. In diesem Abschnitt fordern Sie Gemini auf, Hilfe beim Erstellen einer „Hello World“-Python-App in Cloud Run.

  1. Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.

  2. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Spark Gemini

  3. Geben Sie im Bereich Gemini den folgenden Prompt ein und klicken Sie dann auf Senden:

    How to create a new Cloud Run app in Cloud Code using the command palette?
    What languages are supported?
    

    Die Befehlspalette in VS Code enthält eine Liste aller Befehle, einschließlich der Befehle für Cloud Code.

    Die Ausgabe sieht in etwa so aus:

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

    Außerdem zeigt Gemini die unterstützten Sprachen für die Cloud Run-Anwendung.

    In diesem Beispiel entscheiden Sie sich für ein Python-basiertes Cloud Run Vorlage zum Erstellen der Beispiel-App.

  4. So erstellen Sie eine Python-Anwendung aus einer Cloud Run-Vorlage: geben Sie den folgenden Prompt ein:

    How do I create a Python app from a Cloud Run template using the
    command palette? I am using Cloud Code.
    

    Die Ausgabe sieht in etwa so aus:

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

    Führe die Schritte aus, die Gemini als Antwort auf eine einfache Hello World Python-Anwendung in Cloud Run erstellen. Sie können auch im folgenden Abschnitt nachlesen, wie Sie die Hello World-Datei erstellen Python-Anwendung.

Alternative Schritte zum Erstellen einer Hello World Python-Anwendung

  1. Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.

  2. Öffnen Sie die Befehlspalette. Drücken Sie dazu Befehlstaste + Umschalt + P (MacOS) oder Strg + Umschalttaste + P (für Windows und Linux).

  3. Geben Sie in das Feld für die Befehlspalette Cloud Code: New Application ein. und klicken Sie dann auf das Ergebnis.

  4. Wählen Sie aus der Liste der verfügbaren Beispiele Cloud Run-Anwendung aus.

  5. Wählen Sie aus der Liste der verfügbaren Vorlagen Python (Flask): Cloud Run aus.

  6. Speichere die neue App an deinem bevorzugten Speicherort.

In einer Benachrichtigung wird bestätigt, dass Ihre Anwendung erstellt wurde. In Ihrer IDE wird eine Vorschau der README-Datei für den ausgewählten Dienst geöffnet. wie in Abbildung 1 gezeigt:

<ph type="x-smartling-placeholder">
</ph> Screenshot
Abbildung 1: README-Datei für eine in Cloud Run erstellte Hello World Python-Anwendung

Python-Anwendung „Hello World“ entdecken

Sie haben die Hello World-Anwendung in Cloud Run erstellt. können Sie Gemini verwenden, um die Dateien und Code-Snippets zu erklären. die in Ihrer IDE bereitgestellt werden. Um den Code der Beispiel-App zu erkunden, die Sie erstellt haben, gehen Sie folgendermaßen vor:

  1. Starten Sie Ihre IDE.

  2. Öffnen Sie den Explorer: Drücken Sie Befehlstaste + Umschalttaste + E (MacOS) oder Strg + Umschalttaste + E (für Windows und Linux).

    Sie sehen die zu Ihrer Beispielanwendung gehörenden Dateien.

  3. Klicken Sie in der Liste der Dateien auf Dockerfile, um den Inhalt anzuzeigen.

  4. Wählen Sie den gesamten Inhalt von Dockerfile aus, klicken Sie auf das Glühbirnensymbol und dann auf klicken Sie auf Erklären, wie in Abbildung 2 gezeigt:

    Screenshot von Dockerfile
    Abbildung 2. Die Funktion „Codeerklärung“ ist verfügbar, wenn Sie „Code“ auswählen.

    Gemini generiert eine Erklärung in natürlicher Sprache zu Inhalt und Funktion von Dockerfile Wenn Sie sich bei einigen Punkte innerhalb der Antwort, können Sie Folgefragen stellen.

  5. Weitere Informationen zur Datei app.py, die in Dockerfile erwähnt wird, finden Sie in Geben Sie im Bereich Gemini den folgenden Prompt ein:

    What is the function of the app.py file in Dockerfile?
    

    Gemini generiert eine Antwort ähnlich der folgenden:

    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.
    

    Sie können auch den Text app.py in Dockerfile auswählen und dann auf auf das Glühbirnensymbol und dann auf Erklären.

  6. Öffnen Sie den Explorer: Drücken Sie Befehlstaste + Umschalttaste + E (MacOS) oder Strg + Umschalttaste + E (für Windows und Linux).

  7. Öffnen Sie die Datei app.py. Sie sehen die beiden Variablen K_SERVICE und K_REVISION.

  8. Weitere Informationen zu den Variablen in der Datei app.py finden Sie unter Geben Sie im Bereich Gemini den folgenden Prompt ein:

    What is the function of `K_SERVICE` and `K_REVISION` in the `app.py` file?
    

    Alternativ können Sie auch den folgenden Text in Dockerfile auswählen: klicken Sie auf das Glühbirnensymbol und dann auf Erklären:

    service = os.environ.get('K_SERVICE', 'Unknown service')
    revision = os.environ.get('K_REVISION', 'Unknown revision')
    

    Die Antwort ähnelt dem folgenden Beispiel.

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

Beispieldaten für die App generieren

Sie haben eine einfache Flask-Anwendung in Cloud Run erstellt. Bevor Sie Funktionen zum Erstellen der Inventar-App hinzufügen können, benötigen Sie eine Datei, enthält eine Liste mit beispielhaften Inventarelementen. Wenn Sie Gemini für Folgendes verwenden möchten: die relevanten Beispieldaten zu generieren:

  1. Klicken Sie in Ihrer IDE auf das Symbol Explorer-Symbol.

  2. Klicken Sie auf das Symbol Neue Datei und erstellen Sie eine Datei namens inventory.py.

  3. Damit Gemini die Beispieldaten generieren kann, Geben Sie im Bereich Gemini den folgenden Prompt ein:

    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 generiert Beispielcode für drei JSON-Objekte.

  4. Klicken Sie in der Antwort auf . addInsert in current file (In aktuelle Datei einfügen), um das Codebeispiel in die inventory.py-Datei, wie in Abbildung 3 gezeigt:

    <ph type="x-smartling-placeholder">
    </ph> Code einfügen
    Abbildung 3: Du kannst Code aus einer Gemini-Antwort einfügen.

    Die Datei inventory.py sieht in etwa so aus:

    inventory = [
       {
          "productid": "12345",
          "onhandqty": "10"
       },
       {
          "productid": "23456",
          "onhandqty": "20"
       },
       {
          "productid": "34567",
          "onhandqty": "30"
       }
    ]
    

    Sie haben die Datei inventory.py erstellt, die Folgendes enthält: Liste der Inventarelemente.

Python-Anwendung „Hello World“ ändern

Nachdem Sie die Datei inventory.py erstellt haben, führen Sie jetzt einige API-Methoden ein. in der Datei app.py ein, mit der die Inventardaten verarbeitet werden können. Um dieses Ziel zu erreichen, können Sie die Funktion zur Codegenerierung verwenden in Gemini.

  1. Um die Dateien anzuzeigen, die sich auf Ihre Beispiel-App beziehen, führen Sie in Ihrer IDE folgende Schritte aus: klicken Sie auf das Symbol Explorer.

  2. Klicken Sie auf die Datei app.py, um den Inhalt aufzurufen.

  3. Bearbeiten Sie die Importanweisungen so, dass die Datei app.py das Feld inventory.py-Datei:

    import os
    from flask import Flask, render_template
    from inventory import inventory
    
  4. Damit Gemini den Code für die erste API-Methode generieren kann, Geben Sie in der Datei app.py den folgenden Kommentar ein und drücken Sie Strg + Eingabetaste:

     # 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 generiert eine Antwort in der Datei app.py.

    Je nach Systemkonfiguration kann die Tastenkombination zum Erstellen kann sich vom Code mit Gemini unterscheiden die in dieser Anleitung verwendete Kombination aus Strg + Eingabetaste.

  5. Halten Sie den Mauszeiger über einen beliebigen Teil der Antwort.

    Eine Gemini-Symbolleiste wird angezeigt.

    Gemini generiert möglicherweise mehr als eine Antwort. In der Symbolleiste kannst du die einzelnen Antworten mit die Tasten &lt; und &lt;. Im folgenden Beispiel Gemini generiert nur eine Antwort, wie in Abbildung 4 gezeigt:

    <ph type="x-smartling-placeholder">
    </ph> Code akzeptieren
    Abbildung 4: Sie können einen Codevorschlag von Gemini übernehmen.
  6. Wenn Sie das vorgeschlagene Codebeispiel akzeptieren möchten, klicken Sie in der Symbolleiste auf Akzeptieren.

    Die Ausgabe sieht dann ungefähr so aus:

    # 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. Optional: Wenn Sie mehr über die Funktion jsonify(inventory) erfahren möchten, markieren Sie und fordern Sie Gemini auf, Ihnen den Code zu erklären.

  8. Bearbeiten Sie die Importanweisungen so, dass die Datei app.py das Feld jsonify-Funktion:

    import os
    from flask import Flask, render_template, jsonify
    from inventory import inventory
    
  9. Wenn Sie eine weitere API-Methode hinzufügen möchten, geben Sie in der Datei app.py den Parameter folgende Eingabeaufforderung ein und drücken Sie dann Strg + Eingabetaste:

    # 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 generiert eine Antwort in der Datei app.py.

  10. Halten Sie den Mauszeiger über einen beliebigen Teil der Antwort.

    Eine Gemini-Symbolleiste wird angezeigt.

  11. Wenn Sie eines der vorgeschlagenen Codebeispiele akzeptieren möchten, klicken Sie in der Symbolleiste auf Akzeptieren.

    Die Ausgabe sieht dann ungefähr so aus:

    # 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
    

    Sie haben erfolgreich zwei API-Methoden hinzugefügt, um Ihre Inventar-App zu erstellen.

Anwendung lokal über die IDE ausführen

Sie können die Anwendung jetzt lokal über VS Code bereitstellen. So stellen Sie die Anwendung bereit:

  1. Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.

  2. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf Spark Gemini

  3. Geben Sie im Bereich Gemini den folgenden Prompt ein und klicken Sie dann auf Senden:

    How do I run a Cloud Run app locally within Cloud Code?
    Is there an emulator?
    

    Folge den Schritten in der Gemini-Antwort, um die App auszuführen. lokal von VS Code. Sie können auch im folgenden Abschnitt nachlesen, wie Sie eine Cloud Run-Beispielanwendung lokal aus VS Code heraus.

Alternative Schritte zum lokalen Ausführen der Anwendung über Ihre IDE

Wenn Sie die Schritte in der Gemini-Antwort nicht ausgeführt haben Im vorherigen Abschnitt können Sie Ihre Beispielanwendung so bereitstellen:

  1. Starten Sie Ihre IDE.

  2. Befehlspalette öffnen: Drücken Sie Befehlstaste + Umschalt + P (Mac OS). oder Strg + Umschalttaste + P (Windows und Linux).

  3. Geben Sie in das Feld für die Befehlspalette Run on Cloud Run Emulator ein. und klicken Sie dann auf das Ergebnis.

  4. Behalten Sie in der Umgebungsdatei Build die Standardwerte bei und klicken Sie auf Ausführen.

    In dieser Anleitung wird Docker als Builder-Option verwendet.

    Im Bereich Ausgabe Ihrer IDE können Sie den Build-Fortschritt anzeigen lassen. Der eigentliche Bereitstellungsprozess kann einige Zeit in Anspruch nehmen.

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

Klicken Sie nach Abschluss der Bereitstellung auf die URL in der Ausgabe. Für eine lokale Kopie von VS Code, wenn Sie localhost 8080 angegeben haben, Ihre Beispiel-App ist unter der URL http://localhost:8080 verfügbar.

Zwei API-Methoden testen

Wenn die Beispielanwendung live ist, können Sie auch prüfen, ob die Routen der beiden Anwendungen funktionieren. In diesem Beispiel lautet die App-URL http://localhost:8080.

  1. Um die Beispiel-Landingpage für Ihre App aufzurufen, gehen Sie zu http://localhost:8080.

  2. Eine Liste aller Inventarelemente erhalten Sie unter http://localhost:8080/inventory.

    Um in der Datei app.py alle Inventarelemente aufzulisten, führt die Funktion @app.route('/inventory', methods=['GET']) wird verwendet.

  3. So rufen Sie einen bestimmten Inventarartikel auf, der nach dem Attribut productid gefiltert ist: Klicken Sie auf http://localhost:8080/inventory/productid.

    Beispiel: http://localhost:8080/inventory/1, wobei productid gleich 1 ist.

    Um in der Datei app.py ein bestimmtes Inventarelement anzuzeigen, productid wird die Funktion @app.route('/inventory/<productid>', methods=['GET']) wird verwendet.

Cloud Run-Anwendung in Google Cloud bereitstellen

Sie können jetzt die Cloud Run-Anwendung in Google Cloud bereitstellen. Sie können Gemini auffordern, Ihnen die Schritte zu nennen. Alternativ können Sie führen Sie folgende Schritte aus:

  1. Befehlspalette öffnen: Drücken Sie Befehlstaste + Umschalt + P (Mac OS). oder Strg + Umschalttaste + P (Windows und Linux).

  2. Geben Sie in das Feld für die Befehlspalette Cloud Code: Deploy to Cloud Run ein. und dann auf das Ergebnis.

  3. Legen Sie im Bereich Diensteinstellungen Ihr Google Cloud-Projekt fest.

  4. Übernehmen Sie die verbleibenden Standardeinstellungen und klicken Sie auf Bereitstellen.

  5. Cloud Code erstellt Ihr Image, überträgt es per Push in die Registry und stellt zu Cloud Run hinzufügen.

  6. Um Ihren laufenden Dienst anzuzeigen, öffnen Sie die URL, die in das Dialogfeld In Cloud Run bereitstellen.

    Sie können dieselben Schritte wie in Testen Sie die beiden API-Methoden, um die Beispiel-App in Google Cloud Passen Sie Ihre URLs entsprechend an.

Bereinigen

Wenn Sie vermeiden möchten, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden, können Sie das dafür erstellte Google Cloud-Projekt löschen. Alternativ können Sie den für individuelle Ressourcen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte