1. Einführung
In diesem Lab verwenden Sie Gemini Code Assist (früher Duet AI for Developers), ein KI-gestütztes Tool zur Unterstützung in Google Cloud. Sie lernen, wie Sie mit Gemini Chat und Inline-Code-Unterstützung Code generieren, Code verstehen und vieles mehr machen können.
Aufgaben
- Sie verwenden die Cloud Shell-IDE, um eine vorhandene Codevorlage für eine Webanwendung herunterzuladen.
- Sie verwenden Gemini Chat in der Cloud Shell IDE, um allgemeine Fragen zu Google Cloud zu stellen.
- Sie verwenden Gemini Code Assist Inline-Codeunterstützung in der Cloud Shell-IDE, um Code zu generieren, zusammenzufassen und zu vervollständigen.
Lerninhalte
- Informationen zur Verwendung von Gemini Code Assist für verschiedene Entwickleraufgaben wie Codegenerierung, Codevervollständigung und Codezusammenfassung.
- So verwenden Sie Gemini for Cloud, um mehr über Google Cloud zu erfahren.
Du brauchst...
- Chrome-Webbrowser
- Ein Gmail-Konto
- Ein Cloud-Projekt mit aktivierter Abrechnung
- Gemini Code Assist ist für Ihr Cloud-Projekt aktiviert
Dieses Lab richtet sich an Entwickler aller Stufen, auch Anfänger. Die Beispielanwendung ist zwar in Python geschrieben, aber Sie müssen nicht mit der Python-Programmierung vertraut sein, um zu verstehen, wo das Problem liegt. Wir konzentrieren uns darauf, uns mit den Funktionen von Gemini Code Assist für Entwickler vertraut zu machen.
2. Einrichtung
In diesem Abschnitt werden alle Schritte behandelt, die für den Einstieg in dieses Lab erforderlich sind.
Gemini for Cloud im Google Cloud-Projekt aktivieren
Wir aktivieren Gemini for Cloud jetzt in unserem Google Cloud-Projekt. Gehen Sie dazu so vor:
- Rufen Sie https://console.cloud.google.com auf und vergewissern Sie sich, dass Sie das Google Cloud-Projekt ausgewählt haben, mit dem Sie für dieses Lab arbeiten möchten. Klicken Sie oben rechts auf das Symbol „Gemini öffnen“.
- Das Chatfenster von Gemini for Cloud wird rechts in der Console geöffnet. Klicken Sie wie unten gezeigt auf die Schaltfläche „Aktivieren“. Wenn Sie die Schaltfläche Aktivieren nicht sehen, sondern stattdessen eine Chat-Oberfläche sehen, haben Sie Gemini für Cloud wahrscheinlich bereits für das Projekt aktiviert und können direkt mit dem nächsten Schritt fortfahren.
- Nach der Aktivierung können Sie Gemini für Cloud testen, indem Sie ein oder zwei Abfragen stellen. Es werden einige Beispielabfragen angezeigt, aber Sie können beispielsweise etwas wie
What is Cloud Run?
ausprobieren
Gemini for Cloud wird Ihre Frage beantworten. Klicken Sie rechts oben auf das -Symbol, um das Chatfenster von Gemini für Cloud zu schließen.
Gemini Code Assist in der Cloud Shell IDE aktivieren
Für den Rest des Codelabs verwenden wir die Cloud Shell-IDE, eine vollständig verwaltete Code OSS-basierte Entwicklungsumgebung. Wir müssen Code Assist in der Cloud Shell-IDE aktivieren und konfigurieren. Gehen Sie dazu so vor:
- Rufen Sie ide.cloud.google.com auf. Es kann eine Weile dauern, bis die IDE angezeigt wird. Bitte haben Sie etwas Geduld.
- Klicken Sie wie dargestellt in der unteren Statusleiste auf die Schaltfläche Cloud Code – Sign in (Cloud Code – Anmelden). Autorisieren Sie das Plug-in wie angegeben. Wenn in der Statusleiste Cloud Code - no project angezeigt wird, wählen Sie diese Option aus und wählen Sie dann das gewünschte Google Cloud-Projekt aus der Liste der Projekte aus, mit denen Sie arbeiten möchten.
- Klicken Sie rechts unten auf die Schaltfläche Gemini und wählen Sie ein letztes Mal das richtige Google Cloud-Projekt aus. Wenn Sie aufgefordert werden, die Cloud AI Companion API zu aktivieren, tun Sie dies, bevor Sie fortfahren.
- Nachdem Sie Ihr Google Cloud-Projekt ausgewählt haben, prüfen Sie, ob dies in der Cloud Code-Statusmeldung in der Statusleiste zu sehen ist und ob Code Assist auf der rechten Seite aktiviert ist (siehe unten):
Gemini Code Assist kann jetzt verwendet werden.
Optional: Wenn Gemini rechts unten in der Statusleiste nicht angezeigt wird, müssen Sie Gemini in Cloud Code aktivieren. Prüfen Sie zuerst, ob Gemini in der IDE aktiviert ist. Rufen Sie dazu Cloud Code-Erweiterung → Einstellungen auf und geben Sie wie unten gezeigt den Text Gemini ein. Das Kästchen muss angeklickt sein. Aktualisieren Sie Ihre IDE.Dadurch wird Gemini in Cloud Code aktiviert und das Gemini-Symbol in der Statusleiste wird in Ihrer IDE angezeigt.
3. Beispielanwendung erstellen
Wir erstellen eine Beispielanwendung (eine Python Flask-Anwendung), mit der wir die Funktionen von Gemini Code Assist untersuchen.
Gehen Sie so vor:
- Klicken Sie in der Statusleiste unten auf den Google Cloud-Projektnamen.
- Eine Liste mit Optionen wird angezeigt. Klicken Sie in der Liste unten auf New Application (Neue Anwendung).
- Wählen Sie Cloud Run aus.
- Wählen Sie die Anwendungsvorlage Python (Flask): Cloud Run aus.
- Speichern Sie die neue Anwendung an Ihrem bevorzugten Speicherort.
- In einer Benachrichtigung wird bestätigt, dass Ihre Anwendung erstellt wurde. Daraufhin wird ein neues Fenster geöffnet, in dem Ihre Anwendung wie unten dargestellt geladen ist. Eine
README.md
-Datei wird geöffnet. Sie können diese Ansicht vorerst schließen.
4. Mit Gemini chatten
Als Erstes sehen wir uns an, wie man mit Gemini chattet. Gemini ist als Chatassistent in der Cloud Shell-IDE als Teil der Cloud Code-Erweiterung in VS Code verfügbar. Sie können es aufrufen, indem Sie in der linken Navigationsleiste auf die Gemini-Schaltfläche klicken. Suchen Sie in der linken Navigationsleiste nach dem Gemini-Symbol und klicken Sie darauf.
Daraufhin wird das Fenster „Chat: GeminiI“ in der Cloud Shell IDE angezeigt. Sie können mit Gemini chatten, um Hilfe zu Google Cloud zu erhalten.
Lassen Sie uns das Gemini-Chatfenster verwenden, um einen Prompt einzugeben und die Antwort von Gemini zu sehen. Geben Sie den folgenden Prompt ein:
What is Cloud Run?
Gemini sollte mit den Details zu Cloud Run antworten. Prompts sind Fragen oder Aussagen, in denen Sie beschreiben, wobei Sie Unterstützung benötigen. Diese können Kontext aus vorhandenem Code enthalten, den Google Cloud analysiert, um Ihnen hilfreichere oder vollständigere Antworten zu geben. Weitere Informationen zum Schreiben von Prompts, um gute Antworten zu generieren, finden Sie unter Bessere Prompts für Gemini in Google Cloud schreiben.
Probieren Sie die folgenden Beispielaufforderungen oder eigene Prompts aus, um Fragen zu Google Cloud zu stellen:
What is the difference between Cloud Run and Cloud Functions?
What services are available on Google Cloud to run containerized workloads?
What are the best practices to optimize costs while working with Google Cloud Storage?
Beachten Sie das Papierkorbsymbol oben. Damit können Sie den Kontext für den Code Assist-Chatverlauf zurücksetzen. Beachten Sie auch, dass diese Chat-Interaktion kontextabhängig von den Dateien ist, an denen Sie in der IDE arbeiten.
5. Erläuterung des Codes
Damit Sie produktiver arbeiten und gleichzeitig weniger Kontextwechsel vermeiden können, bietet Gemini Code Assist KI-basierte intelligente Aktionen direkt in Ihrem Code-Editor. Wenn Sie Ihren Code in Ihrem Code-Editor auswählen, können Sie eine Liste von Aktionen anzeigen und auswählen, die für Ihren Kontext relevant sind.
Mithilfe von Gemini Code Assist können Sie Teile des Anwendungscodes besser verstehen. Kehren Sie zu der Anwendung zurück, die wir in einem vorherigen Schritt erstellt haben. Sie können Gemini Code Assist verwenden, um die Dateien und den Code zu erklären, die in Ihrer IDE verfügbar sind.
- Wenn die Dateien nicht sichtbar sind, klicken Sie in der IDE-Aktivitätsleiste auf Explorer ( ).
- Wählen Sie im Explorer-Bereich die Option Dockerfile aus.
- Sie können einen beliebigen Teil der Datei auswählen, auf die Glühbirne ( ) und dann auf Gemini: Erklären klicken. Wählen Sie beispielsweise die Zeile aus, die mit ENTRYPOINT beginnt, klicken Sie auf die Glühbirne ( ) und dann auf Gemini: Erklär das. Gemini generiert eine Erklärung in natürlicher Sprache zu dem spezifischen Abschnitt des Dockerfile, zu dem Sie weitere Informationen benötigen. Gemini antwortet mit Details zur ENTRYPOINT-Anweisung. In dieser Anleitung erfahren Sie, dass Docker die Datei
app.py
beim Starten des Containers ausführt. - Wenn Sie sich den Inhalt der Datei
app.py
ansehen möchten, klicken Sie in der Aktivitätsleiste auf Explorer ( ) und wählen Sie dannapp.py
aus. - Sie können in der Funktionsdefinition hello() die Zeilen auswählen, zu denen Sie weitere Informationen erhalten möchten. Klicke dann auf die Lampe ( ) und dann auf Gemini : Erkläre. In unserem Beispiel haben wir die folgenden beiden Codezeilen ausgewählt und dann die Aktion Gemini: Explain this ausgelöst.
- Gemini antwortet mit einer ausführlichen Erläuterung dieser beiden Cloud Run-Umgebungsvariablen (
K_SERVICE, K_REVISION
) und ihrer Verwendung im Anwendungscode. Beachten Sie, dass Gemini mit seinem Wissen über Google Cloud und Dienste wie Cloud Run nicht nur den Python-Code erklärt hat, sondern auch den Kontext der Bedeutung dieser Variablen in Cloud Run erläutert hat.
Probieren Sie die folgenden zusätzlichen Möglichkeiten aus, um eine Codeerklärung zu erhalten:
- Behalten Sie app.py als derzeit geöffnete Datei in der IDE bei. Gehen Sie in VS Code in der linken Navigationsleiste zum Gemini-Chatbereich und geben Sie den Prompt Explain this file (Diese Datei erklären) ein. Dadurch wird die gesamte Datei betrachtet und Ihnen erklärt.
- Sie können auch einen beliebigen Teil der Datei auswählen und dann links im Gemini-Chatbereich den Prompt Erklären eingeben. Dadurch wird nur der ausgewählte Teil der Datei erklärt. Das funktioniert so, als würden Sie auf die Glühbirne( ) klicken und dann auf Gemini: Erklären klicken.
- Sie können auch einen Teil des Textes auswählen und in der IDE rechts oben auf Gemini: Intelligente Aktionen klicken, um eine Liste der Aktionen aufzurufen, die für den ausgewählten Text ausgeführt werden können. Eine der folgenden Optionen ist die Aktion Erklären:
6. Code mit Prompts generieren
In diesem Abschnitt erfahren Sie, wie Sie mit Gemini Code Assist Code aus Kommentaren generieren können.
Probieren wir diese Funktionen aus. Gehen Sie dazu so vor:
- Erstellen Sie eine neue Datei mit dem Namen
utils.py
. - Geben Sie in der neuen Codedatei in einer neuen Zeile
# Function to print a list of blobs in a Google Cloud Storage bucket
ein und drücken Sie dannEnter
(Windows und Linux) oderReturn
(macOS). Möglicherweise versucht Gemini, während der Eingabe Code zu generieren, akzeptiert ihn aber nicht. Die Codegenerierung wird im nächsten Schritt ausgelöst. - Zum Starten der Codegenerierung drücken Sie
Control+Enter
(Windows und Linux) oderControl+Return
(macOS). Neben dem Prompt-Text in der Python-Datei generiert Gemini Code Assist den Code in Form von Ghost-Text. Sie erhalten einen oder mehrere Codevorschläge mit einer Symbolleiste, über die Sie von einem Codevorschlag zum anderen wechseln können (falls mehrere Vorschläge vorhanden sind). Sie können sogar Codevorschläge über die Symbolleiste annehmen. Falls Sie die Symbolleiste nicht sehen können oder sie verschwindet, bewegen Sie den Mauszeiger auf den generierten Code, damit sie wieder angezeigt wird. - Optional: Drücken Sie
Tab
, um den generierten Code zu akzeptieren. Falls mehrere Vorschläge vorhanden sind, können Sie mehrmals aufTab
drücken, um von einem vorgeschlagenen Code-Snippet zum nächsten zu wechseln.
Dadurch wird der akzeptierte Code in die Datei utils.py
eingefügt. Unten sehen Sie einen Beispiel-Screenshot. Der angezeigte Code kann sich vom unten gezeigten Code unterscheiden. Wenn zusätzliche Methoden generiert werden, können Sie diese Methoden löschen, nachdem Sie den Code akzeptiert haben.
Beachten Sie die verschnörkelte Linie um den Code. Dies ist Code-Zitat in Aktion. Wenn Sie den Mauszeiger auf eine Zeile bewegen, werden die Codezuordnung und andere relevante Informationen zur Lizenzierung angezeigt. Hier ein Beispiel:
Sie können die Zitationswarnung dann ignorieren, indem Sie auf Schnellkorrektur ... klicken. Daraufhin wird der Vorschlag zur Schnellkorrektur angezeigt, wie unten ein Beispiel:
Sie können die Ignorierwarnung für Zitationen auswählen, wenn Sie damit einverstanden sind, die Code-Lizenz zu akzeptieren.
Optional: Hier einige weitere Vorschläge für die Codegenerierung:
- Sie können auch die Gemini-Chatfunktion verwenden, um denselben Prompt zu stellen und die Antwort im Chatfenster zu erhalten. In der Chat-Oberfläche werden dann Optionen zum Kopieren des Codes oder zum Einfügen in die aktuelle Datei angezeigt.
- Probieren Sie Ihre eigenen Prompts aus, um Beispielcode zu erhalten. Unten finden Sie einige Vorschläge (vorausgesetzt, Sie befinden sich in einer der Python-Dateien): oder wählen Sie aus einigen der folgenden Aufforderungen aus:
- Python-Code schreiben, um eine Nachricht in Google Cloud Pub/Sub zu veröffentlichen
- Python-Code zum Initialisieren eines BigQuery-Clients schreiben
- Python-Code schreiben, um meine Anwendung mit Cloud SQL zu verbinden
7. Beim Programmieren Inline-Codevorschläge erhalten
Während Sie Code schreiben, macht Gemini Code Assist Inline-Codevorschläge, die Sie entweder annehmen oder ignorieren können. Um diese Funktion auszuprobieren, ändern wir die Datei utils.py
, die wir im vorherigen Abschnitt erstellt haben :
- Öffnen Sie die Datei
utils.py
als aktuelle Datei in der Cloud Shell-IDE. - Wir können unter anderem die richtigen
import
-Anweisungen angeben, wenn diese nicht im generierten Code enthalten sind. - Wenn Sie mit der Eingabe des Wortes
import
beginnen, sollte Gemini Code Assist Code in Form von Geistertext vorschlagen. Wenn Sie den Codevorschlag von Gemini Code Assist akzeptieren möchten, drücken SieTab
. Falls Sie den Vorschlag ignorieren möchten, drücken SieEsc
oder fahren Sie mit dem Schreiben des Codes fort. Im Beispielbildschirm unten wird vorgeschlagen, die Klassestorage
zu importieren, da sie im Code verwendet wird. Drücken SieTab
, um den Codevorschlag anzunehmen. Es wird auch eineimport os
-Anweisung vorgeschlagen, die aber nicht benötigt wird.
- Fügen Sie am Ende der Datei
utils.py
die Zeile zum Aufrufen der Funktion hinzu, falls diese nicht angegeben ist. In diesem Fall ist es die Funktionprint_blobs
. Sie können einfach mit der Eingabe des Funktionsnamens beginnen und der Code ist vollständig, um die Anweisung abzuschließen. - Sie müssen den Bucket-Namen angeben und den folgenden öffentlichen Bucket-Namen verwenden :
gemini-codeassist-bucket
.Der Beispielaufruf für die Funktion wird unten gezeigt. Beachten Sie, dass einige Unterschiede bei den Funktionsnamen usw. auftreten können.
print_blobs(bucket_name="gemini-codeassist-bucket")
(Optional) Beispielcode ausführen
Da Sie Code zum Auflisten der Blobs in einem Google Cloud Storage-Bucket geschrieben haben, müssen Sie die Python-Bibliothek google-cloud-storage
installieren.
Rufen Sie die Datei requirements.txt
auf und fügen Sie wie unten gezeigt eine neue Zeile mit einer google-cloud-storage
-Abhängigkeit hinzu. Im Folgenden sehen Sie eine Beispieldatei requirements.txt
.
Flask==2.3.3 requests==2.31.0 debugpy # Required for debugging. google-cloud-storage
Speichern Sie die Datei requirements.txt
.
Um den Code in Aktion zu sehen, müssen Sie über das Menüsymbol oben links in der Cloud Shell-IDE eine neue Terminalsitzung starten. Klicken Sie auf das Menüsymbol und dann auf Terminal → Neues Terminal, wie unten gezeigt:
Installieren Sie in der Terminalsitzung die Python-Abhängigkeiten mit dem folgenden Befehl:
pip3 install -r requirements.txt
Abschließend können Sie die Datei utils.py
über den folgenden Befehl ausführen:
python utils.py
Dadurch sollten die Blobs im öffentlichen Google Cloud Storage-Bucket angezeigt werden. Idealerweise sollten in der Ausgabe zwei Blobs aufgeführt sein (file1.txt
und file2.txt
).
Fehlerbehebung
Falls Sie einen „Zugriff“ Fehler beim Anzeigen der Objekte im obigen öffentlichen Bucket angezeigt, können Sie einen eigenen Google Cloud Storage-Bucket erstellen und diesen anstelle von gemini-codeassist-bucket
verwenden. Im nächsten Abschnitt erfahren Sie, wie das geht.
(Optional) Eigenen Cloud Storage-Bucket erstellen
Nutzen wir Gemini, um Befehle zur Verfügung zu stellen, mit denen ein Bucket erstellt, öffentlich zugänglich gemacht und Beispielobjekte in den Bucket hochgeladen werden können.
Beginnen Sie mit der folgenden Eingabeaufforderung: "Mit welchem gcloud-Befehl kann ein öffentlicher Bucket in Google Cloud Storage erstellt werden?"
Dadurch sollten Sie einen gcloud-Befehl zum Erstellen eines Buckets haben. Den genauen Befehl sehen Sie unten:
gcloud storage buckets create gs://<BUCKET_NAME>
Wählen Sie einen eindeutigen Namen für <BUCKET_NAME>
aus und führen Sie den Befehl im Terminal aus.
Nachdem Sie nun einen Bucket erstellt haben, möchten Sie ihn öffentlich zugänglich machen. Lassen Sie uns den Befehl dazu in Gemini anfordern: „Wie mache ich einen Google Cloud Storage-Bucket öffentlich zugänglich?“
Dadurch sollten Sie einen gcloud-Befehl erhalten, um die Datei öffentlich zugänglich zu machen. Die Antwort sollte in etwa so aussehen:
gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer
Ersetzen Sie <BUCKET_NAME>
durch den zuvor verwendeten Bucket-Namen und führen Sie den Befehl aus.
Schließlich möchten wir noch einige Beispieldateien in den Bucket hochladen. Führen Sie die folgenden Befehle im Terminal aus. Denken Sie daran, die Variable <BUCKET_NAME>
durch Ihren Bucket-Namen zu ersetzen.
touch f1.txt touch f2.txt gcloud storage cp f1.txt gs://<BUCKET_NAME> gcloud storage cp f2.txt gs://<BUCKET_NAME>
Sie können die Datei utils.py
jetzt mit dem <BUCKET_NAME> ausführen. anstelle von gemini-codeassist-bucket
.
Bereinigen
Wenn Sie einen eigenen Google Cloud Storage-Bucket erstellt haben, empfehlen wir Ihnen dringend, den Bucket zu löschen, um Gebühren und potenzielle Sicherheitsrisiken zu vermeiden.
Sie können den Bucket mit dem folgenden Befehl löschen:
gcloud storage buckets delete gs://<BUCKET_NAME>
8. Glückwunsch!
Herzlichen Glückwunsch – Sie haben mit Gemini Code Assist erfolgreich an einem Beispielprojekt gearbeitet, um zu verstehen, wie Gemini Code bei der Codegenerierung, bei der Codevervollständigung, bei der Codezusammenfassung und bei der Beantwortung von Fragen zu Google Cloud helfen kann.