GSP1289

Ü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:
-
Einbettungen generieren: Kundenfeedback in Textform in Vektoreinbettungen umwandeln, also in numerische Darstellungen von Daten, die die semantische Bedeutung erfassen.
-
Vektorraum durchsuchen: Einen Index dieser Vektoren erstellen, nach ähnlichen Elementen suchen und diese abrufen.
-
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
-
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
-
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.
-
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“.
-
Klicken Sie auf Weiter.
-
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“.
-
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.
-
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.
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.
- Klicken Sie in der Google Cloud Console im Navigationsmenü (
) auf BigQuery.
- Rufen Sie den Explorer auf, klicken Sie auf + Hinzufügen und wählen Sie Verbindungen zu externen Datenquellen aus.
- Wählen Sie in der Liste Verbindungstyp die Option Remote-Modelle in Vertex AI, Remote-Funktionen und BigLake (Cloud-Ressource) aus.
- Geben Sie im Feld Verbindungs-ID den Wert
embedding_conn
ein.
- Klicken Sie auf Verbindung erstellen.
- 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.
- Um die Berechtigungen über IAM zu erteilen, führen Sie diese Schritte aus:
- Klicken Sie in der Google Cloud Console im 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
- Klicken Sie auf Speichern, um die Änderungen zu übernehmen.
- Rufen Sie über das 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
-
Rufen Sie in der Google Cloud Console über das Navigationsmenü (
) BigQuery auf.
-
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.
-
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');
- 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']
);
-
(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.
-
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`)
);
- (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
- 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');
- 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}'
);
- (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
-
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');
-
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
)
);
- 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.