Prüfpunkte
Use cURL to test sample prompts with the API
/ 15
Write Streamlit framework code for the user interface
/ 25
Test the application in Cloud Shell
/ 20
Modify the Dockerfile and push the Docker image to the Artifact Registry
/ 20
Deploy the application to Cloud Run and test it
/ 20
Generative AI-Apps mit Gemini und Streamlit entwickeln: Challenge-Lab
- GSP517
- Überblick
- Einrichtung und Anforderungen
- Das Szenario
- Aufgabe 1: 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
- Aufgabe 3: Anwendung testen
- Aufgabe 4: Dockerfile anpassen und Docker-Image per Push in Artifact Registry übertragen
- Aufgabe 5: Anwendung in Cloud Run bereitstellen und testen
- Das wars! Sie haben das Lab erfolgreich abgeschlossen.
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 Develop GenAI Apps with Gemini and Streamlit 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 die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst 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)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
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 Vorsorge und Schutz unter einer Krankenversicherung, um Patienten eine hochwertige Gesundheitsversorgung zu einem attraktiven Preis zu ermöglichen.
Als Mehrwertdienst möchte Cymbal Health seinen Kunden Apps 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 Pro, einem multimodalen Modell zur Generierung von Text, Audio, Bildern und Videos, kann Cymbal Health Anwendungen entwickeln, die Empfehlungen für Mahlzeiten für seine Kunden generieren.
Ihr Team hat beispielsweise an der Entwicklung einer KI-basierten Koch-App 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-App zu erstellen, zu testen und bereitzustellen, die auf dem Gemini Pro-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 Aufgabe
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-App in Vertex AI beginnen, sollten Sie die Konnektivität mit der Gemini API testen.
-
Greifen Sie über die Cloud Console in der Lab-Umgebung auf das nutzerverwaltete Notebook in Vertex AI Workbench zu, das Ihnen zur Verfügung gestellt wurde.
-
Öffnen Sie ein Terminal und laden Sie mit dem folgenden Befehl die Datei „prompt.ipynb“ aus Cloud Storage herunter:
gsutil cp gs://spls/gsp517/prompt.ipynb . -
Passen Sie
prompt.ipynb
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
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 begining of the response. Then include the wine paring 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 beobachten Sie die Ergebnisse.
-
Speichern Sie
prompt.ipynb
.
Wenn Sie mit den Ergebnissen zufrieden sind, überprüfen Sie die Zielsetzung.
Klicken Sie auf Fortschritt prüfen.
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 werden auch einen benutzerdefinierten Gemini-Prompt einfügen (ä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 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 gs://spls/gsp517/chef.py . -
Ö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. -
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 begining of the response. Then include the wine paring 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 in chef.py
hinzugefügt haben, laden Sie die Datei in den Bucket
Klicken Sie auf Fortschritt prüfen.
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 immer 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.
Aufgabe 4: Dockerfile anpassen und Docker-Image per Push in Artifact Registry übertragen
In dieser Aufgabe passen Sie das Beispiel-Dockerfile
an, um die Datei chef.py
zu verwenden, und übertragen das Docker-Image per Push in Artifact Registry.
-
Passen Sie mit dem Cloud Shell-Editor das Dockerfile an, um
chef.py
zu verwenden, 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.
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 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.
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Mit dem Abschluss dieses Challenge-Labs haben Sie Ihre Fähigkeiten im Bereich der Entwicklung von Anwendungen basierend auf generativer KI mit Gemini verifiziert und gezeigt, wie Sie diese auf eine KI-basierte Koch-App anwenden können.
Weitere Informationen
- Dokumentation: Generative KI in Vertex AI
- YouTube-Kanal: Google Cloud Tech
- GitHub-Repository: Generative KI von Google Cloud
- Gemini-Beispielnotebooks
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 4. April 2024 aktualisiert
Lab zuletzt am 8. März 2024 getestet
© 2024 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.