Wird geladen…
Keine Ergebnisse gefunden.

Ihre Kompetenzen in der Google Cloud Console anwenden

18

Auf generativer KI basierende Anwendungen in Google Cloud entwickeln

Zugriff auf über 700 Labs und Kurse nutzen

LLM- und RAG-basierte Chatanwendung mit AlloyDB und Vertex AI erstellen

Lab 1 Stunde 30 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

Übersicht

Eines der besten Tools zur Verbesserung der Qualität von Antworten von Large Language Models (LLMs) ist Retrieval Augmented Generation (RAG). RAG ist das Muster, bei dem nicht öffentliche Daten abgerufen und dazu verwendet werden, den an das LLM gesendeten Prompt zu erweitern. Durch RAG kann das LLM auf der Grundlage der im Prompt enthaltenen Daten genauere Antworten generieren.

In diesem Lab verwenden Sie AlloyDB, die skalierbare, leistungsfähige, mit PostgreSQL kompatible Datenbank von Google Cloud, um eine spezielle Art von Vektordaten zu speichern und für die Suche zu nutzen. Diese Daten werden als Vektoreinbettungen bezeichnet. Vektoreinbettungen können mithilfe einer semantischen Suche abgerufen werden. Dadurch ist es möglich, die verfügbaren Daten abzurufen, die am besten zu einer Suchanfrage in natürlicher Sprache passen. Die abgerufenen Daten werden dann im Prompt an das LLM übergeben.

Außerdem verwenden Sie Vertex AI, die vollständig verwaltete, einheitliche KI-Entwicklungsplattform von Google Cloud zur Erstellung und Verwendung von generativer KI. Ihre Anwendung verwendet Gemini Pro, ein multimodales Foundation Model, das das Hinzufügen von Bild-, Audio-, Video- und PDF-Dateien in Text- oder Chat-Prompts unterstützt und das Verständnis von langen Kontexten ermöglicht.

Lerninhalte

In diesem Lab lernen Sie Folgendes:

  • Wie RAG die Fähigkeiten von LLMs verbessert, indem relevante Informationen aus einer Wissensdatenbank abgerufen werden
  • Wie Sie mit AlloyDB relevante Informationen mithilfe einer semantischen Suche finden
  • Wie Sie Vertex AI und die Foundation Models von Google verwenden können, um für Anwendungen leistungsstarke Funktionen bereitzustellen, die auf generativer KI basieren

Einrichtung und Anforderungen

Vor dem Klick auf „Lab starten“

Hinweis: Bitte lesen Sie sich diese Anleitung durch.

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 Qwiklabs-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.

Voraussetzungen

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
  • Genügend Zeit, um das Lab abzuschließen
Hinweis: Auch wenn Sie bereits ein eigenes Google Cloud-Konto oder ‑Projekt haben, sollten Sie es nicht für das Lab verwenden. Hinweis: Wenn Sie ein Pixelbook verwenden, führen Sie dieses Lab in einem Inkognitofenster aus.

Lab starten und bei der Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite sehen Sie ein Feld, in dem Ihre temporären Anmeldedaten für dieses Lab angezeigt werden.

  2. Kopieren Sie den Nutzernamen und klicken Sie dann auf Google Console öffnen. Im Lab werden Ressourcen aktiviert und ein neuer Tab mit der Seite Konto auswählen wird geöffnet.

    Tipp: Öffnen Sie die Tabs nebeneinander in separaten Fenstern.
  3. Klicken Sie auf der Seite „Konto auswählen“ auf Anderes Konto verwenden. Die Anmeldeseite wird geöffnet.

  4. Fügen Sie den Nutzernamen ein, den Sie aus dem Feld mit den Verbindungsinformationen kopiert haben. Kopieren Sie dann das Passwort und fügen Sie es ein.

Hinweis: Sie müssen die Anmeldedaten aus dem Feld mit den Verbindungsinformationen verwenden. Bitte geben Sie nicht Ihre Anmeldedaten für Google Cloud Skills Boost ein. Auch wenn Sie bereits ein eigenes Google Cloud-Konto haben, sollten Sie es nicht für dieses Lab verwenden, um Gebühren zu vermeiden.
  1. Klicken Sie sich durch die nachfolgenden Seiten:
  • Akzeptieren Sie die Nutzungsbedingungen.
  • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
  • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü.

