Python-Anwendung mit Unterstützung von Duet-KI entwickeln

In dieser Anleitung erfahren Sie, wie Sie mit Duet-KI, einem KI-gestützten Mitbearbeiter in Google Cloud, eine Python-Beispielanwendung untersuchen, erstellen, ändern, testen und bereitstellen.

Stellen Sie sich für das folgende Beispiel vor, dass Sie ein Entwickler sind, der Teil eines Teams ist, das eine Inventaranwendung entwickelt. Sie sind für das Prototyping eines Basisdienstes verantwortlich, der einige API-Methoden für die Nutzung der Inventaranwendung enthält. Sie möchten die Anwendung in Ihrer lokalen VS Code-Umgebung entwickeln und 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 Duet-KI zusammen mit Visual Studio Code als IDE, um eine Beispiel-Inventar-App mit zwei API-Methoden zu erstellen.

Diese Anleitung richtet sich an Entwickler aller Erfahrungsstufen, die zum Erstellen von Anwendungen beigetragen haben, aber möglicherweise noch nicht mit Cloudtechnologien vertraut sind. Es wird davon ausgegangen, dass Sie Erfahrung mit der Verwendung von VS Code als IDE haben und mit Python und dem Flask-Framework vertraut sind.

Lernziele

  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie eine Anwendung bereitstellen können. Stellen Sie dazu kontextbasierte Fragen zu Duet-KI.

  • Fordern Sie Duet-KI auf, Vorlagen bereitzustellen, mit denen Sie eine einfache Python-Anwendung in Cloud Run entwickeln können.

  • Anwendung mit Duet-KI erstellen, untersuchen und ändern, um den Code zu erklären und zu generieren.

  • Anwendung lokal ausführen und testen und dann mithilfe von Duet-KI in Google Cloud bereitstellen, um die Schritte zu generieren

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 eine verwaltete Computing-Plattform, mit der Sie Container direkt in der skalierbaren Google-Infrastruktur ausführen können. Sie können Code, der in einer beliebigen Programmiersprache in Cloud Run geschrieben ist, bereitstellen, wenn Sie daraus ein Container-Image erstellen können. Preisinformationen finden Sie unter Cloud Run.

Neben dem zuvor genannten Produkt werden in dieser Anleitung auch die folgenden Produkte verwendet:

  • Duet-KI Duet-KI ist ein ständiger Mitbearbeiter in Google Cloud, der einer Vielzahl von Nutzern, einschließlich Entwicklern und Data Scientists, mit generativer KI Unterstützung bietet. Für eine integrierte Unterstützung ist Duet-KI in viele Google Cloud-Produkte eingebettet.

  • Cloud Code for VS Code-Erweiterung. Diese Erweiterung ist ein IDE-Plug-in, das den Entwicklungszyklus von Kubernetes- und Cloud Run-Anwendungen unterstützt. Weitere Informationen zur Cloud Code-Erweiterung finden Sie unter Cloud Code für VS Code-Features.

Hinweise

  1. Installieren Sie eine lokale Kopie von VS Code, falls noch nicht geschehen.

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

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

  3. Prüfen Sie, ob Duet AI für Ihr Google Cloud-Nutzerkonto und -Projekt eingerichtet ist.
  4. Duet-KI für Ihre IDE aktivieren

    Führen Sie die Schritte aus, um in Ihrer IDE eine Verbindung zu Google Cloud herzustellen und ein Projekt auszuwählen, das für Google Cloud eingerichtet ist.

Google Cloud-Dienste entdecken

Wenn Sie mit Google Cloud noch nicht vertraut sind, können Sie mit Duet-KI die Google Cloud-Dienste auswählen, die den Anforderungen Ihrer Anwendungsarchitektur entsprechen.

In Ihrer IDE können Sie mit Duet-KI chatten, um Hilfe zu erhalten. Im Bereich Duet-KI geben Sie Aufforderungen ein (Fragen oder Aussagen, die die gewünschte Hilfe beschreiben) und Duet-KI gibt Antworten zurück. Aufforderungen können Kontext aus vorhandenem Code enthalten, den Google Cloud analysiert, um nützlichere oder vollständigere Antworten bereitzustellen. Weitere Informationen zum Schreiben von Prompts zum Generieren guter Antworten finden Sie unter Bessere Prompts für Duet-KI schreiben.

So fragen Sie Duet-KI zu Google Cloud-Diensten ab:

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf chat_spark Duet-KI.

    Die Aktivitätsleiste von VS Code finden Sie unter Benutzeroberfläche.

  2. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung 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.
    

    Duet-KI antwortet mit einer Liste von Google Cloud-Diensten und Beschreibungen.

    Nehmen wir in diesem Beispiel an, dass Duet-KI sowohl Cloud Run als auch Cloud Functions als zwei Google Cloud-Dienste vorschlägt, mit denen Sie eine Beispielanwendung erstellen und bereitstellen können. Sie benötigen jedoch mehr Informationen zu diesen Diensten.

    Duet AI verwendet Ihre Prompts oder seine Antworten nicht als Daten zum Trainieren seines Modells. Weitere Informationen finden Sie unter So nutzt Duet AI in Google Cloud Ihre Daten.

  3. Geben Sie eine Anschlussfrage ein, die wie folgt lautet:

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

    Duet-KI antwortet mit den detaillierten Unterschieden zwischen den beiden Google Cloud-Diensten.

  4. Optional: Klicken Sie im Bereich Duet-KI auf delete Chat zurücksetzen, um den Chatverlauf zurückzusetzen.

