arrow_back

RAG-Anwendung mit BigQuery erstellen

Anmelden Teilnehmen
Zugriff auf über 700 Labs und Kurse nutzen

RAG-Anwendung mit BigQuery erstellen

Lab 1 Stunde 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

GSP1289

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

Bereiten Ihnen KI-Halluzinationen Kopfschmerzen? KI kann eine wertvolle Ressource sein, aber manchmal werden ungenaue, veraltete oder zu allgemeine Antworten generiert – ein Phänomen, das Halluzination genannt wird. In diesem Lab implementieren Sie eine RAG-Pipeline (Retrieval Augmented Generation), um dieses Problem zu lösen. RAG verbessert LLMs (Large Language Models) wie Gemini, da die Ausgabe auf kontextrelevanten Informationen aus einem bestimmten Dataset basiert.

In diesem Beispiel unterstützen Sie den innovativen mobilen Kaffeeanbieter Coffee on Wheels bei der Analyse von Kundenfeedback zu seinen Dienstleistungen. Ohne Zugriff auf die neuesten Daten können die Antworten von Gemini ungenau sein. Um dieses Problem zu lösen, entscheiden Sie sich für eine RAG-Pipeline mit drei Schritten:

  1. Einbettungen generieren: Kundenfeedback in Textform in Vektoreinbettungen umwandeln, also in numerische Darstellungen von Daten, die die semantische Bedeutung erfassen.
  2. Vektorraum durchsuchen: Einen Index dieser Vektoren erstellen, nach ähnlichen Elementen suchen und diese abrufen.
  3. Verbesserte Antworten generieren: Gemini mit den abgerufenen Informationen ergänzen, um genauere und relevantere Antworten zu generieren.

BigQuery ermöglicht eine nahtlose Verbindung zu remote verbundenen generativen KI-Modellen in Vertex AI. Außerdem bietet es verschiedene Funktionen für Einbettungen, Vektorsuche und Textgenerierung direkt über SQL-Abfragen oder Python-Notebooks.

Eine ausführliche Anleitung finden Sie im Kurs Einbettungen, Vektorsuche und RAG mit BigQuery erstellen auf Google Cloud Skills Boost.

Lerninhalte

  • Quellverbindung erstellen und IAM-Berechtigungen gewähren
  • Einbettungen erstellen und Textdaten in Vektoreinbettungen konvertieren
  • Vektorraum durchsuchen und ähnliche Elemente abrufen
  • Bessere Antwort durch Ergänzung von Gemini mit den Suchergebnissen generieren

Vorbereitung

Für dieses Lab sollten Sie mit BigQuery und SQL-Programmierung vertraut sein.

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.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:

    • Schaltfläche „Google Cloud Console öffnen“
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich „Details zum Lab“.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. 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 Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein. Symbol für das Navigationsmenü und Suchfeld

Aufgabe 1: Quellverbindung erstellen und IAM-Berechtigungen erteilen

Quellverbindung erstellen

Erstellen Sie eine neue externe Quellverbindung, um remote verbundene generative KI-Modelle in Vertex AI in BigQuery zu verwenden, wie Gemini und ein Einbettungsmodell.

  1. Klicken Sie in der Google Cloud Console im Navigationsmenü (Symbol für Navigationsmenü) auf BigQuery.
  2. Rufen Sie den Explorer auf, klicken Sie auf + Hinzufügen und wählen Sie Verbindungen zu externen Datenquellen aus.
  3. Wählen Sie in der Liste Verbindungstyp die Option Remote-Modelle in Vertex AI, Remote-Funktionen und BigLake (Cloud-Ressource) aus.
  4. Geben Sie im Feld Verbindungs-ID den Wert embedding_conn ein.
  5. Klicken Sie auf Verbindung erstellen.
  6. Klicken Sie danach im Bestätigungsfenster auf Zur Verbindung, um zur Verbindung zu gelangen und die Dienstkonto-ID zu kopieren. Sie benötigen diese später, um dem Konto Berechtigungen zuzuweisen.

IAM-Berechtigungen gewähren