Google Cloud Shell aktivieren

Google Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud.

Mit Google Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

  1. Klicken Sie in der Cloud Console in der rechten oberen Symbolleiste auf „Cloud Shell öffnen“.

  2. Klicken Sie auf Weiter.

Die Bereitstellung und Verbindung mit der Umgebung dauert einen kleinen Moment. Wenn Sie verbunden sind, sind Sie auch bereits authentifiziert und das Projekt ist auf Ihre PROJECT_ID eingestellt. Beispiel:

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

  • Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list

Ausgabe:

Konten mit Anmeldedaten: - @.com (aktiv)

Beispielausgabe:

Konten mit Anmeldedaten: - google1623327_student@qwiklabs.net
  • Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] Projekt =

Beispielausgabe:

[core] Projekt = qwiklabs-gcp-44776a13dea667a6 Hinweis: Die vollständige Dokumentation zu gcloud finden Sie in der Übersicht zur gcloud CLI.

Aufgabe 1: Datenbankumgebung initialisieren

In dieser Aufgabe installieren Sie einen PostgreSQL-Client und verbinden ihn mit der AlloyDB-Instanz.

PostgreSQL-Client installieren

Eine virtuelle Maschine (VM) wurde erstellt. Auf dieser VM wird die Anwendung gehostet. Außerdem erstellen Sie auf dieser VM den PostgreSQL-Client.

  1. Führen Sie den folgenden Befehl aus, um eine Verbindung zur VM herzustellen:

    gcloud compute ssh app-vm --zone={{{project_0.default_zone | ZONE }}}

    Wenn Sie zur Autorisierung aufgefordert werden, klicken Sie auf Autorisieren.

  2. Klicken Sie für jede Frage, die vom Befehl gcloud compute ssh gestellt wird, auf die Eingabetaste bzw. Return-Taste, um die Standardeingabe anzugeben.

    Nach einer kurzen Wartezeit sind Sie in der VM angemeldet.

  3. Führen Sie in der VM-Sitzung die folgenden Befehle aus, um den PostgreSQL-Client zu installieren:

    sudo apt-get update sudo apt-get install --yes postgresql-client Hinweis: Der Client ist möglicherweise bereits installiert.

Verbindung zur AlloyDB-Instanz herstellen

Es wurde bereits eine AlloyDB-Instanz erstellt.

  1. Führen Sie den folgenden Befehl aus, um die erforderlichen Shell-Variablen zu erstellen:

    export PGUSER={{{project_0.startup_script.gcp_alloydb_user | PG_USER}}} export PGPASSWORD={{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}} export PROJECT_ID=$(gcloud config get-value project) export REGION={{{project_0.default_region | REGION }}} export ADBCLUSTER={{{project_0.startup_script.gcp_alloydb_cluster_name | CLUSTER}}} export INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)")
  2. Führen Sie den folgenden Befehl aus, um über psql eine Verbindung zur AlloyDB-Instanz herzustellen:

    psql "host=$INSTANCE_IP user=$PGUSER sslmode=require"

    psql stellt eine Verbindung zur AlloyDB-Datenbank her und zeigt einen postgres=>-Prompt an. Sie sind jetzt mit der Datenbank verbunden.

  3. Führen Sie den folgenden Befehl aus, um die psql-Sitzung zu beenden:

    exit Hinweis: Lassen Sie die SSH-Sitzung geöffnet.

Aufgabe 2: Vektordatenbank erstellen

In dieser Aufgabe erstellen Sie mit dem PostgreSQL-Client die AlloyDB-Datenbank und aktivieren Vektoreinbettungen.

Datenbank erstellen

  1. Führen Sie in der VM-Sitzung den folgenden Befehl aus, um eine neue Datenbank zu erstellen:

    export PGPASSWORD={{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}} psql "host=$INSTANCE_IP user=$PGUSER" -c "CREATE DATABASE assistantdemo"

    psql antwortet mit CREATE DATABASE.

    Damit die Datenbank semantische Suchen unterstützt, sollten die Entitäten durch Vektoreinbettungen dargestellt werden.

  2. Führen Sie zum Aktivieren von Vektoreinbettungen in dieser Datenbank den folgenden Befehl aus:

    psql "host=$INSTANCE_IP user=$PGUSER dbname=assistantdemo" -c "CREATE EXTENSION vector"

    psql antwortet mit CREATE EXTENSION.

