1. Übersicht
In diesem Lab verwenden Sie die generativen KI-Produkte von Google, um mithilfe von Gemini Cloud Assist eine Infrastruktur in Google Cloud zu erstellen, BigQuery-Daten mithilfe von SQL-Funktionen von Data Canvas in natürlicher Sprache abzufragen, Code in Colab Enterprise Jupyter-Notebooks und in Eclipse Theia (Visual Studio Code) mithilfe von Gemini Code Assist zu schreiben und KI-Such- und Chatfunktionen auf Cloud Storage- und BigQuery-Grundlagenquellen in Vertex AI Agent Builder zu integrieren.
Unser Ziel ist es, eine Rezept- und Kochwebsite namens „AI Recipe Haven“ zu erstellen. Die Website wird in Python und Streamlit erstellt und enthält zwei Hauptseiten. Cooking Advice beherbergt einen Chatbot, den wir mit Gemini und einer Vertex AI Agent Builder-fundierten Quelle erstellen, die mit einer Gruppe von Kochbüchern verknüpft ist. Er bietet Kochtipps und beantwortet fragen zum Kochen. Die Rezeptsuche ist eine von Gemini unterstützte Suchmaschine, die auf einer BigQuery-Rezeptdatenbank basiert.
Wenn Sie bei einem Code in dieser Übung nicht weiterkommen, finden Sie Lösungen für alle Codedateien im GitHub-Repository der Übung im Branch solution.
Lernziele
Aufgaben in diesem Lab:
- Gemini Cloud Assist aktivieren und verwenden
- Such-App in Vertex AI Agent Builder für den Chatbot mit Kochtipps erstellen
- Daten mithilfe von Gemini Code Assist in ein Colab Enterprise-Notebook laden und bereinigen
- Such-App in Vertex AI Agent Builder für den Rezeptgenerator erstellen
- Mit etwas Unterstützung von Gemini den Kern der Python- und Streamlit-Webanwendung skizzieren
- Webanwendung in Cloud Run bereitstellen
- Die Seite „Kochtipps“ mit der Agent Builder-App für die Suche nach Kochbüchern verknüpfen
- Optional: Seite „Rezeptsuche“ mit der Agent Builder App für die Rezeptsuche verknüpfen
- (Optional) Die fertige Anwendung ansehen
2. Vorbereitung
- Wenn Sie noch kein Google-Konto haben, müssen Sie ein Google-Konto erstellen.
- Sie verwenden ein privates Konto anstelle eines Arbeits- oder Schulkontos. Für geschäftliche und schulische Konten gelten möglicherweise Einschränkungen, die Sie daran hindern, die für dieses Lab erforderlichen APIs zu aktivieren.
3. Projekt einrichten
- Melden Sie sich in der Google Cloud Console an.
- Aktivieren Sie die Abrechnung in der Cloud Console.
- Die Kosten für die Durchführung dieses Labs sollten unter 1 $liegen.
- Sie können die Schritte am Ende dieses Labs ausführen, um Ressourcen zu löschen und weitere Kosten zu vermeiden.
- Neue Nutzer können das kostenlose Testabo mit einem Guthaben von 300$ nutzen.
- Nehmen Sie an einem virtuellen Praxislabor teil? Möglicherweise erhalten Sie ein Guthaben in Höhe von 5$.
- Erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes.
- Prüfen Sie, ob die Abrechnung unter Meine Projekte in der Cloud-Abrechnung aktiviert ist.
- Wenn in der Spalte
Billing account
für Ihr neues ProjektBilling is disabled
angezeigt wird:- Klicken Sie in der Spalte
Actions
auf das Dreipunkt-Menü. - Klicken Sie auf Abrechnung ändern.
- Wählen Sie das Rechnungskonto aus, das Sie verwenden möchten.
- Klicken Sie in der Spalte
- Wenn Sie an einer Live-Veranstaltung teilnehmen, lautet der Name des Kontos wahrscheinlich Google Cloud Platform-Testrechnungskonto.
- Wenn in der Spalte
4. Gemini Cloud Assist aktivieren und verwenden
In dieser Aufgabe aktivieren und verwenden wir Gemini Cloud Assist. Wenn Sie in der Google Cloud Console arbeiten, kann Gemini Cloud Assist Ihnen Ratschläge geben, Sie beim Erstellen, Konfigurieren und Überwachen Ihrer Google Cloud-Infrastruktur unterstützen und sogar gcloud
-Befehle vorschlagen und Terraform-Scripts schreiben.
- Wenn Sie Cloud Assist verwenden möchten, klicken Sie oben in der Cloud Console-Benutzeroberfläche in das Suchfeld und wählen Sie Gemini fragen oder Gemini in der Cloud Console fragen aus.
- Scrollen Sie auf der Seite zum Abschnitt „Erforderliche API“ und aktivieren Sie die Gemini for Google Cloud API.
- Wenn die Chatoberfläche nicht sofort angezeigt wird, klicken Sie auf Chat starten. Bitten Sie Gemini, einige der Vorteile des Cloud Shell-Editors zu erläutern. Nehmen Sie sich ein paar Minuten Zeit, um sich die generierte Antwort anzusehen.
- Fragen Sie als Nächstes nach den Vorteilen von Agent Builder und wie es dabei helfen kann, generative Antworten zu erstellen.
- Sehen wir uns zum Schluss einen Vergleich an. Stellen Sie im Gemini-Chatfenster der Google Cloud Console die folgende Frage:
What are the major steps to creating a search app grounded in a GCS data source using Vertex AI Agent builder?
5. Such-App in Vertex AI Agent Builder für den Chatbot mit Kochtipps erstellen
Die von uns erstellte Website enthält eine Seite mit Kochtipps, auf der sich ein Chatbot befindet, der Nutzern bei der Suche nach Antworten auf kochbezogene Fragen helfen soll. Es wird von Gemini angetrieben und basiert auf einer Quelle mit 70 Kochbüchern aus der Public Domain. Die Rezeptbücher dienen als „Source of Truth“, die Gemini bei der Beantwortung von Fragen verwendet.
- Suchen Sie in der Cloud Console nach Vertex AI. Klicken Sie im Dashboard auf Alle empfohlenen APIs aktivieren. Dies kann einige Minuten dauern. Wenn Sie in einem Pop-up-Fenster aufgefordert werden, die Vertex AI API zu aktivieren, aktivieren Sie sie bitte. Sobald die APIs aktiviert sind, können Sie mit dem nächsten Schritt fortfahren.
- Suchen Sie nach Agent Builder und klicken Sie dann auf Weiter und API aktivieren.
- Wie Gemini in unserer früheren Anfrage vorgeschlagen hat, beginnt das Erstellen einer Such-App in Agent Builder mit der Erstellung einer vertrauenswürdigen Datenquelle. Wenn der Nutzer sucht, versteht Gemini die Frage und weiß, wie er intelligente Antworten formuliert. Er greift jedoch auf die zugrunde liegende Quelle für die in dieser Antwort verwendeten Informationen zurück, anstatt auf sein inhärentes Wissen. Gehen Sie im Menü auf der linken Seite zu Datenspeicher und Datenspeicher erstellen.
- Die Kochbücher aus der Public Domain, die wir als Grundlage für unsere Seite mit Kochtipps verwenden, befinden sich derzeit in einem Cloud Storage-Bucket in einem externen Projekt. Wählen Sie den Cloud Storage-Quelltyp aus.
- Prüfen Sie die Standardoptionen für die Art der importierten Informationen, ändern Sie sie aber nicht. Lassen Sie den Importtyp auf Ordner eingestellt und verwenden Sie für den Bucket-Pfad
labs.roitraining.com/labs/old-cookbooks
. Klicken Sie dann auf Weiter. - Benennen Sie den Datenspeicher:
old-cookbooks
. Klicken Sie auf BEARBEITEN, ändern Sie die ID inold-cookbooks-id
und erstellen Sie den Datenspeicher.
Vertex AI Agent Builder unterstützt mehrere App-Typen und der Datenspeicher dient als vertrauenswürdige Quelle für alle. Such-Apps eignen sich für die allgemeine Nutzung und Suche. Chat-Apps sind für generative Abläufe in Dataflow-basierten Chatbot-/Voicebot-Anwendungen gedacht. Empfehlungs-Apps tragen dazu bei, bessere Empfehlungssysteme zu erstellen. Agent-Apps dienen zum Erstellen von GenAI-basierten Agents. Letztendlich würde uns Agent wahrscheinlich am besten für das, was wir tun möchten, dienen. Da das Produkt derzeit jedoch nur in der Vorabversion verfügbar ist, bleiben wir beim App-Typ „Suche“.
- Klicken Sie im Menü auf der linken Seite auf Apps und dann auf Neue App erstellen.
- Klicken Sie auf der Karte Nach Ihrer Website suchen auf Erstellen. Geben Sie der App den Namen
cookbook-search
. Klicken Sie auf Bearbeiten und legen Sie die App-ID aufcookbook-search-id
fest. Legen Sie das Unternehmen aufGoogle
fest und klicken Sie auf Weiter. - Prüfen Sie den Datenspeicher old-cookbooks, den Sie vor ein paar Schritten erstellt haben, und erstellen Sie die Such-App.
Wenn Sie den Tab Aktivität prüfen, sehen Sie wahrscheinlich, dass die Kochbücher noch importiert und indexiert werden. Es dauert mehr als fünf Minuten, bis Agent Builder die Tausende von Seiten in den 70 Kochbüchern indexiert hat, die wir ihm gegeben haben. Währenddessen laden und bereinigen wir einige Daten aus der Rezeptdatenbank für unseren Rezeptgenerator.
6. Daten mithilfe von Gemini Code Assist in ein Colab Enterprise-Notebook laden und bereinigen
Google Cloud bietet mehrere Möglichkeiten, mit Jupyter-Notebooks zu arbeiten. Wir verwenden das neueste Angebot von Google, Colab Enterprise. Einige von Ihnen kennen vielleicht das Colab-Produkt von Google, das häufig von Einzelpersonen und Organisationen verwendet wird, die in einer kostenlosen Umgebung mit Jupyter-Notebooks experimentieren möchten. Colab Enterprise ist ein kommerzielles Google Cloud-Angebot, das vollständig in die übrigen Cloud-Produkte von Google eingebunden ist und die Sicherheits- und Compliance-Funktionen der GCP-Umgebung voll ausschöpft.
Eine der Funktionen von Colab Enterprise ist die Einbindung von Gemini Code Assist von Google. Code Assist kann in einer Reihe verschiedener Code-Editoren verwendet werden und bietet während des Codierens Ratschläge sowie nahtlose Inline-Vorschläge. Wir werden diesen generativen Assistenten nutzen, während wir unsere Rezeptdaten bearbeiten.
- Suchen Sie über die Suche nach Colab Enterprise und klicken Sie auf Notebook erstellen. Wenn Sie das Angebot erhalten, neue Colab-Funktionen auszuprobieren, lehnen Sie es ab. Klicken Sie rechts oben auf Ihrem neuen Notebook auf Verbinden, um die Laufzeit und die Rechenleistung des Notebooks zu nutzen.
- Klicken Sie auf Datei > Umbenennen, um das Notizbuch in
Data Wrangling
umzubenennen. - Klicken Sie auf + Text, um ein neues Textfeld zu erstellen, und verschieben Sie es mit dem Aufwärtspfeil so, dass es die erste Zelle auf der Seite ist.
- Bearbeiten Sie das Textfeld und geben Sie Folgendes ein:
# Data Wrangling Import the Pandas library
- Geben Sie im Codeblock unter dem gerade erstellten Textblock
imp
ein. Gemini Code Assist sollte dann den Rest des Imports in grau vorschlagen. Drücken Sie die Tabulatortaste, um den Vorschlag zu akzeptieren.import pandas as pd
- Erstellen Sie unter dem Feld für den Importcode ein weiteres Textfeld und geben Sie Folgendes ein:
Create a Pandas DataFrame from: gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv. View the first few records.
- Erstellen und bearbeiten Sie einen weiteren Codeblock. Geben Sie noch einmal
df =
ein und sehen Sie sich den von Gemini Code Assist generierten Code an. Wenn über dem generierten Vorschlag eine Drop-down-Liste mit Python-Keywords zur automatischen Vervollständigung angezeigt wird, drücken Sie die Escape-Taste, um den vorgeschlagenen Code in hellgrau zu sehen. Drücken Sie noch einmal die Tabulatortaste, um den Vorschlag zu akzeptieren. Wenn Ihr Vorschlag den Funktionsaufrufhead()
nicht enthält, fügen Sie ihn hinzu.df = pd.read_csv('gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv') df.head()
- Klicken Sie auf die erste Codezelle, in die Sie Pandas importiert haben, und führen Sie die ausgewählte Zelle über das Menü Befehle oder die Tastatur aus. Auf der Tastatur wird die Zelle mit Umschalttaste + Eingabetaste ausgeführt und der Fokus auf die nächste Zelle verschoben. Falls erforderlich, wird eine neue Zelle erstellt. Warten Sie, bis die Zelle ausgeführt wurde, bevor Sie fortfahren.HINWEIS: Wenn eine Zelle nicht ausgeführt wurde, wird links daneben [ ] angezeigt. Während eine Zelle ausgeführt wird, sehen Sie eine sich drehende Arbeitsanimation. Sobald die Zelle fertig ist, wird eine Zahl angezeigt, z. B. [13].
- Führen Sie die Zelle aus, die die CSV-Datei in den DataFrame lädt. Warten Sie, bis die Datei geladen ist, und sehen Sie sich die ersten fünf Datenzeilen an. Das sind die Rezeptdaten, die wir in BigQuery laden und später als Grundlage für unseren Rezeptgenerator verwenden.
- Erstellen Sie einen neuen Codeblock und geben Sie den folgenden Kommentar ein. Nachdem Sie den Kommentar eingegeben haben, springen Sie zur nächsten Codezeile. Sie sollten dann den Vorschlag
df.columns
sehen. Akzeptieren Sie die Warnung und führen Sie die Zelle aus. Wir haben gerade gezeigt, dass Sie in einem Jupyter-Notebook zwei Möglichkeiten haben, Hilfe von Gemini Code Assist zu erhalten: Textzellen über Codezellen oder Kommentare in der Codezelle selbst. Kommentare in Codezellen funktionieren gut in Jupyter-Notebooks, aber auch in jeder anderen IDE, die den Gemini Code Assist von Google unterstützt.# List the current DataFrame column names
- Bereinigen wir die Spalten ein wenig. Benennen Sie die Spalte
Unnamed: 0
inid
undlink
inuri
um. Verwenden Sie die gewünschten Prompt- und Codetechniken, um den Code zu erstellen, und führen Sie die Zelle aus, wenn Sie zufrieden sind.# Rename the column 'Unnamed: 0' to 'id' and 'link' to 'uri' df.rename(columns={'Unnamed: 0': 'id', 'link': 'uri'}, inplace=True)
- Entfernen Sie die Spalten
source
undNER
und verwenden Siehead()
, um die ersten Zeilen aufzurufen. Lassen Sie sich noch einmal von Gemini helfen. Führen Sie die letzten beiden Zeilen aus und prüfen Sie die Ergebnisse.# Remove the source and NER columns df.drop(columns=['source', 'NER'], inplace=True) df.head()
- Sehen wir uns an, wie viele Datensätze in unserem Dataset enthalten sind. Beginnen Sie wieder mit der von Ihnen ausgewählten Prompt-Technik und sehen Sie, ob Gemini Ihnen beim Generieren des Codes helfen kann.
# Count the records in the DataFrame df.shape # count() will also work
- 2,23 Millionen Einträge sind wahrscheinlich mehr Rezepte, als wir Zeit haben. Der Indexierungsvorgang in Agent Builder würde für unsere Übung heute wahrscheinlich zu lange dauern. Als Kompromiss nehmen wir 150.000 Rezepte als Stichprobe. Verwenden Sie Ihren Ansatz „Prompt > Code“, um die Stichprobe in einem neuen DataFrame mit dem Namen
dfs
(s für „small“) zu speichern.# Sample out 150,000 records into a DataFrame named dfs dfs = df.sample(n=150000)
- Die Daten der Rezeptquelle können jetzt in BigQuery geladen werden. Bevor wir mit dem Laden beginnen, rufen wir BigQuery auf und bereiten ein Dataset für unsere Tabelle vor. Suchen Sie in der Google Cloud Console im Suchfeld nach BigQuery. Sie können mit der rechten Maustaste auf BigQuery klicken und es in einem neuen Browsertab öffnen.
- Falls noch nicht geschehen, öffnen Sie das Gemini-KI-Chat-Steuerfeld über das Gemini-Logo oben rechts in der Cloud Console. Wenn Sie aufgefordert werden, die API noch einmal zu aktivieren, drücken Sie entweder auf „Aktivieren“ oder aktualisieren Sie die Seite. Prompt ausführen:
What is a dataset used for in BigQuery?
Nachdem Sie sich die Antwort angesehen haben,How can I create a dataset named recipe_data using the Cloud Console?
vergleichen Sie die Ergebnisse mit den folgenden Schritten. - Klicken Sie im BigQuery-Explorer neben Ihrer Projekt-ID auf das Dreipunkt-Menü Aktionen ansehen. Wählen Sie dann Dataset erstellen aus.
- Geben Sie den Datensatz und die ID von
recipe_data
an. Lassen Sie den Standorttyp auf US und klicken Sie auf Dataset erstellen. Wenn Sie die Fehlermeldung erhalten, dass das Dataset bereits vorhanden ist, fahren Sie einfach fort.Nachdem wir das Dataset in BigQuery erstellt haben, kehren wir zu unserem Notebook zurück und führen die Datenaufnahme durch. - Kehren Sie zu Ihrem Data Wrangling-Notebook in Colab Enterprise zurück. Erstellen Sie in einer neuen Codezelle eine Variable mit dem Namen
project_id
und speichern Sie darin die aktuelle Projekt-ID. Die aktuelle Projekt-ID finden Sie links oben in dieser Anleitung unter der Schaltfläche „Lab beenden“. Sie finden sie auch auf der Cloud Console-Startseite. Weisen Sie den Wert der Variablenproject_id
zu und führen Sie die Zelle aus.# Create a variable to hold the current project_id project_id='YOUR_PROJECT_ID'
- Verwenden Sie den Prompt > Code-Ansatz, um einen Codeblock zu erstellen, mit dem der DataFrame
dfs
in eine Tabelle mit dem Namenrecipes
im gerade erstellten Datasetrecipe_data
eingefügt wird. Führen Sie die Zelle aus.dfs.to_gbq(destination_table='recipe_data.recipes', project_id=project_id, if_exists='replace')
7. Such-App in Vertex AI Agent Builder für den Rezeptgenerator erstellen
Sehr gut. Jetzt, da wir unsere Tabelle mit Rezeptdaten erstellt haben, können wir damit eine fundierte Datenquelle für unseren Rezeptgenerator erstellen. Der Ansatz, den wir verwenden werden, ähnelt dem, den wir für unseren Koch-Chatbot verwendet haben. Wir erstellen mit Vertex AI Agent Builder einen Datenspeicher und verwenden ihn dann als vertrauenswürdige Quelle für eine Such-App.
Sie können Gemini in der Google Cloud Console bitten, Sie an die Schritte zum Erstellen einer Agent Builder-Suche zu erinnern. Alternativ können Sie auch die folgenden Schritte ausführen.
- Rufen Sie über die Suche Agent Builder auf. Öffnen Sie Datenspeicher und Datenspeicher erstellen. Wählen Sie diesmal den BigQuery-Datenspeichertyp aus.
- Klicken Sie in der Tabellenauswahlzelle auf Durchsuchen und suchen Sie nach
recipes
. Klicken Sie auf das Optionsfeld neben der Tabelle. Wenn Sie Rezepte aus anderen qwiklabs-gcp-…-Projekten sehen, wählen Sie das richtige aus.HINWEIS: Wenn Sie aufrecipes
klicken, anstatt das Optionsfeld daneben auszuwählen, wird in Ihrem Browser ein neuer Tab geöffnet und Sie gelangen zur Übersichtsseite der Tabelle in BigQuery. Schließen Sie einfach den Browsertab und wählen Sie das Optionsfeld in Agent Builder aus. - Prüfen Sie die restlichen Standardoptionen, ändern Sie sie aber nicht, und klicken Sie dann auf Weiter.
- Prüfen Sie auf der Seite „Schemaüberprüfung“ die ursprünglichen Standardkonfigurationen, nehmen Sie aber keine Änderungen vor. Weiter
- Geben Sie dem Datenspeicher den Namen
recipe-data
. Bearbeiten Sie die Datenspeicher-ID und legen Sie sie aufrecipe-data-id
fest. Erstellen Sie den Datenspeicher. - Klicken Sie im Menü auf der linken Seite auf Apps und dann auf Neue App erstellen.
- Klicken Sie auf der Karte Nach Ihrer Website suchen auf Erstellen. Geben Sie der App den Namen
recipe-search
und klicken Sie auf BEARBEITEN, um die ID aufrecipe-search-id
festzulegen. Legen Sie den Namen des Unternehmens aufGoogle
fest und klicken Sie auf Weiter. - Prüfen Sie diesmal die Datenquellen recipe-data. Erstellen Sie die App.
Es dauert eine Weile, bis die Datenbanktabelle indexiert ist. In der Zwischenzeit können wir mit dem neuen Data Canvas von BigQuery experimentieren und sehen, ob wir ein oder zwei interessante Rezepte finden.
- Verwenden Sie das Suchfeld, um BigQuery aufzurufen. Klicken Sie oben in BigQuery Studio neben dem rechten Tab auf den Drop-down-Pfeil und wählen Sie Datencanvas aus. Legen Sie als Region us-central1 fest.
- Klicken Sie auf Daten suchen. Suchen Sie im Suchfeld für den Datencanvas nach
recipes
, drücken Sie dieEnter/Return
-Eingabetaste und klicken Sie neben dem Namen der Tabelle auf die Schaltfläche Zum Canvas hinzufügen. - Eine visuelle Darstellung Ihrer Rezepttabelle wird in das BigQuery-Daten-Canvas geladen. Sie können sich das Schema der Tabelle ansehen, eine Vorschau der Daten in der Tabelle anzeigen lassen und weitere Details prüfen. Klicken Sie unter der Tabellendarstellung auf Abfrage.
- Auf dem Canvas wird ein mehr oder weniger typisches BigQuery-Abfragedialogfeld mit einer zusätzlichen Funktion geladen: Über dem Abfragefenster befindet sich ein Textfeld, über das Sie Gemini um Hilfe bitten können. Sehen wir uns an, ob wir in unserer Stichprobe Kuchenrezepte finden. Führen Sie den folgenden Prompt aus (Geben Sie den Text ein und drücken Sie die Taste
Enter/Return
, um die SQL-Generierung auszulösen):Please select the title and ingredients for all the recipes with a title that contains the word cake.
- Sehen Sie sich die generierte SQL-Abfrage an. Wenn Sie mit der Abfrage zufrieden sind, führen Sie sie aus.
- Nicht schlecht! Sie können noch mit ein paar anderen Prompts und Abfragen experimentieren, bevor Sie fortfahren. Probieren Sie bei Ihren Tests weniger spezifische Prompts aus, um herauszufinden, was funktioniert und was nicht. Beispiel:
(Denken Sie daran, die neue Abfrage auszuführen.) Es wurde eine Liste mit Chilirezepten zurückgegeben, die Zutaten wurden jedoch nicht berücksichtigt, bis ich die Abfrage so geändert habe:Do I have any chili recipes?
(Ja, ich sage „bitte“, wenn ich etwas auffordere. Meine Mama wäre so stolz.) Mir ist aufgefallen, dass ein Chili-Rezept Pilze enthielt. Wer möchte das schon in Chili? Ich habe Gemini gebeten, mir dabei zu helfen, diese Rezepte auszuschließen.Do I have any chili recipes? Please include their title and ingredients.
Do I have any chili recipes? Please include their title and ingredients, and ignore any recipes with mushrooms as an ingredient.
8. Cloud Shell-Editor öffnen
- Rufen Sie den Cloud Shell-Editor auf.
- Wenn das Terminal nicht unten auf dem Bildschirm angezeigt wird, öffnen Sie es:
- Klicke auf das Dreistrich-Menü
.
- Klicken Sie auf Terminal.
- Klicken Sie auf Neues Terminal
.
- Klicke auf das Dreistrich-Menü
- Legen Sie das Projekt im Terminal mit diesem Befehl fest:
- Format:
gcloud config set project [PROJECT_ID]
- Beispiel:
gcloud config set project lab-project-id-example
- Wenn Sie sich Ihre Projekt-ID nicht merken können:
- So listen Sie alle Ihre Projekt-IDs auf:
gcloud projects list | awk '/PROJECT_ID/{print $2}'
- So listen Sie alle Ihre Projekt-IDs auf:
- Format:
- Wenn Sie dazu aufgefordert werden, klicken Sie auf Autorisieren, um fortzufahren.
- Es sollte folgende Meldung angezeigt werden:
Wenn du die MeldungUpdated property [core/project].
WARNING
und die FrageDo you want to continue (Y/N)?
siehst, hast du wahrscheinlich die Projekt-ID falsch eingegeben. Drücken SieN
,Enter
und versuchen Sie noch einmal, den Befehlgcloud config set project
auszuführen.
9. APIs aktivieren
Aktivieren Sie im Terminal die APIs:
gcloud services enable \
compute.googleapis.com \
sqladmin.googleapis.com \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
networkconnectivity.googleapis.com \
servicenetworking.googleapis.com \
cloudaicompanion.googleapis.com
Wenn Sie dazu aufgefordert werden, klicken Sie auf Autorisieren, um fortzufahren.
Die Verarbeitung dieses Befehls kann einige Minuten dauern. Sie sollten aber schließlich eine Meldung ähnlich der folgenden erhalten:
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
10. Mit etwas Unterstützung von Gemini die Hauptfunktionen der Python- und Streamlit-Webanwendung skizzieren
Die Indexierung unserer beiden Vertex AI Agent Builder-Datenspeicher ist abgeschlossen und unsere Suchanwendungen sind fast einsatzbereit. Jetzt können wir mit dem Erstellen unserer Webanwendung beginnen.
Dabei nutzen wir Gemini Code Assist. Weitere Informationen zur Verwendung von Gemini Code Assist in Visual Studio Code finden Sie in der Dokumentation.
- Führen Sie im Cloud Shell-Editor-Terminal diesen Befehl aus, um das Repository der Rezept-App zu klonen.
git clone https://github.com/haggman/recipe-app
- Mit diesem Befehl wird der Anwendungsordner im Cloud Shell-Editor geöffnet.
cloudshell open-workspace recipe-app/
- Bevor wir uns den geklonten Ordner ansehen und mit der Arbeit an unserer Webanwendung beginnen, müssen wir das Cloud Code-Plug-in des Editors in Google Cloud anmelden und Gemini aktivieren. Machen wir uns also daran, die Tabellen zu befüllen. Klicken Sie links unten im Editor auf Cloud Code – Anmelden. Wenn Sie den Link nicht sehen, warten Sie eine Minute und versuchen Sie es noch einmal.
- Im Terminalfenster wird eine lange URL angezeigt. Öffnen Sie die URL im Browser und führen Sie die Schritte aus, um Cloud Code Zugriff auf Ihre Google Cloud-Umgebung zu gewähren. Kopieren Sie im letzten Dialogfeld den Bestätigungscode und fügen Sie ihn wieder in das wartende Terminalfenster auf dem Browsertab des Cloud Shell-Editors ein.
- Nach einigen Augenblicken ändert sich der Cloud Code-Link links unten im Editor in Cloud Code – kein Projekt. Klicken Sie auf den neuen Link, um ein Projekt auszuwählen. Die Befehlspalette sollte oben im Editor geöffnet werden. Klicken Sie auf Google Cloud-Projekt auswählen und wählen Sie Ihr Projekt aus. Nach einigen Momenten wird im Editor links unten der Link aktualisiert und Ihre Projekt-ID angezeigt. Dies bedeutet, dass Cloud Code Ihrem Arbeitsprojekt erfolgreich zugeordnet wurde.
- Nachdem Sie Cloud Code mit Ihrem Projekt verbunden haben, können Sie jetzt Gemini Code Assist aktivieren. Klicken Sie rechts unten im Editor auf das durchgestrichene Gemini-Logo. Der Gemini-Chatbereich wird links im Editor geöffnet. Klicken Sie auf Google Cloud-Projekt auswählen. Wählen Sie in der Befehlspalette Ihr Projekt aus. Wenn Sie die Schritte korrekt ausgeführt haben und Google nichts geändert hat, sollte jetzt ein aktives Gemini-Chatfenster angezeigt werden.
- Sehr gut. Terminal, Gemini-Chat und Cloud Code-Konfigurationen sind eingerichtet. Öffnen Sie den Tab Explorer und sehen Sie sich die Dateien im aktuellen Projekt an.
- Öffnen Sie die Datei
requirements.txt
im Explorer zur Bearbeitung. Wechseln Sie zum Gemini-Chatbereich und stellen Sie folgende Frage:From the dependencies specified in the requirements.txt file, what type of application are we building?
- Wir erstellen also eine interaktive Webanwendung mit Python und Streamlit, die mit Vertex AI und der Discovery Engine interagiert. Konzentrieren wir uns vorerst auf die Komponenten der Webanwendung. Wie Gemini erklärt, ist Streamlit ein Framework zum Erstellen datengetriebener Webanwendungen in Python. Fragen Sie jetzt:
Hier treten in der Regel Probleme mit Gemini auf. Gemini kann auf die Datei zugreifen, die Sie derzeit im Editor geöffnet haben, aber nicht auf das gesamte Projekt. Sie können zum Beispiel Folgendes fragen:Does the current project's folder structure seem appropriate for a Streamlit app?
Eine bessere Antwort erhalten?Given the below, does the current project's file and folder structure seem appropriate for a Streamlit app? - build.sh - Home.py - requirements.txt - pages -- Cooking_Advice.py -- Recipe_Search.py
- Weitere Informationen zu Streamlit:
Sehr gut. Gemini bietet also eine gute Übersicht mit Vor- und Nachteilen.What can you tell me about Streamlit?
- Wenn Sie die Nachteile kennenlernen möchten, könnten Sie fragen:
Beachten Sie, dass wir nicht „von Streamlit“ sagen mussten, da Gemini Chat konversationell (mehrfach nutzbar) ist. Gemini weiß, wovon wir sprechen, da wir uns in einer Chatsitzung befinden. Wenn Sie den Gemini-Chatverlauf löschen möchten, klicken Sie oben im Gemini-Code-Chatfenster auf das Papierkorbsymbol.What are the major downsides or shortcomings?
11. Webanwendung in Cloud Run bereitstellen
Sehr gut. Wir haben die Hauptstruktur der Anwendung festgelegt. Aber funktioniert das alles? Besser noch: Wo sollten wir es in Google Cloud hosten?
- Fragen Sie im Gemini-Chatfenster:
If I containerize this application, what compute technologies in Google Cloud would be best for hosting it?
- Wenn Sie noch nicht in Ihrer IDE gearbeitet haben, können Sie auch Google Cloud Assist verwenden. Öffnen Sie die Google Cloud Console und dann Gemini Cloud Assist. Stellen Sie folgende Fragen:
Waren die beiden Ratschläge identisch? Stimmen Sie den Ratschlägen zu oder nicht? Denken Sie daran, dass Gemini ein Assistent mit generativer KI ist. Wie bei einem menschlichen Assistenten werden Sie nicht immer mit allem einverstanden sein, was er sagt. Wenn Sie diesen Helfer jedoch immer zur Hand haben, während Sie in Google Cloud und in Ihrem Code-Editor arbeiten, können Sie viel effizienter arbeiten.If I have a containerized web application, where would be the best place to run it in Google Cloud?
- Für eine zustandslose, kurzlebige containerisierte Webanwendung ist Cloud Run eine gute Option. Probieren Sie den folgenden Prompt im Gemini-Chatfenster Ihres Codeeditors aus:
What steps would be required to run this application in Cloud Run?
- Als Erstes müssen wir ein Dockerfile erstellen. Erstellen Sie mit dem Editor im Stammverzeichnis Ihres Projektordners eine Datei mit dem Namen
Dockerfile
. Achten Sie darauf, dass Sie die Datei nicht versehentlich im Ordner pages ablegen. Öffnen Sie die Datei zur Bearbeitung. - Erstellen wir unser Dockerfile über die seitliche Gemini-Chatleiste. Verwenden Sie einen Prompt wie den folgenden. Wenn die Ergebnisse im Chat angezeigt werden, klicken Sie neben dem Kopiersymbol direkt über dem vorgeschlagenen Dockerfile auf das Pluszeichen, um den vorgeschlagenen Code in das Dockerfile einzufügen.
Gemini gibt nicht immer dieselbe Antwort auf denselben Prompt zurück. Als ich Gemini zum ersten Mal um ein Dockerfile bat, erhielt ich genau die Datei, die ich Ihnen empfehlen möchte. Ich habe gerade den folgenden Vorschlag erhalten:Create a Dockerfile for the application in the current folder. The dependencies are defined in requirements.txt and I want you to use the Python 3 slim bookworm base image.
Das ist ein ziemlich umfangreiches Dockerfile. Ich würde es etwas vereinfachen. Der Abschnitt „apt-get“ ist nicht erforderlich, da alles, was für Python benötigt wird, bereits in unserem Basis-Image enthalten ist. Außerdem ist die Verwendung einer virtuellen Umgebung in einem Python-Container eine Platzverschwendung. Ich würde sie daher entfernen. Der Befehl „expose“ ist nicht unbedingt erforderlich, aber empfehlenswert. Außerdem wird versucht, main.py zu starten, das ich nicht habe.# Base image FROM python:3-bookworm-slim # Set working directory WORKDIR /app # Install dependencies RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ gcc \ python3-dev \ && rm -rf /var/lib/apt/lists/* # Install pip and virtualenv RUN pip install --upgrade pip virtualenv # Create virtual environment RUN python3 -m venv venv # Activate virtual environment WORKDIR /app/venv/bin RUN . activate # Install Streamlit and libraries from requirements.txt RUN pip install -r requirements.txt # Copy application files COPY . /app # Expose port 8501 for Streamlit EXPOSE 8501 # Start Streamlit app CMD ["streamlit", "run", "main.py"]
- Erstellen Sie im Ordner
recipe-app
eine Datei mit dem NamenDockerfile
und fügen Sie den folgenden Inhalt ein:FROM python:3.11-slim-bookworm WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt COPY . . CMD ["streamlit", "run", "Home.py"]
- Gemini kann über das Chatfenster, aber auch direkt in Ihrer Codedatei mithilfe von Kommentaren verwendet werden, wie wir es im Data Wrangling-Notebook getan haben. Außerdem kann es mit der Tastenkombination Strg + I unter Windows oder Befehlstaste + I auf einem Mac aufgerufen werden. Klicken Sie irgendwo in die
Dockerfile
und aktivieren Sie Gemini mit der entsprechenden Tastenkombination. - Geben Sie bei der Eingabeaufforderung Folgendes ein: Prüfen Sie die Änderung und nehmen Sie sie an.
Wie cool ist das denn? Wie oft mussten Sie schon mit dem Code einer anderen Person arbeiten, nur um Zeit zu verschwenden, um sich ein grundlegendes Verständnis für ihre kommentarlose Arbeit zu verschaffen, bevor Sie überhaupt mit Ihren Änderungen beginnen konnten? Gemini hilft Ihnen weiter.Please comment the current file.
- Fragen Sie Gemini, wie Sie mit Cloud Run ein neues Image mit dem Namen
recipe-web-app
aus dem Dockerfile im aktuellen Verzeichnis erstellen und bereitstellen können.How could I use gcloud to build a new Cloud Run service named recipe-web-app from the current directory?
- Erstellen und stellen wir unsere Anwendung bereit. Führen Sie im Terminalfenster den Befehl
gcloud run deploy
aus. Wenn Sie aufgefordert werden, ein Artifact Registry-Repository zu erstellen, drücken Siegcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
enter/return
.Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named cloud-run-source-deploy in region us-central1 will be created. Do you want to continue (Y/n)?
- Wenn Sie sich den Buildprozess ansehen, wird zuerst das Docker-Repository von Artifact Registry erstellt. Anschließend wird mit Cloud Build das Container-Image aus dem Dockerfile im lokalen Ordner erstellt. Abschließend wird das Docker-Image in einem neuen Cloud Run-Dienst bereitgestellt. Am Ende des Scripts wird eine Cloud Run-Test-URL angezeigt, die Sie verwenden können.
Öffnen Sie den zurückgegebenen Link in einem neuen Tab Ihres Browsers. Sehen Sie sich die Struktur und die Seiten der Anwendung an. Super, jetzt müssen wir die Funktion für die generative KI einbinden.
12. Die Seite „Kochtipps“ mit der Agent Builder-App für die Suche nach Kochbüchern verknüpfen
Das Framework für die Webanwendung ist bereits in Betrieb, aber wir müssen die beiden Arbeitsseiten mit unseren beiden Vertex AI Agent Builder-Suchanwendungen verbinden. Beginnen wir mit Kochtipps.
- Lassen Sie den Tab „Cloud Shell-Editor“ geöffnet. Suchen Sie in der Google Cloud Console nach Chat in Vertex AI.
- Legen Sie im rechten Bereich der Seite „Einstellungen“ das Modell auf gemini-1.5-flash-002 fest. Maximieren Sie das Ausgabetokenlimit, damit das Modell bei Bedarf längere Antworten zurückgeben kann. Öffnen Sie die Einstellungen für den Sicherheitsfilter. Legen Sie für „Hassrede“, „Sexuell explizite Inhalte“ und „Belästigung“ die Option Einige blockieren fest. Legen Sie für „Gefährliche Inhalte“ die Option Wenige blockieren fest und klicken Sie auf Speichern. Wir senken den Schwellenwert für gefährliche Inhalte etwas, da das Sprechen über Messer und Schneiden von Gemini als Gewalt interpretiert werden kann.
- Bewegen Sie den Schieberegler, um die Fundierung zu aktivieren, und klicken Sie dann auf Anpassen. Legen Sie als Fundierungsquelle Vertex AI Search fest und verwenden Sie für den Datenspeicherpfad Folgendes: Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID, die Sie in dieser Anleitung in der Nähe der Schaltfläche „Lab beenden“ finden. Speichern Sie dann die Einstellungen für die Erdung.
HINWEIS: Wenn eine Fehlermeldung angezeigt wird, haben Sie entweder die Projekt-ID nicht in Ihre tatsächliche Projekt-ID geändert oder Sie haben den Schritt zum Ändern der Agent Builder-Datenspeicher-ID für alte Cookbooks übersprungen. Die tatsächliche Datenspeicher-ID finden Sie in Agent Builder unter „Datenspeicher“ > „Alte Cookbooks“.projects/YOUR_PROJECT_ID/locations/global/collections/default_collection/dataStores/old-cookbooks-id
- Testen Sie einige Chatnachrichten. Beginnen Sie mit den folgenden Schritten. Probieren Sie gerne noch ein paar andere aus.
How can I tell if a tomato is ripe?
- Das Modell funktioniert. Jetzt können wir mit dem Code experimentieren. Klicken Sie auf Unterhaltung löschen, damit unsere Unterhaltungen nicht Teil des Codes werden, und dann auf Code abrufen.
- Klicken Sie oben im Codefenster auf Notebook öffnen, damit wir den Code in Colab Enterprise testen und optimieren können, bevor wir ihn in unsere App einbinden.
- Nehmen Sie sich ein paar Minuten Zeit, um sich mit dem Code vertraut zu machen. Nehmen wir einige Änderungen vor, um sie an unsere Anforderungen anzupassen. Führen Sie vor Beginn die erste Codezelle aus, um eine Verbindung zum Compute-Cluster herzustellen und das AI Platform SDK zu installieren. Nach dem Ausführen des Blocks werden Sie aufgefordert, die Sitzung neu zu starten. Bitte tun Sie das.
- Rufen Sie den Code auf, den wir aus Vertex AI Studio exportiert haben. Ändern Sie den Namen der Methode multiturn_generate_content in
start_chat_session
. - Scrollen Sie zum Aufruf der Methode
model = GenerativeModel(
. Im vorhandenen Code werdengeneration_config
undsafety_settings
definiert, aber nicht verwendet. Ändern Sie die Erstellung derGenerativeModel
so, dass sie so aussieht:model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, )
- Fügen Sie der Methode abschließend eine Zeile direkt unter
chat = model.start_chat()
hinzu, damit die Funktion daschat
-Objekt zurückgibt. Die fertige Funktion sollte so aussehen.HINWEIS: KOPIEN Sie diesen Code NICHT in Ihr Notebook. Sie dient lediglich als Plausibilitätscheck.def start_chat_session(): vertexai.init(project="qwiklabs-gcp-02-9a7298ceaaec", location="us-central1") tools = [ Tool.from_retrieval( retrieval=grounding.Retrieval( source=grounding.VertexAISearch(datastore="projects/qwiklabs-gcp-02-9a7298ceaaec/locations/global/collections/default_collection/dataStores/old-cookbooks-id"), ) ), ] model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, ) chat = model.start_chat() return chat
- Scrollen Sie zum Ende der Codezelle und ändern Sie die letzte Zeile, in der die alte Funktion aufgerufen wird, so, dass der neue Funktionsname aufgerufen und das zurückgegebene Objekt in einer Variablen
chat
gespeichert wird. Wenn Sie mit den Änderungen zufrieden sind, führen Sie die Zelle aus.chat = start_chat_session()
- Erstellen Sie eine neue Codezelle und fügen Sie den Kommentar
# Use chat to invoke Gemini and print out the response
hinzu. Wechseln Sie zur nächsten Zeile und geben Sieresp
ein. Gemini sollte den Block dann automatisch für Sie vervollständigen. Aktualisieren Sie den Prompt aufHow can I tell if a tomato is ripe?
. Zelle ausführenresponse = chat.send_message("How can I tell if a tomato is ripe?") print(response)
- Das ist die Antwort. Uns interessiert aber das verschachtelte
text
-Feld. Ändern Sie den Codeblock so, dass nur dieser Abschnitt ausgegeben wird, z. B.:response = chat.send_message("How can I tell if a tomato is ripe?") print(response.candidates[0].content.parts[0].text)
- Gut. Jetzt, da wir funktionierenden Chatcode haben, können wir ihn in unsere Webanwendung einbinden. Kopieren Sie den gesamten Inhalt der Codezelle, in der die Funktion
start_chat_session
erstellt wird. Die Testzelle benötigen wir nicht. Wenn Sie auf die Zelle klicken, können Sie oben rechts auf das Dreipunkt-Menü klicken und es von dort aus kopieren. - Wechseln Sie zum Tab „Cloud Shell-Editor“ und öffnen Sie
pages\Cooking_Advice.py
zur Bearbeitung. - Suchen Sie den Kommentar:
# # Add the code you copied from your notebook below this message #
- Fügen Sie den kopierten Code direkt unter dem Kommentar Code hinzufügen ein. Super, jetzt haben wir den Abschnitt, der die Chat-Engine über einen gegroundeten Aufruf an Gemini steuert. Integrieren wir es jetzt in Streamlit.
- Suchen Sie direkt unter dem Kommentar nach dem kommentierten Code:
# # Here's the code to setup your session variables # Uncomment this block when instructed #
- Entfernen Sie den Kommentar zu diesem Codeabschnitt (bis zum nächsten
Setup done, let's build the page UI
-Abschnitt) und sehen Sie sich den Code an. Er erstellt oder ruft die Variablen für die Chat- und Verlaufssitzung ab. - Als Nächstes müssen wir die Verlaufs- und Chatfunktionen in die Benutzeroberfläche einbinden. Scrollen Sie im Code nach unten, bis Sie den folgenden Kommentar sehen.
# # Here's the code to create the chat interface # Uncomment the below code when instructed #
- Entfernen Sie den Kommentar und sehen Sie sich den Rest des Codes an. Sie können sie markieren und Gemini bitten, ihre Funktionsweise zu erklären.
- Sehr gut. Jetzt können wir die Anwendung erstellen und bereitstellen. Wenn die URL wieder angezeigt wird, starten Sie die Anwendung und testen Sie die Seite „Kochberater“. Vielleicht fragen Sie ihn nach reifen Tomaten oder er kennt eine gute Zubereitungsmethode für Rosenkohl.
gcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
Das ist sehr hilfreich. Ihr persönlicher KI-Kochberater :-)
13. Optional: Seite „Rezeptsuche“ mit der Agent Builder App für die Rezeptsuche verknüpfen
Wir haben die Seite „Kochtipps“ direkt über die Gemini API mit der entsprechenden Quelle verbunden. Für die Rezeptsuche stellen wir eine direkte Verbindung zur Vertex AI Agent Builder-Suche her.
- Öffnen Sie die Seite
pages/Recipe_Search.py
im Cloud Shell-Editor zur Bearbeitung. Sehen Sie sich die Struktur der Seite an. - Legen Sie oben in der Datei Ihre Projekt-ID fest.
- Sehen Sie sich die Funktion
search_sample
an. Dieser Code stammt mehr oder weniger direkt aus der Discovery Engine-Dokumentation. Eine Arbeitskopie finden Sie in diesem Notizbuch.Ich habe nur dieresponse.results
anstelle der Ergebnisse zurückgegeben. Andernfalls ist der Rückgabetyp ein Objekt, mit dem sich die Ergebnisse durchblättern lassen. Das ist für unsere einfache Anwendung nicht erforderlich. - Scrollen Sie ganz zum Ende der Datei und entfernen Sie den Kommentar vor dem gesamten Abschnitt unter
Here are the first 5 recipes I found
. - Markieren Sie den gesamten Abschnitt, den Sie gerade deaktiviert haben, und öffnen Sie Gemini Code Chat. Fragen Sie,
Explain the highlighted code
. Wenn Sie nichts ausgewählt haben, kann Gemini die gesamte Datei erklären. Wenn Sie einen Abschnitt markieren und Gemini bitten, ihn zu erklären, zu kommentieren oder zu verbessern, tut es das.Nehmen Sie sich einen Moment Zeit, um sich die Erklärung durchzulesen. Die Verwendung eines Colab Enterprise-Notebooks ist eine gute Möglichkeit, die Gemini APIs zu testen, bevor Sie sie in Ihre Anwendung einbinden. Das ist besonders hilfreich, wenn Sie einige der neueren APIs kennenlernen möchten, die möglicherweise nicht so gut dokumentiert sind, wie sie sein könnten. - Führen Sie im Terminalfenster des Editors
build.sh
aus, um die endgültige Anwendung bereitzustellen. Warten Sie, bis die neue Version bereitgestellt wurde, bevor Sie mit dem nächsten Schritt fortfahren.
14. (Optional) Die fertige Anwendung ansehen
Nehmen Sie sich einige Minuten Zeit, um die fertige Anwendung zu erkunden.
- Suchen Sie in der Google Cloud Console nach
Cloud Run
und klicken Sie dann auf Ihre Rezept-Web-App. - Suchen Sie oben nach der URL für den Anwendungstest und öffnen Sie sie in einem neuen Browsertab.
- Die Startseite der Anwendung sollte angezeigt werden. Beachten Sie das grundlegende Layout und die Navigation von Streamlit. Die Python-Dateien aus dem Ordner
pages
werden als Navigationsoptionen angezeigt undHome.py
wird als Startseite geladen. Rufen Sie die Seite Kochtipps auf. - Nach wenigen Augenblicken wird die Chatoberfläche angezeigt. Beachten Sie auch hier das schöne Kernlayout von Streamlit.
- Stellen Sie ein paar Fragen zum Kochen und sehen Sie, wie der Bot funktioniert. Beispiel:
Do you have any advice for preparing broccoli? How about a classic chicken soup recipe? Tell me about meringue.
- Suchen wir uns jetzt ein oder zwei Rezepte. Rufen Sie die Seite „Rezeptsuche“ auf und führen Sie einige Suchanfragen durch. Beispiel:
Chili con carne Chili, corn, rice Lemon Meringue Pie A dessert containing strawberries
15. Glückwunsch!
Sie haben eine Anwendung erstellt, die Vertex AI Agent Builder-Anwendungen nutzt. Dabei haben Sie Gemini Cloud Assist, Gemini Code Assist und die Funktionen für die Umwandlung von natürlicher Sprache in SQL im Daten-Canvas von BigQuery kennengelernt. Fantastisch!
Bereinigen
Cloud SQL ist nicht kostenlos. Wenn Sie die Plattform weiter nutzen, werden Ihnen Kosten in Rechnung gestellt. Sie können Ihr Cloud-Projekt löschen, um zusätzliche Kosten zu vermeiden.
Für Cloud Run fallen keine Kosten an, wenn der Dienst nicht verwendet wird. Allerdings können für das Speichern des Container-Images in Artifact Registry Gebühren berechnet werden. Wenn Sie Ihr Cloud-Projekt löschen, wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
Sie können das Projekt löschen:
gcloud projects delete $GOOGLE_CLOUD_PROJECT
Sie können auch unnötige Ressourcen von Ihrem CloudShell-Laufwerk löschen. Sie haben folgende Möglichkeiten:
- Löschen Sie das Codelab-Projektverzeichnis:
rm -rf ~/task-app
- Warnung! Diese nächste Aktion kann nicht rückgängig gemacht werden. Wenn Sie alles in Cloud Shell löschen möchten, um Speicherplatz freizugeben, können Sie Ihr ganzes Basisverzeichnis löschen. Achten Sie darauf, dass alles, was Sie behalten möchten, an einem anderen Ort gespeichert ist.
sudo rm -rf $HOME