In dieser Anleitung erfahren Sie, wie Sie mit Gemini in Google Cloud, einem KI-gestützten Mitbearbeiter in Google Cloud, eine Python-Beispielanwendung untersuchen, erstellen, ändern, testen und bereitstellen können.
Nehmen wir für das folgende Beispiel an, dass Sie Entwickler sind, der Teil eines Teams ist, das eine Inventaranwendung entwickelt. Sie sind dafür verantwortlich, einen Prototyp für einen grundlegenden Dienst zu erstellen, der einige API-Methoden enthält, die als Teil der Inventaranwendung ausgeführt werden können. 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 Gemini 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 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 gcloud-Framework vertraut sind.
Lernziele
Entdecken Sie verschiedene Google-Dienste, mit denen Sie eine Anwendung bereitstellen können. Stellen Sie dazu kontextbasierte Fragen zu Gemini.
Fordern Sie Gemini an, Vorlagen bereitzustellen, mit denen Sie eine einfache Python-Anwendung in Cloud Run entwickeln können.
Anwendung mithilfe von Gemini erstellen, untersuchen und ändern, um den Code zu erklären und zu generieren.
Die Anwendung lokal ausführen und testen und dann mithilfe von Gemini 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 in Cloud Run Code bereitstellen, der in einer beliebigen Programmiersprache geschrieben ist, wenn Sie ein Container-Image damit erstellen können. Preisinformationen finden Sie unter Cloud Run.
Neben dem zuvor genannten Produkt werden in dieser Anleitung auch die folgenden Produkte verwendet:
Gemini. Gemini ist ein immer aktiver Mitarbeiter 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 Gemini 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
Installieren Sie eine lokale Kopie von VS Code, falls noch nicht geschehen.
Cloud Code-Erweiterung für VS Code installieren
Folgen Sie 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.
- Gemini muss für Ihr Google Cloud-Nutzerkonto und Ihr Projekt eingerichtet sein.
Aktivieren Sie Gemini für Ihre IDE.
Führen Sie die Schritte aus, um in Ihrer IDE eine Verbindung zu Google Cloud herzustellen und ein Projekt für Google Cloud auszuwählen.
Google Cloud-Dienste entdecken
Wenn Sie neu bei Google Cloud sind, kann Gemini Ihnen bei der Auswahl der Google Cloud-Dienste helfen, die den Anforderungen Ihrer Anwendungsarchitektur entsprechen.
In Ihrer IDE können Sie mit Gemini chatten, um Hilfe zu erhalten. Im Bereich Gemini geben Sie Aufforderungen ein, d. h. Fragen oder Aussagen, die die gewünschte Hilfe beschreiben. Gemini gibt dann Antworten zurück. Aufforderungen können Kontext aus vorhandenem Code enthalten, den Google Cloud analysiert, um nützlichere oder vollständigere Antworten zu liefern. Weitere Informationen zum Schreiben von Prompts für gute Antworten finden Sie unter Bessere Prompts für Gemini schreiben.
Führen Sie die folgenden Schritte aus, um Gemini zu Google Cloud-Diensten zu informieren:
Klicken Sie in der Aktivitätsleiste Ihrer IDE auf spark Gemini.
Die Aktivitätsleiste von VS Code finden Sie unter Benutzeroberfläche.
Geben Sie im Bereich Gemini 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.
Gemini antwortet mit einer Liste von Google Cloud-Diensten und -Beschreibungen.
Nehmen wir in diesem Beispiel an, dass Gemini 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 weitere Informationen zu diesen Diensten.
Gemini verwendet Ihre Prompts und seine Antworten nicht als Daten zum Trainieren seines Modells. Weitere Informationen finden Sie unter So nutzt Gemini für Google Cloud Ihre Daten.
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 den beiden Google Cloud-Diensten.
Optional: Klicken Sie im Bereich Gemini auf delete Chat zurücksetzen, um das Chatprotokoll 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 mit Cloud Run und Cloud Code noch nicht auskennen, benötigen Sie Hilfe bei den Schritten zum Erstellen der Anwendung. In diesem Abschnitt fordern Sie Gemini um Hilfe zum Erstellen einer „Hello World“-Python-Anwendung in Cloud Run auf.
Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.
Klicken Sie in der Aktivitätsleiste Ihrer IDE auf spark Gemini.
Geben Sie im Bereich Gemini 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. ...
Gemini zeigt auch die unterstützten Sprachen für die Cloud Run-Anwendung an.
In diesem Beispiel wählen Sie eine Python-basierte Cloud Run-Vorlage zum Erstellen der Beispielanwendung aus.
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 Gemini in seiner Antwort bereitstellt, um eine einfache Hello World Python-Anwendung in Cloud Run zu erstellen. Informationen zum Erstellen der Python-Anwendung „Hello World“ finden Sie im folgenden Abschnitt.
Alternative Schritte zum Erstellen einer „Hello World“-Python-Anwendung
Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.
Öffnen Sie die Befehlspalette: Drücken Sie Befehlstaste + Umschalttaste + P (Mac OS) oder Strg + Umschalttaste + P (Windows und Linux).
Geben Sie im Feld der Befehlspalette
Cloud Code: New Application
ein und klicken Sie dann auf das Ergebnis.Wählen Sie aus der Liste der verfügbaren Beispiele Cloud Run-Anwendung aus.
Wählen Sie aus der Liste der verfügbaren Vorlagen Python (Bot): Cloud Run aus.
Speichere die neue App an deinem bevorzugten Speicherort.
In einer Benachrichtigung wird bestätigt, dass Ihre App erstellt wurde. In Ihrer IDE wird eine Vorschau der README-Datei für den ausgewählten Dienst geöffnet, wie in Abbildung 1 dargestellt:
Python-Anwendung „Hello World“ kennenlernen
Nachdem Sie Ihre Hello World-Anwendung in Cloud Run erstellt haben, können Sie mit Gemini die Dateien und Code-Snippets erklären, die in Ihrer IDE bereitgestellt werden. So erkunden Sie den Code der von Ihnen erstellten Beispielanwendung:
Starten Sie Ihre IDE.
Öffnen Sie Explorer: Drücken Sie Befehlstaste + Umschalttaste + E (macOS) oder Strg + Umschalttaste + E (Windows und Linux).
Sie sehen die Dateien, die sich auf Ihre Beispiel-App beziehen.
Klicken Sie in der Liste der Dateien auf
Dockerfile
, um den Inhalt aufzurufen.Wählen Sie den gesamten Inhalt von
Dockerfile
aus, klicken Sie auf das Glühbirnensymbol und dann auf Erklärung (siehe Abbildung 2):Gemini 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.Geben Sie im Bereich Gemini die folgende Eingabeaufforderung ein, um weitere Informationen zur Datei
app.py
zu erhalten, die inDockerfile
erwähnt wird:What is the function of the app.py file in Dockerfile?
Gemini generiert eine Antwort wie diese:
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
inDockerfile
auswählen, auf das Glühbirnensymbol und dann auf Erklären klicken.Öffnen Sie Explorer: Drücken Sie Befehlstaste + Umschalttaste + E (macOS) oder Strg + Umschalttaste + E (Windows und Linux).
Öffnen Sie die Datei
app.py
. Sie sehen die beiden VariablenK_SERVICE
undK_REVISION
.Weitere Informationen zu den Variablen in der Datei
app.py
erhalten Sie, wenn Sie im Bereich Gemini die folgende Eingabeaufforderung eingeben: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 Explain this (Erklären) 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 in Cloud Run eine einfache Bot-Anwendung erstellt. Bevor Sie Funktionen zum Erstellen der Inventar-App hinzufügen können, benötigen Sie eine Datei mit einer Liste von Beispielinventarelementen. Gehen Sie so vor, um mit Gemini die relevanten Beispieldaten zu generieren:
Klicken Sie in Ihrer IDE auf das Symbol Explorer, um die mit Ihrer Beispiel-App verbundenen Dateien anzuzeigen.
Klicken Sie auf das Symbol Neue Datei und erstellen Sie eine Datei mit dem Namen
inventory.py
.Damit Gemini die Beispieldaten generieren kann, geben Sie im Bereich Gemini die folgende Eingabeaufforderung 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.
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: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
mit der Liste der Inventarelemente erstellt.
„Hello World“-Python-Anwendung ändern
Nachdem Sie die Datei inventory.py
erstellt haben, führen Sie jetzt einige API-Methoden in die Datei app.py
ein, die mit den Inventardaten arbeiten können.
Um dieses Ziel zu erreichen, können Sie das Feature zur Codegenerierung in Gemini verwenden.
Klicken Sie in Ihrer IDE auf das Symbol Explorer, um die mit Ihrer Beispiel-App verbundenen Dateien aufzurufen.
Klicken Sie auf die Datei
app.py
, um den Inhalt aufzurufen.Bearbeiten Sie die Importanweisungen so, dass die Datei
app.py
die Dateiinventory.py
enthält:import os from flask import Flask, render_template from inventory import inventory
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 sich die Tastenkombination zum Generieren von Code mit Gemini von der Tastenkombination Strg + Eingabetaste unterscheiden, die in dieser Anleitung verwendet wird.
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 können Sie mit den Tasten < und > durch die einzelnen Antworten blättern. Im folgenden Beispiel generiert Gemini nur eine Antwort, wie in Abbildung 4 dargestellt:
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)
Optional: Wenn Sie mehr über die Funktion
jsonify(inventory)
erfahren möchten, markieren Sie den Begriff und fordern Sie Gemini auf, Ihnen den Code zu erklären.Bearbeiten Sie die Importanweisungen so, dass die Datei
app.py
die Funktionjsonify
enthält:import os from flask import Flask, render_template, jsonify from inventory import inventory
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.
Gemini generiert eine Antwort in der Datei
app.py
.Halten Sie den Mauszeiger über einen beliebigen Teil der Antwort.
Eine Gemini-Symbolleiste wird angezeigt.
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 Inventaranwendung hinzugefügt.
Anwendung lokal über die IDE ausführen
Sie können die Anwendung jetzt lokal über VS Code bereitstellen. So stellen Sie die App bereit:
Starten Sie Ihre IDE, falls Sie dies noch nicht getan haben.
Klicken Sie in der Aktivitätsleiste Ihrer IDE auf spark Gemini.
Geben Sie im Bereich Gemini 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 Gemini-Antwort aus, um die Anwendung lokal über VS Code auszuführen. Mit dem folgenden Abschnitt können Sie auch 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 Gemini-Antwort im vorherigen Abschnitt nicht ausgeführt haben, können Sie die Beispielanwendung so bereitstellen:
Starten Sie Ihre IDE.
Öffnen Sie die Befehlspalette: Drücken Sie Befehlstaste + Umschalttaste + P (Mac OS) oder Strg + Umschalttaste + P (Windows und Linux).
Geben Sie im Feld der Befehlspalette
Run on Cloud Run Emulator
ein und klicken Sie dann auf das Ergebnis.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 sehen. Die Bereitstellung 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.
Beide API-Methoden testen
Wenn Ihre Beispiel-App live ist, können Sie auch prüfen, ob die beiden App-Routen funktionieren.
In diesem Beispiel nehmen wir an, dass die Anwendungs-URL http://localhost:8080
lautet.
Die Beispiel-Landingpage für Ihre Anwendung finden Sie unter http://localhost:8080.
Eine Liste aller Inventarelemente finden Sie unter http://localhost:8080/inventory.
In der Datei
app.py
wird die Funktion@app.route('/inventory', methods=['GET'])
verwendet, um alle Inventarelemente aufzulisten.Um ein bestimmtes Inventarelement anzuzeigen, gefiltert nach dem Attribut
productid
, klicken Sie aufhttp://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 anhand des Attributsproductid
anzuzeigen.
Cloud Run-Anwendung in Google Cloud bereitstellen
Sie können die Cloud Run-Anwendung jetzt in Google Cloud bereitstellen. Sie können Gemini auffordern, Ihnen die Schritte anzugeben, oder diese Schritte ausführen:
Öffnen Sie die Befehlspalette: Drücken Sie Befehlstaste + Umschalttaste + P (Mac OS) oder Strg + Umschalttaste + P (Windows und Linux).
Geben Sie im Feld der Befehlspalette
Cloud Code: Deploy to Cloud Run
ein und klicken Sie dann auf das Ergebnis.Legen Sie im Bereich mit den Diensteinstellungen Ihr Google Cloud-Projekt fest.
Übernehmen Sie die verbleibenden Standardeinstellungen und klicken Sie dann auf Bereitstellen.
Cloud Code erstellt Ihr Image, überträgt es per Push in die Registry und stellt Ihren Dienst in Cloud Run bereit.
Öffnen Sie die im Dialogfeld In Cloud Run bereitstellen angezeigte URL, 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.
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Nächste Schritte
Lesen Sie die Übersicht zu Gemini für Google Cloud.