Klicken Sie auf Fortschritt prüfen.

AlloyDB-Datenbank erstellen und pgVector-Erweiterung aktivieren

Aufgabe 3: Python installieren

In dieser Aufgabe installieren Sie Python auf der VM. Python wird verwendet, um die Datenbank zu füllen.

  1. Führen Sie auf der VM die folgenden Befehle aus, um Python und Git zu installieren:

    sudo apt install -y python3.11-venv git python3 -m venv .venv source ~/.venv/bin/activate pip install --upgrade pip

    Nach der Installation befinden Sie sich in der virtuellen Python-Umgebung mit einem (.venv)-Prompt.

    Wenn die SSH-Sitzung der VM einmal abläuft oder der Tab geschlossen wird, können Sie wieder eine SSH-Verbindung zur VM herstellen und die virtuelle Python-Umgebung mit dem Befehl source ~/.venv/bin/activate neu starten.

  2. Führen Sie zum Bestätigen der Python-Version den folgenden Befehl aus:

    python -V

    Die Antwort sollte in etwa so aussehen:

    (.venv) student@app-vm:~$ python -V Python 3.11.2 (.venv) student@app-vm:~$

Aufgabe 4: Beispieldatenbank füllen

In dieser Aufgabe füllen Sie die Vektordatenbank in AlloyDB mit Beispieldaten. Diese Daten werden für die Chatanwendung verwendet.

Die Beispielanwendung und die Daten sind in einem GitHub-Repository mit dem Namen genai-databases-retrieval-app gespeichert.

  1. Führen Sie auf der VM den folgenden Befehl aus, um das Repository zu klonen:

    git clone https://github.com/GoogleCloudPlatform/genai-databases-retrieval-app.git
  2. Führen Sie den folgenden Befehl aus, um das Datenmodell aufzurufen:

    cd ~/genai-databases-retrieval-app cat retrieval_service/models/models.py

    Hier werden die Python-Datenmodelle angezeigt. Das Modell umfasst Flughäfen, Flüge, Flughafeneinrichtungen, Richtlinien und Tickets.

  3. Führen Sie die folgenden Befehle aus, um ein Beispiel für die Flughafendaten aufzurufen:

    head -1 data/airport_dataset.csv; grep SFO data/airport_dataset.csv

    Diese Befehle geben die CSV-Kopfzeile aus, die die Spaltennamen für das Flughafen-Dataset angibt, gefolgt von der Zeile für den San Francisco International Airport (SFO). Die Daten im Flughafenmodell können anhand des IATA-Codes (International Air Transport Association) oder nach Land, Stadt und Flughafenname abgerufen werden. Sie können anhand von Suchbegriffen nach Zeilen in dieser Tabelle suchen. Daher gibt es keine Vektoreinbettungen für diese Daten.

  4. Führen Sie die folgenden Befehle aus, um ein Beispiel für Flugdaten aufzurufen:

    head -1 data/flights_dataset.csv; grep -m10 "SFO" data/flights_dataset.csv

    Diese Befehle geben die CSV-Kopfzeile aus, die die Spaltennamen für das Flug-Dataset angibt, gefolgt von den ersten 10 Zeilen der Flüge nach oder von SFO. Die Daten im Flugmodell können anhand der Fluggesellschaft und der Flugnummer oder anhand der Codes der Abflug- und Ankunftsflughafen abgerufen werden.

  5. Führen Sie den folgenden Befehl aus, um ein Beispiel für die Daten zu Flughafeneinrichtungen aufzurufen:

    head -2 data/amenity_dataset.csv

    Dieser Befehl gibt die CSV-Kopfzeile aus, die die Spaltennamen für das Dataset mit Flughafeneinrichtungen angibt, gefolgt von der ersten Einrichtung.

    Die erste Einrichtung hat mehrere einfache Werte, darunter Name, Beschreibung, Standort, Terminal, Kategorie und Öffnungszeiten. Der nächste Wert ist content, der den Namen, die Beschreibung und den Standort enthält. Der letzte Wert ist embedding, die Vektoreinbettung für die Zeile.

    Die Einbettung ist ein Array aus 768 Zahlen, das bei der semantischen Suche verwendet wird. Diese Einbettungen werden mit einem KI-Modell von Vertex AI berechnet. Wenn ein Nutzer eine Abfrage stellt, kann aus dieser eine Vektoreinbettung erstellt werden und es können Daten mit Vektoreinbettungen abgerufen werden, die der Einbettung der Suche ähneln.

    In den Richtliniendaten werden Vektoreinbettungen auf ähnliche Weise verwendet.

    Hinweis: Da die Berechnung von Einbettungen eine Weile dauert, wurden diese bereits bereitgestellt. Im Script run_generate_embeddings.py ist zu sehen, wie Einbettungen generiert werden.
  6. Führen Sie die folgenden Befehle aus, um eine Datenbankkonfigurationsdatei zu erstellen:

    export PGUSER={{{project_0.startup_script.gcp_alloydb_user | PG_USER}}} export PGPASSWORD={{{project_0.startup_script.gcp_alloydb_password | PG_PASSWORD}}} export PROJECT_ID=$(gcloud config get-value project) export REGION={{{project_0.default_region | REGION }}} export ADBCLUSTER={{{project_0.startup_script.gcp_alloydb_cluster_name | CLUSTER}}} export INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)") cd ~/genai-databases-retrieval-app/retrieval_service cp example-config.yml config.yml sed -i s/127.0.0.1/$INSTANCE_IP/g config.yml sed -i s/my-user/$PGUSER/g config.yml sed -i s/my-password/$PGPASSWORD/g config.yml sed -i s/my_database/assistantdemo/g config.yml cat config.yml

    Die Konfigurationsdatei config.yml wird mit aktualisierten Werten für die IP-Adresse der Instanz, den Nutzernamen, das Passwort und die Datenbank erstellt. Ihre Konfigurationsdatei sollte jetzt etwa so aussehen:

    host: 0.0.0.0 # port: 8080 datastore: # Example for AlloyDB kind: "postgres" host: 10.65.0.2 # port: 5432 database: "assistantdemo" user: "postgres" password: "samplepassword"
  7. Führen Sie die folgenden Befehle aus, um die Datenbank mit dem Beispiel-Dataset zu füllen:

    pip install -r requirements.txt python run_database_init.py

    Durch den ersten Befehl werden alle erforderlichen Pakete der virtuellen Python-Umgebung hinzugefügt. Der zweite Befehl füllt die Datenbank mit den Daten.

