GSP517

Überblick
In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.
In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.
Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.
Dieses Lab wird Teilnehmern empfohlen, die sich für den Kurs Generative KI-Anwendungen mit Gemini und Streamlit entwickeln angemeldet haben. Sind Sie bereit?
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Das Szenario
Sie haben vor wenigen Monaten Ihre neue Stelle bei Cymbal Health angetreten. Cymbal Health ist ein etabliertes Gesundheitsnetzwerk in East Central Minnesota, das sich der Neugestaltung und Modernisierung der Gesundheitsversorgung verschrieben hat. Cymbal Health bietet eine Kombination aus Betreuung und Versicherungsschutz, um Patienten eine hochwertige Gesundheitsversorgung zu einem attraktiven Preis zu ermöglichen.
Als Mehrwertdienst möchte Cymbal Health seinen Kunden Anwendungen mit Tipps und Ratschlägen rund um Gesundheit und Wohlbefinden bereitstellen. Ein bestimmter Bereich, auf den das Unternehmen sich konzentrieren möchte, ist die Verbesserung der Ernährung seiner Kunden.

Mithilfe von Gemini, einem multimodalen Modell zur Generierung von Text, Audio, Bildern und Videos, kann Cymbal Health Anwendungen entwickeln, die Empfehlungen für Mahlzeiten generieren.
Ihr Team hat beispielsweise an der Entwicklung einer KI-basierten Koch-Anwendung gearbeitet. Diese generiert Rezepte basierend auf Essensvorlieben, Ernährungseinschränkungen, Lebensmittelallergien und bestimmten Lebensmitteln, die ihre Nutzer normalerweise zu Hause haben oder leicht in einem Geschäft kaufen können. Nun wurden Sie beauftragt, einen Proof of Concept (PoC) für diese Koch-Anwendung zu erstellen, zu testen und bereitzustellen, die auf dem Gemini-Modell, dem Streamlit-Framework und Cloud Run basiert. Dazu gehört eine Liste mit Aufgaben, die Sie innerhalb eines festgelegten Zeitraums in einer Sandbox-Umgebung ausführen sollen.
Die Challenge
Folgende Aufgaben stehen auf der Liste:
- cURL zum Testen eines Prompts mit der API verwenden
- Python-Code für Streamlit-Framework und Prompt zur Fertigstellung von
chef.py
schreiben
- Anwendung testen
- Dockerfile anpassen und Docker-Image per Push in Artifact Registry übertragen
- Anwendung in Cloud Run bereitstellen und testen
Aufgabe 1: cURL zum Testen eines Prompts mit der API verwenden
Bevor Sie mit dem Erstellen der Koch-Anwendung in Vertex AI beginnen, sollten Sie die Konnektivität mit der Gemini API testen.
-
Klicken Sie in der Google Cloud Console im Navigationsmenü (
) auf Vertex AI > Workbench.
-
Suchen Sie die Instanz und klicken Sie auf JupyterLab öffnen.
Die JupyterLab-Oberfläche für Ihre Workbench-Instanz wird in einem neuen Browsertab geöffnet.
Hinweis: Wenn in JupyterLab keine Notebooks angezeigt werden, führen Sie die folgenden zusätzlichen Schritte aus, um die Instanz zurückzusetzen:
1. Schließen Sie den Browsertab für JupyterLab und kehren Sie zur Workbench-Startseite zurück.
2. Aktivieren Sie das Kästchen neben dem Instanznamen und klicken Sie dann auf Zurücksetzen.
3. Nachdem die Schaltfläche JupyterLab öffnen wieder aktiviert ist, warten Sie eine Minute und klicken Sie dann auf JupyterLab öffnen.
-
Passen Sie prompt.ipynb
im Menü auf der linken Seite an, sodass Ihre Projekt-ID und Region in Zelle 3 enthalten sind. Diese finden Sie im linken Bereich der Lab-Anleitung.
-
Passen Sie prompt.ipynb
im Menü auf der linken Seite an, sodass der folgende Prompt mit cURL in Zelle 5 verwendet wird. Ersetzen Sie dazu den vorhandenen Prompt.
I am a Chef. I need to create Japanese recipes for customers who want low sodium meals. However, I do not want to include recipes that use ingredients associated with a peanuts food allergy. I have ahi tuna, fresh ginger, and edamame in my kitchen and other ingredients. The customer wine preference is red. Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the beginning of the response. Then include the wine pairing for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts.
-
Führen Sie alle Zellen aus und sehen Sie sich die Ergebnisse an.
-
Speichern Sie prompt.ipynb
.
Wenn Sie mit den Ergebnissen zufrieden sind, überprüfen Sie die Zielsetzung.
Klicken Sie auf Fortschritt prüfen.
cURL zum Testen eines Prompts mit der API verwenden
Aufgabe 2: Python-Code für Streamlit-Framework und Prompt zur Fertigstellung von „chef.py“ schreiben
Für diese Aufgabe klonen Sie ein GitHub-Repository und laden die Datei chef.py
herunter. Dann fügen Sie den Streamlit-Framework-Code in die Datei chef.py
für die Weinvorliebe ein, um die Benutzeroberfläche der Anwendung fertigzustellen. Sie fügen auch einen benutzerdefinierten Gemini-Prompt ein (ähnlich dem in Aufgabe 1), dieser enthält jedoch Variablen.
-
Klonen Sie mit Cloud Shell das Repository unten aus dem Standardverzeichnis.
git clone https://github.com/GoogleCloudPlatform/generative-ai.git
-
Rufen Sie das Verzeichnis gemini-streamlit-cloudrun
auf.
cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
-
Geben Sie die Abhängigkeiten in der Datei „requirements.txt“ an:
google-cloud-logging
Wichtig: Alle Aufgaben in diesem Challenge-Lab sollten in diesem Verzeichnis ausgeführt werden. Wenn Sie die Datei chef.py
nicht hier herunterladen und hier Änderungen daran vornehmen, kann nicht auf das Streamlit-Framework zugegriffen werden. Sie können sie auch nicht in Cloud Shell testen (Aufgabe 3) oder den Docker-Container erstellen (Aufgabe 4) und dann in Cloud Run bereitstellen und testen (Aufgabe 5).
-
Laden Sie die Datei chef.py
mit dem folgenden Befehl herunter.
gsutil cp {{{project_0.startup_script.python_file_path|Chef Python file path}}} .
-
Öffnen Sie die Datei „chef.py“ im Cloud Shell-Editor und überprüfen Sie den Code.
Hinweis: Die Datei „chef.py“ enthält bereits den UI-Code des Streamlit-Frameworks für die Variablen „cuisine“, „dietary_preference“, „allergy“, „ingredient_1“, „ingredient_2“ und „ingredient_3“. Überprüfen Sie diesen Code für die Oberfläche, bevor Sie mit dem nächsten Schritt fortfahren.
-
Verwenden Sie als Projekt-ID den Wert und als Standort die Option .
-
Fügen Sie das Optionsfeld des Streamlit-Frameworks für die Variable „wine“ hinzu. Geben Sie die Optionen „Red“, „White“ und „None“ an.
-
Speichern Sie die Datei chef.py
.
-
Fügen Sie den unten aufgeführten neuen Gemini-Prompt im Python-Code hinzu.
prompt = f"""I am a Chef. I need to create {cuisine} \n
recipes for customers who want {dietary_preference} meals. \n
However, don't include recipes that use ingredients with the customer's {allergy} allergy. \n
I have {ingredient_1}, \n
{ingredient_2}, \n
and {ingredient_3} \n
in my kitchen and other ingredients. \n
The customer's wine preference is {wine} \n
Please provide some for meal recommendations.
For each recommendation include preparation instructions, time to prepare and the recipe title at the beginning of the response.
Then include the wine pairing for each recommendation.
At the end of the recommendation provide the calories associated with the meal
and the nutritional facts.
"""
-
Speichern Sie die Datei chef.py
.
Wenn Sie mit dem Gemini-Prompt-Code zufrieden sind, den Sie zu chef.py
hinzugefügt haben, laden Sie die Datei in den Bucket -generative-ai hoch. Verwenden Sie dazu den folgenden Befehl in Cloud Shell. Klicken Sie in der Cloud Console auf Terminal öffnen, um die Sitzung in Cloud Shell zu öffnen.
gcloud storage cp chef.py gs://{{{project_0.project_id|set at lab start}}}-generative-ai/
Klicken Sie auf Fortschritt prüfen.
Python-Code für Streamlit-Framework und Prompt zur Fertigstellung von „chef.py“ schreiben
Hinweis: Führen Sie den obigen Befehl aus, nachdem Sie Änderungen an der Datei chef.py
vorgenommen haben. Damit ist sichergestellt, dass die aktualisierte Datei chef.py
im Bucket vorhanden ist.
Aufgabe 3: Anwendung testen
Für diese Aufgabe verwenden Sie das Terminal in Cloud Shell, um Ihre Anwendung auszuführen und zu testen.
Achten Sie darauf, dass Sie sich noch in diesem Pfad befinden: generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
.
-
Richten Sie die virtuelle Python-Umgebung ein und installieren Sie die Abhängigkeiten:
-
Legen Sie die Umgebungsvariablen für PROJECT (als Projekt-ID) und REGION (die Region, die Sie in der Lab-Umgebung verwenden) fest.
-
Führen Sie die Anwendung chef.py
aus und testen Sie sie.
Nachdem Sie die Anwendung in Cloud Shell getestet und sichergestellt haben, dass sie wie vorgesehen und fehlerfrei funktioniert, sollten Sie das Ziel prüfen.
Klicken Sie auf Fortschritt prüfen.
Anwendung testen
Aufgabe 4: Dockerfile anpassen und Docker-Image per Push in Artifact Registry übertragen
In dieser Aufgabe passen Sie das Beispiel-Dockerfile
an, damit es die Datei chef.py
verwendet, und übertragen das Docker-Image per Push in Artifact Registry.
Wichtig: Bevor Sie die Schritte in dieser Aufgabe ausführen, sollten Sie Umgebungsvariablen für PROJECT (als Ihre Projekt-ID) und REGION (die Region, die Sie in der Lab-Umgebung verwenden) festlegen, ähnlich wie in der vorherigen Aufgabe.
-
Passen Sie mit dem Cloud Shell-Editor das Dockerfile an, damit es chef.py
verwendet, und speichern Sie dann die Datei.
-
Legen Sie in Cloud Shell die folgenden Umgebungsvariablen fest:
Variable |
Wert |
AR_REPO |
chef-repo |
SERVICE_NAME |
chef-streamlit-app |
Hinweis: Wir empfehlen, diesen und die beiden folgenden Befehle in einem einzigen Befehl zu kombinieren, da der Vorgang zum Erstellen des Artifact Registry-Repositorys und Senden des Builds an Cloud Build etwa 8 Minuten dauert.
-
Erstellen Sie das Artifact Registry-Repository mit dem Befehl cloud artifacts repositories create
und den folgenden Parametern:
Parameter |
Wert |
Repository-Name |
$AR_REPO |
Standort |
$REGION |
Repository-Format |
Docker |
-
Senden Sie den Build mit dem Befehl gcloud builds submit
und den folgenden Parametern.
Parameter |
Wert |
Tag |
"$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" |
-
Warten Sie, bis der Befehl abgeschlossen ist.
Überprüfen Sie das Ziel, sobald der Befehl ausgeführt wurde.
Klicken Sie auf Fortschritt prüfen.
Dockerfile anpassen und Docker-Image per Push in Artifact Registry übertragen
Aufgabe 5: Anwendung in Cloud Run bereitstellen und testen
In dieser Aufgabe stellen Sie die Anwendung (als Docker-Artefakt) in Cloud Run bereit und testen sie dann, während sie über den Cloud Run-Dienstendpunkt ausgeführt wird.
-
Stellen Sie die Anwendung in Cloud Shell als Docker-Artefakt mit dem Befehl gcloud run deploy
und den folgenden Parameterwerten bereit:
Parameter |
Wert |
Port |
8080 |
Image |
"$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" |
Flag |
--allow-unauthenticated |
Region |
REGION |
Plattform |
managed |
Projekt |
PROJECT |
set-env-vars |
PROJECT=$PROJECT,REGION=$REGION |
Hinweis: Möglicherweise werden Sie gefragt, ob Sie diese APIs aktivieren möchten, um fortzufahren, da dieser Vorgang einige Minuten dauern kann. Wenn das der Fall ist, bestätigen Sie dies.
Die Bereitstellung dauert einige Minuten. Sie erhalten dann eine URL zum Cloud Run-Dienst. Sie können diese URL im Browser aufrufen und die Cloud Run-Anwendung ansehen, die Sie gerade bereitgestellt haben.
-
Testen Sie die Anwendung über den angegebenen Link.
Prüfen Sie das Ziel, nachdem Sie die in Cloud Run ausgeführte Anwendung erfolgreich getestet haben.
Klicken Sie auf Fortschritt prüfen.
Anwendung in Cloud Run bereitstellen und testen
Glückwunsch!
Mit dem Abschluss dieses Challenge-Labs haben Sie Ihre Fähigkeiten im Bereich der Entwicklung von generativen KI-Anwendungen mit Gemini verifiziert und gezeigt, wie Sie diese auf eine KI-basierte Koch-Anwendung anwenden können.

Weitere Informationen
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 28. Mai 2025 aktualisiert
Lab zuletzt am 28. Mai 2025 getestet
© 2025 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.