KI-Agents können Schlussfolgerungen ziehen, haben aber zu Beginn kein Wissen über Ihr Unternehmen. Stellen Sie sich vor, Sie fragen einen Kundenservicemitarbeiter: „Wie hoch ist unser Umsatz im ersten Quartal?“ Ohne Anleitung wählt der Agent möglicherweise aus Dutzenden von Tabellen mit dem Namen „Umsatz“ in Ihren Datenbanken aus, die von offiziellen Berichten bis hin zu unübersichtlichen Testdaten reichen. Wenn der Agent die Tabelle mit dem ähnlichsten Namen auswählt, kann er überzeugend falsche Antworten auf der Grundlage nicht überprüfter Quellen zurückgeben.
Die Lösung für dieses Kontextproblem ist die Metadatenanreicherung. In diesem Tutorial richten Sie Aspekte ein, die diesen Kontext liefern, und verwenden die Gemini CLI, um den Datenkontext zu testen und zu prüfen, ob ein Agent seine Antworten auf vertrauenswürdige, zertifizierte Daten stützen kann.
Ziele
- Erstellen Sie einen realistischen Data Lake für Tests.
- Verwenden Sie Aspekte in Knowledge Catalog, um Ihre „Gold“-Daten zu kennzeichnen und von Testdaten zu unterscheiden.
- Datenkontext lokal mit der Gemini CLI testen
Hinweis
Führen Sie zuerst folgende Schritte aus:
- Wählen Sie ein Google Cloud Projekt für diese Anleitung aus.
- Prüfen Sie, ob für Ihr Projekt die Abrechnung aktiviert ist.
Für diese Anleitung sind außerdem grundlegende Kenntnisse von BigQuery, Knowledge Catalog und Terraform erforderlich.
Umgebung vorbereiten
In dieser Anleitung wird die Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der Google Cloud Console in der Symbolleiste rechts oben auf Cloud Shell aktivieren. Die Bereitstellung und Verbindung mit der Umgebung dauert einen kleinen Moment.
Legen Sie in Cloud Shell die Variablen
PROJECT_IDundREGIONso fest, dass alle zukünftigen Befehle auf Ihr spezifisches Google Cloud Projekt ausgerichtet sind.export PROJECT_ID=$(gcloud config get-value project) gcloud config set project $PROJECT_ID export REGION="us-central1"Aktivieren Sie die erforderlichen Google Cloud Dienste.
gcloud services enable \ artifactregistry.googleapis.com \ bigqueryunified.googleapis.com \ cloudaicompanion.googleapis.com \ cloudbuild.googleapis.com \ cloudresourcemanager.googleapis.com \ datacatalog.googleapis.com \ run.googleapis.comKlonen Sie das Google Cloud DevRel Demos-Repository.
Laden Sie den Infrastrukturcode und die Skripts von GitHub herunter. Verwenden Sie einen Sparse Checkout, um nur den Ordner abzurufen, den Sie für diese Anleitung benötigen.
# Perform a shallow clone to get only the latest repository structure without the full history git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git cd devrel-demos # Specify and download only the folder you need for this tutorial git sparse-checkout set data-analytics/governance-context cd data-analytics/governance-context
Data Lake erstellen
Um die Situation realistisch zu gestalten, benötigen Sie eine Mischung aus offiziellen Daten und unzuverlässigen, unordentlichen Daten. Verwenden Sie Terraform und die vorkonfigurierten Terraform-Konfigurationsdateien aus dem Tutorial-Repository, um dies schnell einzurichten.
Die Terraform-Konfiguration übernimmt zwei Aufgaben:
- Richtet die Aspekttypen (Metadatenvorlagen) von Knowledge Catalog, die BigQuery-Datasets und -Tabellen, einschließlich
finance_mart.fin_monthly_closing_internalundanalyst_sandbox.tmp_data_dump_v2_final_real, ein. - Lädt Beispieldaten in die Tabellen.
Öffnen Sie das Verzeichnis
terraformund initialisieren Sie es.cd terraform terraform initWenden Sie die Konfiguration an. Das kann bis zu einer Minute dauern.
terraform apply -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve
Sie haben jetzt einen nicht verwalteten Data Lake. Für einen KI-Agenten sehen die Tabellen in Ihrem Data Lake genau gleich aus, da es sich nur um Objekte mit Spalten handelt. Um das zu beheben, müssen Sie im nächsten Schritt Governance anwenden.
Governance anwenden
Das ist der wichtigste Teil der Einrichtung. Derzeit sehen Ihre beiden Tabellen für einen KI-Agenten identisch aus. Um sie zu unterscheiden, wenden Sie Aspekte an. Das sind wie zertifizierte Metadatenlabels, die dem Agenten den erforderlichen Kontext liefern. In diesem Abschnitt verwenden Sie zwei Skripts: eines zum Generieren der Metadaten und eines zum Anwenden der Metadaten auf Ihre Tabellen.
Governance-Nutzlasten generieren
Die Aspekttypen wurden bereits von Terraform eingerichtet. Jetzt müssen Sie die Daten generieren, um sie zu füllen.
Führen Sie das Skript ./generate_payloads.sh aus, um ein aspect_payloads/-Verzeichnis zu erstellen. Das Verzeichnis enthält vier YAML-Dateien, die verschiedene Governance-Szenarien definieren, die Sie im nächsten Schritt anwenden.
Gehen Sie zurück zum Stammverzeichnis des Anleitungsverzeichnisses und führen Sie das Skript ./generate_payloads.sh aus:
cd ..
chmod +x ./generate_payloads.sh
./generate_payloads.sh
Aspekte anwenden
Bevor Sie das
apply_governance.sh-Skript ausführen, sollten Sie sich die Daten ansehen, die an Ihre Tabellen angehängt werden. Führen Sie den folgenden Befehl aus, um die für Ihre internen Finanzdaten definierten Metadaten aufzurufen:cat aspect_payloads/fin_internal.yamlDie YAML-Datei definiert den geschäftlichen Kontext für die Tabelle:
your-project-id.us-central1.official-data-product-spec: data: product_tier: GOLD_CRITICAL data_domain: FINANCE usage_scope: INTERNAL_ONLY update_frequency: DAILY_BATCH is_certified: trueBeachten Sie, dass die Daten dadurch explizit als
is_certified: truegekennzeichnet und der StufeGOLD_CRITICALzugewiesen werden. So erhält der KI-Agent klare, strukturierte Regeln, an die er sich halten kann.Führen Sie das Script
apply_governance.shaus: Dieses Skript durchläuft Ihre BigQuery-Tabellen und verwendet diegcloud-Befehlszeile, um die Metadaten aus Ihren YAML-Nutzlasten in jede Tabelle zu „stempeln“.chmod +x ./apply_governance.sh ./apply_governance.sh
Metadaten überprüfen
Bevor Sie fortfahren, sollten Sie prüfen, ob das Skript die Aspekte korrekt angewendet hat.
- Öffnen Sie in der Google Cloud Console die Seite Knowledge Catalog. Sie können die Suchleiste oben verwenden, um danach zu suchen.
- Suchen Sie nach
fin_monthly_closing_internal. Wählen Sie in den Ergebnissen den Tabellennamen aus, um die Detailseite zu öffnen. - Suchen Sie im Bereich Optionale Tags und Aspekte nach dem Aspekt
official-data-product-spec. Prüfen Sie, ob die Werte mit dem angewendeten Szenario „Gold Internal“ übereinstimmen.
Sie haben Metadaten verwendet, um diese Tabellen zu unterscheiden, und Ihrem KI-Agenten eine Möglichkeit gegeben, dasselbe zu tun.
Datenkontext mit der Gemini CLI testen
Bevor Sie eine vollständige Webanwendung erstellen, können Sie Ihre Governance-Logik lokal in einer MCP-Umgebung (Model Context Protocol) testen. In dieser Konfiguration fungiert die Gemini CLI als Client (die Schnittstelle, mit der Sie kommunizieren) und die Knowledge Catalog-Erweiterung als lokaler Server.
Knowledge Catalog-Erweiterung installieren
Installieren Sie in Cloud Shell die Knowledge Catalog Extension.
export DATAPLEX_PROJECT="${PROJECT_ID}"
gemini extensions install https://github.com/gemini-cli-extensions/dataplex
Regeln definieren
Die Konfigurationsdatei GEMINI.md enthält Logik, mit der deklarative Regeln wie „Ich benötige sichere Daten“ in präzise Suchanfragen umgewandelt werden, die nur Tabellen mit den richtigen Governance-Labels zurückgeben.
Derzeit ist die Konfigurationsdatei nur eine Vorlage. Sie müssen den Regeln Ihre spezifische Google Cloud Projekt-ID hinzufügen, damit beim Ausführen der Befehlszeile die richtigen Daten angesprochen werden.
Fügen Sie der Konfigurationsdatei Ihre
PROJECT_IDhinzu.envsubst < GEMINI.md > GEMINI.md.tmp && mv GEMINI.md.tmp GEMINI.mdSehen Sie sich die Datei
GEMINI.mdan, um Ihre Änderungen zu prüfen und zu verstehen, wie der Datenkontext funktioniert:cat GEMINI.mdBeachten Sie, dass in der Datei Regeln für Phase 1 und Phase 2 aufgeführt sind. Dadurch wird eine strikte Reihenfolge der Vorgänge erzwungen. Der Agent muss zuerst nach den richtigen Governance-Labels suchen (Phase 1), bevor er die Daten selbst bearbeiten darf (Phase 2). Diese „Search-First“-Logik verhindert, dass der Agent Tabellennamen errät oder Antworten aus nicht überprüften Quellen generiert.
Achten Sie darauf, dass Phase 2 Ihre tatsächliche Google Cloud Projekt-ID enthält. Wenn das nicht stimmt, weiß der Agent nicht, wo er nach Ihren Daten suchen soll.
Gemini CLI starten und Szenarien testen
Starten Sie eine neue Gemini-Sitzung. Da Sie sich im Projektordner befinden, erkennt die CLI die lokale GEMINI.md automatisch und lädt sie als Systemkontext.
gemini
Installation prüfen
Prüfen Sie, ob die Knowledge Catalog-Erweiterung aktiv ist. dataplex sollte in der Liste der konfigurierten MCP-Servertools angezeigt werden.
/mcp desc
Testen
Sehen wir uns nun an, wie der Datenkontext in der Praxis aussieht. Fügen Sie diese Prompts einzeln in die Befehlszeile ein.
Szenario 1: Goldstandard-Daten finden
Sehen Sie, ob die Gemini CLI die vertrauenswürdigsten Daten für eine wichtige Vorstandssitzung finden kann.
We are preparing the deck for an internal Board of Directors meeting next week. I need the numbers to be absolutely finalized, trustworthy, and kept strictly confidential. Which table is safe to use?
Die Befehlszeile sollte die Rohdaten überspringen und fin_monthly_closing_internal finden. Dazu wird Ihre Anfrage nach „finalisierten“ und „vertraulichen“ Daten mit den Tags GOLD_CRITICAL und INTERNAL_ONLY abgeglichen, die Sie zuvor angewendet haben.
Szenario 2: Öffentliche Offenlegung
Stellen Sie sich vor, Sie möchten Daten extern freigeben. Sie möchten sicherstellen, dass die CLI keine internen Secrets preisgibt.
I need to share our quarterly financial summary with an external consulting firm. It is critical that we do not leak any raw or internal metrics. Which dataset is officially scrubbed and explicitly approved for external sharing?
Obwohl die interne Tabelle die meisten Details enthält, muss die CLI sie umgehen. Sie sollten auf fin_quarterly_public_report verwiesen werden, da dies die einzige Tabelle mit dem Tag EXTERNAL_READY ist.
Szenario 3: Echtzeit-Betriebsanforderungen
Data Scientists benötigen oft die neuesten Informationen. Prüfen Sie, ob die Gemini CLI den Unterschied zwischen einem täglichen Batch und einem Livestream versteht.
My dashboard needs to show what's happening right now with our ad spend. I can't wait for the overnight load. What do you recommend?
Die CLI sollte mkt_realtime_campaign_performance finden. Gibt die REALTIME_STREAMING-Updatehäufigkeit in den Metadaten an.
Szenario 4: Sandbox-Erkundung
Manchmal ist „gut genug“ besser als „perfekt“. Prüfen, ob die Gemini CLI die Rohdaten der Sandbox für einige experimentelle ML-Aufgaben finden kann.
I'm just playing around with some new ML models and need a lot of raw data. It doesn't need to be perfect, just a sandbox environment.
Die CLI sollte tmp_data_dump_v2_final_real finden. Das ist die richtige Wahl, weil sie dem BRONZE_ADHOC-Tier entspricht und explizit mit is_certified: false gekennzeichnet ist.
Wenn Sie mit dem Testen fertig sind, können Sie die CLI-Sitzung beenden:
/quit
Bereinigen
So vermeiden Sie wiederkehrende Gebühren:
Löschen Sie die Terraform-Ressourcen.
cd ~/devrel-demos/data-analytics/governance-context/terraform terraform destroy -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approveDeinstallieren Sie die Knowledge Catalog-Erweiterung und entfernen Sie Ihre lokalen Demodateien.
gemini extensions uninstall dataplex cd ~ rm -rf ~/devrel-demos
Fazit
Sie haben eine solide Datengrundlage geschaffen, mithilfe von Metadaten einen strengen Kontext angewendet und mit der Gemini CLI überprüft, ob alles lokal funktioniert.