Datenbank mit dem Beispiel-Dataset füllen

Aufgabe 5: Dienstkonto für den Abrufdienst erstellen

In dieser Aufgabe erstellen Sie ein Dienstkonto für den Abrufdienst.

Der Abrufdienst ist für das Extrahieren relevanter Informationen aus der Datenbank zuständig. Er extrahiert die erforderlichen Informationen aus der Datenbank, und zwar basierend auf der Anfrage einer KI-Anwendung. Dieses Dienstkonto wird als Identität dieses Cloud Run-Dienstes verwendet.

Dienstkonto erstellen

Der SSH-Nutzer hat nicht die erforderliche Berechtigung für die Projektinstanz, um dem Dienstkonto die richtige Rolle zuzuweisen. Sie erstellen das Dienstkonto über einen neuen Cloud Shell-Tab.

  1. Klicken Sie in Cloud Shell auf Neuen Tab öffnen (+), um einen neuen Cloud Shell-Tab zu öffnen.

  2. Führen Sie in einem neuen Tab die folgenden Befehle aus, um ein Dienstkonto zu erstellen und ihm die erforderlichen Berechtigungen zu erteilen:

    export PROJECT_ID=$(gcloud config get-value project) gcloud iam service-accounts create retrieval-identity gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:retrieval-identity@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"

    Dieses Dienstkonto hat die Rolle roles/aiplatform.user, die es dem Dienst ermöglicht, Vertex AI aufzurufen.

  3. Führen Sie zum Schließen des neuen Tabs den folgenden Befehl aus:

    exit
Dienstkonto-Abrufidentität erstellen

Aufgabe 6: Abrufdienst in Cloud Run bereitstellen