„Hello World“-Python-Anwendung erstellen

Sie können Cloud Run verwenden, um eine einfache Python-Anwendung zu erstellen und bereitzustellen. Da Sie sich noch nicht mit Cloud Run und Cloud Code auskennen, benötigen Sie Hilfe bei den Schritten zum Erstellen der Anwendung. In diesem Abschnitt fordern Sie Duet-KI zum Erstellen einer „Hello World“-Python-Anwendung in Cloud Run auf.

  1. Starten Sie Ihre IDE, falls noch nicht geschehen.

  2. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf chat_spark Duet-KI.

  3. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung 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.
    ...
    

    Duet-KI zeigt auch die unterstützten Sprachen für die Cloud Run-Anwendung an.

    Für dieses Beispiel wählen Sie eine Python-basierte Cloud Run-Vorlage zum Erstellen der Beispielanwendung aus.

  4. Geben Sie die folgende Eingabeaufforderung ein, um zu erfahren, wie Sie eine Python-Anwendung aus einer Cloud Run-Vorlage erstellen:

    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ühren Sie die Schritte aus, die Duet-KI als Antwort bereitstellt, um eine einfache Hello World Python-Anwendung in Cloud Run zu erstellen. Informationen zum Erstellen der Hello World Python-Anwendung finden Sie auch im folgenden Abschnitt.

Alternative Schritte zum Erstellen einer „Hello World“-Python-Anwendung

  1. Starten Sie Ihre IDE, falls noch nicht geschehen.

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

  3. Geben Sie im 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. Speichern Sie die neue App am gewünschten Speicherort.

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

Screenshot
Abbildung 1: README-Datei für eine in Cloud Run erstellte „Hello World“-Python-Anwendung.

„Hello World“-Python-Anwendung kennenlernen

Nachdem Sie Ihre Hello World-Anwendung in Cloud Run erstellt haben, können Sie mit Duet-KI die Dateien und Code-Snippets erklären, die in Ihrer IDE bereitgestellt werden. So erkunden Sie den Code der von Ihnen erstellten Beispielanwendung:

  1. Starten Sie Ihre IDE.

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

    Sie können sich die Dateien ansehen, die sich auf Ihre Beispiel-App beziehen.

  3. Klicken Sie in der Dateiliste auf Dockerfile, um den Inhalt aufzurufen.

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

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

    Duet-KI generiert eine Erklärung in natürlicher Sprache über den Inhalt und die Funktion von Dockerfile. Wenn Sie sich bei einigen Punkten der Antwort nicht sicher sind, können Sie Folgefragen stellen.

  5. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung ein, um weitere Informationen zur Datei app.py zu erhalten, die in Dockerfile erwähnt wird:

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

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

    Alternativ können Sie auch den Text app.py in Dockerfile auswählen, auf das Glühbirnensymbol und dann auf Erläuterung klicken.

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

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

  8. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung ein, um weitere Informationen zu den Variablen in der Datei app.py zu erhalten:

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

    Alternativ können Sie auch den folgenden Text im Dockerfile auswählen, auf das Glühbirnensymbol und dann auf Erläuterung klicken:

    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 Inventaranwendung hinzufügen können, benötigen Sie eine Datei mit einer Liste von Beispielinventarelementen. So generieren Sie mit Duet-KI die relevanten Beispieldaten:

  1. Klicken Sie in Ihrer IDE auf das Symbol Explorer, um sich die Dateien für Ihre Beispielanwendung anzeigen zu lassen.

  2. Klicken Sie auf das Symbol Neue Datei und erstellen Sie eine Datei mit dem Namen inventory.py.

  3. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung ein, damit Duet-KI die Beispieldaten generieren kann:

    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.
    

    Duet-KI generiert Beispielcode für drei JSON-Objekte.

  4. Klicken Sie in der Antwort auf addIn aktuelle Datei einfügen, um das Codebeispiel in die Datei inventory.py einzufügen, wie in Abbildung 3 dargestellt:

    Code eingeben
    Abbildung 3: Sie können Code aus einer Duet-KI-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 eine Liste der Inventarelemente enthält.

„Hello World“-Python-Anwendung ändern