Das Dienstkonto benötigt die erforderlichen IAM-Berechtigungen, um BigQuery-Daten und Vertex AI-Ressourcen verwenden zu können.

  1. Um die Berechtigungen über IAM zu erteilen, führen Sie diese Schritte aus:
    • Klicken Sie in der Google Cloud Console im Navigationsmenü (Symbol für Navigationsmenü) auf IAM und Verwaltung > IAM.
    • Klicken Sie auf Zugriff gewähren.
    • Im Abschnitt Hauptkonten hinzufügen:
      • Fügen Sie in das Textfeld Neue Hauptkonten den zuvor kopierten Wert der Dienstkonto-ID ein.
      • Wählen Sie unter Rolle zuweisen die folgenden Rollen aus (suchen Sie diese gegebenenfalls):
        • BigQuery Data Owner
        • Vertex AI User
  2. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.
  3. Rufen Sie über das Navigationsmenü (Symbol für Navigationsmenü) die Option APIs und Dienste auf, klicken Sie auf + APIs und Dienste aktivieren, suchen Sie nach der Vertex AI API und klicken Sie auf die Schaltfläche Aktivieren.

Klicken Sie auf Fortschritt prüfen. Quellverbindung erstellen und IAM-Berechtigungen gewähren

Aufgabe 2: Einbettungen generieren

  1. Rufen Sie in der Google Cloud Console über das Navigationsmenü (Symbol für Navigationsmenü) BigQuery auf.

  2. Klicken Sie im Explorer auf das Dreipunkt-Menü neben dem Projekt und dann auf Dataset erstellen. Geben Sie unter Dataset-ID den Wert CustomerReview ein. Übernehmen Sie für die anderen Optionen die Standardwerte und klicken Sie auf Dataset erstellen.

  3. Führen Sie im Abfrageeditor die folgende SQL-Abfrage aus, um eine Verbindung zum Einbettungsmodell herzustellen:

CREATE OR REPLACE MODEL `CustomerReview.Embeddings` REMOTE WITH CONNECTION `us.embedding_conn` OPTIONS (ENDPOINT = 'text-embedding-005');
  1. Führen Sie die folgende SQL-Abfrage aus, um das Dataset aus einer CSV-Datei hochzuladen:
LOAD DATA OVERWRITE CustomerReview.customer_reviews ( customer_review_id INT64, customer_id INT64, location_id INT64, review_datetime DATETIME, review_text STRING, social_media_source STRING, social_media_handle STRING ) FROM FILES ( format = 'CSV', uris = ['gs://spls/gsp1249/customer_reviews.csv'] );
  1. (Optional) Wenn Sie die hochgeladenen Daten in der Tabelle überprüfen möchten, klicken Sie auf Tabelle aufrufen. Suchen Sie das Schema der Tabelle und sehen Sie sich eine Vorschau der Daten an.

  2. Führen Sie im Abfrageeditor die folgende SQL-Abfrage aus, um Einbettungen aus aktuellem Kundenfeedback zu generieren und in einer Tabelle zu speichern:

CREATE OR REPLACE TABLE `CustomerReview.customer_reviews_embedded` AS SELECT * FROM ML.GENERATE_EMBEDDING( MODEL `CustomerReview.Embeddings`, (SELECT review_text AS content FROM `CustomerReview.customer_reviews`) );
  1. (Optional) Wenn Sie die Ergebnisse der Einbettung prüfen möchten, klicken Sie auf Tabelle aufrufen. Suchen Sie das Schema der Tabelle und sehen Sie sich eine Vorschau der Daten an. Beachten Sie, dass die Einbettungsergebnisse Gleitkommazahlen und möglicherweise nicht sofort interpretierbar sind.

Klicken Sie auf Fortschritt prüfen. Einbettungen erstellen

Aufgabe 3: Vektorraum durchsuchen und ähnliche Elemente abrufen

  1. Führen Sie die folgende SQL-Abfrage aus, um einen Index des Vektorsuchbereichs zu erstellen:
Hinweis: Für Datasets mit weniger als 5.000 Zeilen, wie in diesem Lab, ist das Erstellen eines Index nicht erforderlich. In diesem Schritt wird der Code vorgestellt, der zum Erstellen eines Vektorraumindex für größere Datasets erforderlich ist. CREATE OR REPLACE VECTOR INDEX `CustomerReview.reviews_index` ON `CustomerReview.customer_reviews_embedded`(ml_generate_embedding_result) OPTIONS (distance_type = 'COSINE', index_type = 'IVF');
  1. Führen Sie die folgende SQL-Abfrage aus, um im Vektorraum zu suchen und ähnliche Elemente abzurufen:
CREATE OR REPLACE TABLE `CustomerReview.vector_search_result` AS SELECT query.query, base.content FROM VECTOR_SEARCH( TABLE `CustomerReview.customer_reviews_embedded`, 'ml_generate_embedding_result', ( SELECT ml_generate_embedding_result, content AS query FROM ML.GENERATE_EMBEDDING( MODEL `CustomerReview.Embeddings`, (SELECT 'service' AS content) ) ), top_k => 5, options => '{"fraction_lists_to_search": 0.01}' );
  1. (Optional) Klicken Sie auf Tabelle aufrufen, um sich die Abfrageergebnisse anzusehen. Suchen Sie das Schema der Tabelle und sehen Sie sich eine Vorschau der Daten an.

Klicken Sie auf Fortschritt prüfen. Vektorraum durchsuchen und ähnliche Elemente abrufen

Aufgabe 4: Bessere Antwort generieren

  1. Führen Sie die folgende SQL-Abfrage aus, um eine Verbindung zum Gemini-Modell herzustellen:

    CREATE OR REPLACE MODEL `CustomerReview.Gemini` REMOTE WITH CONNECTION `us.embedding_conn` OPTIONS (ENDPOINT = 'gemini-pro');
  2. Die Antworten von Gemini können Sie mit relevanten und aktuellen Daten aus der Vektorsuche verbessern. Führen Sie dazu die folgende Abfrage aus:

SELECT ml_generate_text_llm_result AS generated FROM ML.GENERATE_TEXT( MODEL `CustomerReview.Gemini`, ( SELECT CONCAT( 'Summarize what customers think about our services', STRING_AGG(FORMAT('review text: %s', base.content), ',\n') ) AS prompt FROM `CustomerReview.vector_search_result` AS base ), STRUCT( 0.4 AS temperature, 300 AS max_output_tokens, 0.5 AS top_p, 5 AS top_k, TRUE AS flatten_json_output ) );
  1. Sehen Sie sich die von Gemini generierten Ergebnisse im Abschnitt Abfrageergebnisse unterhalb des Abfrageeditors an.
Fragen an Sie:
1. Wie lässt sich feststellen, ob Gemini mit RAG bessere Antworten generiert als ohne? Testen Sie das mit Code.

2.Wie kann der Code verbessert werden? Könnte man beispielsweise die Vektor-Suchergebnisse nicht direkt in die Antwortgenerierung (Aufgabe 4) einbetten, um sie in Echtzeit abzurufen, anstatt sie in einer Tabelle zu speichern (Aufgabe 3)?

Beschäftigen Sie sich in der verbleibenden Zeit mit diesen Fragen. Viel Erfolg!

Klicken Sie auf Fortschritt prüfen. Eine verbesserte Antwort mit aus der Vektorsuche abgerufenen Daten generieren

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

Damit Coffee on Wheels aus dem Kundenfeedback zu seinen Dienstleistungen Erkenntnisse gewinnen kann, haben Sie eine RAG-Pipeline in BigQuery implementiert, die Gemini relevante und aktuelle Informationen liefert. Sie haben sich remote mit generativen KI-Modellen verbunden, darunter ein Einbettungsmodell und Gemini, und haben dabei drei Schritte absolviert: Einbettungen erstellen, einen Vektorraum durchsuchen und eine verbesserte Antwort generieren. Wir hoffen, dass Sie mit diesem Ansatz auch bei Ihren eigenen KI-Modellen Halluzinationen reduzieren können.

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 22. Januar 2025 aktualisiert

Lab zuletzt am 22. Januar 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.

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

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

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.