In dieser Aufgabe stellen Sie den Abrufdienst in Cloud Run bereit.

  1. Führen Sie auf dem VM-SSH-Tab in Cloud Shell die folgenden Befehle aus, um den Abrufdienst bereitzustellen:

    export REGION={{{project_0.default_region | REGION }}} cd ~/genai-databases-retrieval-app gcloud alpha run deploy retrieval-service \ --source=./retrieval_service/\ --no-allow-unauthenticated \ --service-account retrieval-identity \ --region $REGION \ --network=default \ --quiet

    Warten Sie einige Minuten, bis die Bereitstellung abgeschlossen ist.

  2. Führen Sie den folgenden Befehl aus, um den Dienst zu prüfen:

    curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $(gcloud run services list --filter="(retrieval-service)" --format="value(URL)")

    Wenn Sie die Nachricht „Hello World“ sehen, ist der Dienst verfügbar und verarbeitet Anfragen.

Abrufdienst bereitstellen

Aufgabe 7: OAuth-Zustimmungsbildschirm registrieren

In dieser Aufgabe registrieren Sie den OAuth-Zustimmungsbildschirm, den angemeldete Nutzer sehen.

Wenn Sie für die Autorisierung OAuth 2.0 verwenden, zeigt Google einen Zustimmungsbildschirm an, um die Zustimmung des Nutzers zur Weitergabe von Daten an die Anwendung einzuholen.

  1. Wählen Sie in der Google Cloud Console das Navigationsmenü () und dann APIs und Dienste > OAuth-Zustimmungsbildschirm aus.

  2. Klicken Sie auf Jetzt starten.

  3. Geben Sie unter App-Name Cymbal Air ein.

  4. Klicken Sie auf E‑Mail-Adresse für Nutzersupport, dann auf die E‑Mail-Adresse des Teilnehmers und anschließend auf Weiter.

  5. Wählen Sie für Zielgruppe die Option Intern aus und klicken Sie auf Weiter.

    Nutzer mit Zugriff auf das Projekt sollten sich in der App anmelden können.

  6. Kopieren Sie im linken Bereich der Lab-Anleitung den Nutzernamen.

  7. Fügen Sie unter Kontaktdaten den kopierten Nutzernamen ein.

  8. Klicken Sie auf Weiter.

  9. Aktivieren Sie das Kästchen, um der Richtlinie zu Nutzerdaten zuzustimmen, und klicken Sie auf Weiter und dann auf Erstellen.

    Der Zustimmungsbildschirm ist jetzt eingerichtet.

Aufgabe 8: Client-ID für die Anwendung erstellen

In dieser Aufgabe erstellen Sie eine Client-ID für die Anwendung.