Nachdem Sie die Datei inventory.py erstellt haben, führen Sie in die Datei app.py einige API-Methoden ein, die mit den Inventardaten arbeiten können. Um dieses Ziel zu erreichen, können Sie das Feature zur Codegenerierung in Duet-KI verwenden.

  1. Klicken Sie in Ihrer IDE auf das Symbol Explorer, um die Dateien anzuzeigen, die sich auf Ihre Beispiel-App beziehen.

  2. Klicken Sie auf die Datei app.py, um sich den Inhalt anzeigen zu lassen.

  3. Bearbeiten Sie die Importanweisungen so, dass die Datei app.py die Datei inventory.py enthält:

    import os
    from flask import Flask, render_template
    from inventory import inventory
    
  4. Damit Duet-KI den Code für die erste API-Methode generieren soll, 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.
    
    

    Duet-KI generiert eine Antwort in der Datei app.py.

    Je nach Systemkonfiguration kann sich die Tastenkombination zum Generieren von Code mit Duet-KI von der Kombination Strg + Eingabetaste unterscheiden, die in dieser Anleitung verwendet wird.

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

    Eine Duet-KI-Symbolleiste wird angezeigt.

    Duet-KI generiert möglicherweise mehrere Antworten. In der Symbolleiste können Sie mit den Tasten < und > die einzelnen Antworten durchgehen. Im folgenden Beispiel generiert Duet-KI nur eine Antwort, wie in Abbildung 4 gezeigt:

    Code annehmen
    Abbildung 4: Sie können einen Codevorschlag von Duet-KI annehmen.
  6. Klicken Sie in der Symbolleiste auf Akzeptieren, um das vorgeschlagene Codebeispiel zu 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 den Begriff und fordern Sie Duet-KI auf, Ihnen den Code zu erklären.

  8. Bearbeiten Sie die Importanweisungen so, dass die Datei app.py die Funktion jsonify enthält:

    import os
    from flask import Flask, render_template, jsonify
    from inventory import inventory
    
  9. Geben Sie zum Hinzufügen einer weiteren API-Methode in der Datei app.py die folgende Eingabeaufforderung ein und drücken Sie 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.
    

    Duet-KI generiert eine Antwort in der Datei app.py.

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

    Eine Duet-KI-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 zwei API-Methoden zum Erstellen Ihrer Inventar-App hinzugefügt.

Anwendung lokal über Ihre IDE ausführen

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

  1. Starten Sie Ihre IDE, falls noch nicht geschehen.

  2. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf chat_spark Duet-KI.

  3. Geben Sie im Bereich Duet-KI die folgende Eingabeaufforderung ein und klicken Sie dann auf Senden:

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

    Führen Sie die Schritte in der Duet-KI-Antwort aus, um die Anwendung lokal über VS Code auszuführen. Im folgenden Abschnitt wird beschrieben, wie Sie eine Cloud Run-Beispielanwendung lokal über VS Code bereitstellen.

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

Wenn Sie die Schritte in der Duet-KI-Antwort im vorherigen Abschnitt nicht ausgeführt haben, können Sie die Beispielanwendung so bereitstellen:

  1. Starten Sie Ihre IDE.

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

  3. Geben Sie im 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 Ausgabebereich Ihrer IDE können Sie den Build-Fortschritt sehen. 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 im Bereich Ausgabe, um die Live-Anwendung anzusehen. Wenn Sie für eine lokale Kopie von VS Code localhost 8080 angegeben haben, ist Ihre Beispielanwendung unter der URL http://localhost:8080 live.

Die beiden API-Methoden testen

Wenn Ihre Beispielanwendung live ist, können Sie auch prüfen, ob die beiden Anwendungsrouten funktionieren. In diesem Beispiel wird davon ausgegangen, dass die Anwendungs-URL http://localhost:8080 lautet.

  1. Rufen Sie http://localhost:8080 auf, um die Beispiel-Landingpage für Ihre Anwendung anzusehen.

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

    In der Datei app.py wird die Funktion @app.route('/inventory', methods=['GET']) verwendet, um alle Inventarelemente aufzulisten.

  3. Wenn Sie ein bestimmtes Inventarelement aufrufen möchten, gefiltert nach dem Attribut productid, klicken Sie auf http://localhost:8080/inventory/productid.

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

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

Cloud Run-Anwendung in Google Cloud bereitstellen

Sie können die Cloud Run-Anwendung jetzt in Google Cloud bereitstellen. Sie können Duet-KI zur Angabe der Schritte auffordern oder die folgenden Schritte ausführen:

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

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

  3. Legen Sie im Einstellungsbereich Dienst Ihr Google Cloud-Projekt fest.

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

  5. Cloud Code erstellt das Image, überträgt es per Push in die Registry und stellt Ihren Dienst in Cloud Run bereit.

  6. Öffnen Sie die URL im Dialogfeld In Cloud Run bereitstellen, um den ausgeführten Dienst anzusehen.

    Sie können auch dieselben Schritte wie unter Zwei API-Methoden testen verwenden, um die Beispielanwendung in Google Cloud anzusehen. 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 die einzelnen Ressourcen löschen.

  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