Die Anwendung benötigt eine Client-ID, um den OAuth-Dienst von Google nutzen zu können. Sie konfigurieren die zulässigen Ursprünge, von denen diese Anfrage gestellt werden kann, und einen Weiterleitungs-URI, an den die Webanwendung weitergeleitet wird, nachdem der Nutzer der Anmeldung zugestimmt hat.

  1. Wählen Sie in der Google Cloud Console das Navigationsmenü () und dann APIs und Dienste > Anmeldedaten aus.

  2. Klicken Sie auf + Anmeldedaten erstellen und dann auf OAuth-Client-ID.

    Eine Client-ID wird zur Identifizierung einer einzelnen Anwendung bei OAuth-Servern von Google verwendet.

  3. Wählen Sie als Anwendungstyp die Option Webanwendung aus.

  4. Geben Sie unter Name Cymbal Air ein.

    Sie können den JavaScript-Ursprung und die Weiterleitungs-URI mit Cloud Shell generieren.

  5. Klicken Sie in Cloud Shell auf Neuen Tab öffnen (+), um einen neuen Cloud Shell-Tab zu öffnen.

  6. Führen Sie auf dem neuen Tab die folgenden Befehle aus, um den Ursprungs- und den Weiterleitung-URI abzurufen:

    echo "origin:"; echo "https://8080-$WEB_HOST"; echo "redirect:"; echo "https://8080-$WEB_HOST/login/google"
  7. Klicken Sie unter Autorisierte JavaScript-Quellen auf + URI hinzufügen.

    Hinweis: Wählen Sie die Schaltfläche URI hinzufügen unter Autorisierte JavaScript-Quellen und nicht unter Autorisierte Weiterleitungs-URIs aus.
  8. Kopieren Sie den Ursprungs-URI, der durch den echo-Befehl erstellt wurde, und fügen Sie ihn bei URIs 1 ein.

  9. Klicken Sie unter Autorisierte Weiterleitungs-URIs auf + URI hinzufügen.

    Hinweis: Dies ist die zweite Schaltfläche URI hinzufügen unter Autorisierte Weiterleitungs-URIs.
  10. Kopieren Sie den Weiterleitungs-URI, der mit dem echo-Befehl erstellt wurde, und fügen Sie ihn bei URIs 1 ein.

  11. Klicken Sie auf Erstellen.

    Die Client-ID und der Clientschlüssel werden erstellt. Für diese Testanwendung benötigen Sie nur die Client-ID.

  12. Fügen Sie zum Erstellen der Umgebungsvariable auf dem VM-SSH-Tab in Cloud Shell den folgenden Befehl ein, ohne die Eingabetaste zu drücken:

    export CLIENT_ID=
  13. Klicken Sie auf Client-ID kopieren ().

    Die Client-ID wird in die Zwischenablage kopiert.

    Hinweis: Die Client-ID kann auch auf der Seite Anmeldedaten kopiert werden.
  14. Fügen Sie auf dem VM-SSH-Tab von Cloud Shell die Client-ID ein und drücken Sie die Eingabetaste.

    Der Export sollte ungefähr so aussehen:

    export CLIENT_ID=937631684809-q7hs2r191jbks7f7dopih2uafuknb92h.apps.googleusercontent.com
Client-ID für die Anwendung erstellen

Aufgabe 9: Beispielanwendung bereitstellen

In dieser Aufgabe führen Sie eine Beispiel-Chatanwendung aus, die den Abrufdienst verwendet.

Anwendung ausführen

  1. Führen Sie auf dem VM-SSH-Tab in Cloud Shell die folgenden Befehle aus, um die Python-Anforderungen für die Chatanwendung zu erfüllen und die entsprechenden Installationen vorzunehmen:

    cd ~/genai-databases-retrieval-app/llm_demo pip install -r requirements.txt

    Bevor Sie die Anwendung starten, müssen Sie einige Umgebungsvariablen festlegen. Für die grundlegende Funktionalität der Anwendung, einschließlich der Abfrage von Flügen und der Rückgabe von Flughafeneinrichtungen, ist eine Umgebungsvariable mit dem Namen BASE_URL erforderlich, die die Basis-URL des Abrufdiensts enthält.

  2. Führen Sie die folgenden Befehle aus, um die Basis-URL des Abrufdiensts anzugeben:

    export BASE_URL=$(gcloud run services list --filter="(retrieval-service)" --format="value(URL)") echo $BASE_URL

    Die Basis-URL wird von der lokalen Anwendung verwendet, um auf den Abrufdienst zuzugreifen.

  3. Führen Sie zum Starten der Anwendung folgenden Befehl aus:

    python run_app.py

    Die Antwort sollte in etwa so aussehen:

    (.venv) student-03-b2f40c6c89d6@app-vm:~/genai-databases-retrieval-app/llm_demo$ python run_app.py INFO: Started server process [32894] INFO: Waiting for application startup. Loading application... INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8081 (Press CTRL+C to quit)

    Die Anwendung wird jetzt ausgeführt.

Verbindung zur VM herstellen

Es gibt verschiedene Möglichkeiten, eine Verbindung zu der Anwendung herzustellen, die auf der VM ausgeführt wird. Sie können beispielsweise Port 8081 auf der VM mithilfe von Firewallregeln in der VPC öffnen oder einen Load Balancer mit einer öffentlichen IP-Adresse erstellen. Hier wird ein SSH-Tunnel zur VM verwendet, der den Cloud Shell-Port 8080 in den VM-Port 8081 übersetzt.

  1. Klicken Sie in Cloud Shell auf Neuen Tab öffnen (+), um einen neuen Cloud Shell-Tab zu öffnen.

  2. Führen Sie auf einem neuen Tab den folgenden Befehl aus, um einen SSH-Tunnel zum VM-Port zu erstellen:

    gcloud compute ssh app-vm --zone={{{project_0.default_zone | ZONE }}} -- -L 8080:localhost:8081

    Der gcloud-Befehl verbindet Port 8080 in Cloud Shell mit Port 8081 auf der VM. Die Fehlermeldung „Cannot assign requested address“ (Angeforderte Adresse kann nicht zugewiesen werden) können Sie ignorieren.

  3. Wenn Sie die Anwendung im Webbrowser ausführen möchten, klicken Sie auf Webvorschau und wählen Sie dann Vorschau auf Port 8080 aus.

    Im Browser wird ein neuer Tab geöffnet und die Anwendung wird ausgeführt. Die Cymbal Air-Anwendung zeigt die Meldung „Welcome to Cymbal Air! How may I assist you?“ an.

  4. Geben Sie die folgende Abfrage ein:

    When is the next flight to Dallas?

    Die Anwendung antwortet mit dem nächsten Flug von SFO nach Dallas/Fort Worth.

  5. Geben Sie die folgende Abfrage ein:

    Which restaurants are near the departure gate?

    Die Anwendung versteht den Kontext und antwortet mit Restaurants in der Nähe des Abfluggates in SFO.

Aufgabe 10: In der Anwendung anmelden (optional)

In dieser Aufgabe melden Sie sich in der Anwendung an, um den Flug zu buchen.

  1. Klicken Sie auf Sign in (Anmelden).

    Ein Pop‑up-Fenster wird geöffnet.

  2. Wählen Sie im Pop‑up-Fenster den Teilnehmer aus.

    Das Teilnehmerkonto ist angemeldet.

  3. Wenn Sie zur Bestätigung aufgefordert werden, dass Sie sich als Teilnehmer anmelden möchten, klicken Sie auf Confirm (Bestätigen).

  4. Geben Sie die folgende Abfrage ein:

    Please book that flight.

    Die App zeigt den Flug an, über den gesprochen wurde.

  5. Klicken Sie auf Looks good to me. Book it (Sieht gut aus. Bitte buchen).

    Der Flug wird gebucht.

  6. Geben Sie die folgende Abfrage ein:

    Which flights have I booked?

    Es wird der Flug angezeigt, den Sie gerade gebucht haben.

    Die Chatanwendung kann dabei helfen, Fragen von Nutzern zu beantworten, wie etwa die folgenden:

    • Wann ist der nächste Flug nach Miami?
    • Gibt es in der Nähe von Gate D50 Luxusgeschäfte?
    • Wo kann ich in der Nähe von Gate A6 einen Kaffee bekommen?

    Die Anwendung nutzt die neuesten Foundation Models von Google, um Antworten zu generieren und sie mit Informationen zu Flügen und Flughafeneinrichtungen aus der operativen AlloyDB-Datenbank zu ergänzen. Weitere Informationen zu dieser Demoanwendung finden Sie auf der GitHub-Seite des Projekts.

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

Sie haben erfolgreich eine Chatanwendung erstellt, die Large Language Models (LLMs) und Retrieval Augmented Generation (RAG) nutzt, um ansprechende, informative Unterhaltungen zu führen.

Weitere Informationen

Lab beenden

Wenn Sie das Lab abgeschlossen haben, klicken Sie auf Lab beenden. Google Cloud Skills Boost entfernt daraufhin die von Ihnen genutzten Ressourcen und bereinigt das Konto.

Anschließend erhalten Sie die Möglichkeit, das Lab zu bewerten. Wählen Sie die entsprechende Anzahl von Sternen aus, schreiben Sie einen Kommentar und klicken Sie anschließend auf Senden.

Die Anzahl der Sterne hat folgende Bedeutung:

  • 1 Stern = Sehr unzufrieden
  • 2 Sterne = Unzufrieden
  • 3 Sterne = Neutral
  • 4 Sterne = Zufrieden
  • 5 Sterne = Sehr zufrieden

Wenn Sie kein Feedback geben möchten, können Sie das Dialogfeld einfach schließen.

Verwenden Sie für Feedback, Vorschläge oder Korrekturen den Tab Support.

© 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.

Zurück Weiter

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Nutzen Sie den privaten oder Inkognitomodus, 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.
Vorschau