In diesem Dokument wird beschrieben, wie Sie mit der Gemini CLI und der MCP-Toolbox Kontextdateien für Agents erstellen. Diese Dateien enthalten Vorlagen, Facetten und Wertesuchen, die Kontext für das Generieren von SQL-Abfragen aus natürlicher Sprache liefern. Sie verwenden auch die Erweiterung „DB Context Enrichment“.
Weitere Informationen zu Kontextgruppen finden Sie unter Kontextgruppen.So erstellen Sie eine Agent-Kontextdatei:
- Umgebung vorbereiten
- Zielgerichtete Vorlagen generieren
- Zielgerichtete Facetten generieren
- Gezielte Wertesuchen generieren
- Optional. Bulk-Vorlagen generieren
Hinweis
Erfüllen Sie die folgenden Voraussetzungen, bevor Sie einen Agent erstellen.
Erforderliche Dienste aktivieren
Aktivieren Sie die folgenden Dienste für Ihr Projekt:Cloud SQL-Instanz vorbereiten
- Achten Sie darauf, dass Sie Zugriff auf eine vorhandene Cloud SQL-Instanz haben, oder erstellen Sie eine neue. Weitere Informationen finden Sie unter Instanzen für Cloud SQL erstellen.
- Erstellen Sie eine Datenbank in Ihrer Instanz, in der Sie die Tabellen erstellen. Weitere Informationen finden Sie unter Datenbank auf der Cloud SQL-Instanz erstellen.
Erforderliche Rollen und Berechtigungen
- Fügen Sie einen IAM-Nutzer oder ein Dienstkonto auf Instanzebene hinzu. Weitere Informationen finden Sie unter IAM-Richtlinienbindung zu einem Nutzer, Dienstkonto oder einer Gruppe hinzufügen.
- Weisen Sie dem IAM-Nutzer oder Dienstkonto auf Projektebene die Rollen
cloudsql.studioUser,cloudsql.instanceUserundgeminidataanalytics.queryDataUserzu. Weitere Informationen finden Sie unter IAM-Richtlinienbindung für ein Projekt hinzufügen. - Ein privilegierter Nutzer muss dem IAM-Nutzer oder Dienstkonto Datenbankberechtigungen erteilen.
GRANT SELECT PRIVILEGES ON * TO "IAM_USERNAME";.
Weitere Informationen finden Sie unter Einzelnen IAM-Nutzern oder Dienstkonten Datenbankberechtigungen erteilen.
executesql-Berechtigung für Cloud SQL-Instanz gewähren
Führen Sie den folgenden Befehl aus, um der Cloud SQL-Instanz die Berechtigung executesql zu gewähren und die Cloud SQL Data API zu aktivieren:
gcloud config set project PROJECT_ID gcloud components update gcloud beta sql instances patch INSTANCE_ID --data-api-access=ALLOW_DATA_API
PROJECT_ID: Die ID Ihres Google Cloud -Projekts.INSTANCE_ID: Die ID Ihrer Cloud SQL-Instanz.
Datenbank für die Wertsuche vorbereiten
Wenn Sie semantische und Trigramm-Wertsuchen verwenden möchten, müssen Sie Ihre Cloud SQL for MySQL-Instanz so konfigurieren, dass sie Vektoreinbettungen und N-Gramm-Indexierung unterstützt.
Damit die Cloud SQL for MySQL-Instanz semantische Wertesuchen ausführen kann, müssen Sie die folgenden Flags aktivieren.
Aktivieren Sie das Flag
cloudsql_vector.gcloud sql instances patch INSTANCE_NAME --database-flags=cloudsql_vector=onAktivieren Sie das Flag
enable-google-ml-integration, damit die Cloud SQL for MySQL-Instanz in Vertex AI eingebunden werden kann.gcloud sql instances patch INSTANCE_NAME --enable-google-ml-integrationVektorspalte zum Speichern von Stadteinbettungen erstellen
ALTER TABLE `airports` ADD COLUMN `city_embedding` VECTOR(768);Vektoreinbettungen für Städtenamen generieren und speichern
UPDATE `airports` SET `city_embedding` = mysql.ml_embedding('text-embedding-005', `city`) WHERE `city` IS NOT NULL;
Führen Sie die folgenden Schritte aus, um die Cloud SQL for MySQL-Instanz für die Suche nach Trigrammwerten zu aktivieren.
Aktivieren Sie das Flag
ngram_token_size.gcloud sql instances patch INSTANCE_NAME --database-flags=ngram_token_size=3FULLTEXT-Index für Trigramm-Abgleich für den Flughafennamen erstellen
CREATE FULLTEXT INDEX `idx_ngram_airports_name` ON `airports`(`name`) WITH PARSER ngram;
Umgebung vorbereiten
Sie können Kontextset-Dateien in jeder lokalen Entwicklungsumgebung oder IDE erstellen. So bereiten Sie die Umgebung vor:
- Gemini CLI installieren
- DB Context Enrichment-Erweiterung installieren
- Datenbankverbindung einrichten
Gemini CLI installieren
Informationen zur Installation der Gemini CLI finden Sie unter Erste Schritte mit der Gemini CLI.
MCP-Erweiterung für die Kontextanreicherung der Datenbank installieren
Die Erweiterung „DB Context Enrichment“ bietet einen geführten, interaktiven Workflow zum Generieren von strukturiertem NL2SQL-Kontext aus Ihren Datenbankschemas.
Weitere Informationen zum Installieren der Erweiterung „DB Context Enrichment“ finden Sie unter Erweiterung „DB Context Enrichment“.
So installieren Sie die Erweiterung „DB Context Enrichment“:
Installieren Sie die Gemini CLI-Erweiterung „DB Context Enrichment“:
gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichment(Optional) Aktualisieren Sie die Erweiterung „DB Context Enrichment“.
Führen Sie den folgenden Befehl aus, um die installierte Version der Erweiterung zu prüfen:
gemini extensions listAchten Sie darauf, dass die Version
0.4.2oder höher ist. Führen Sie den folgenden Befehl aus, um die Erweiterung „DB Context Enrichment“ zu aktualisieren:gemini extensions update mcp-db-context-enrichmentFühren Sie den folgenden Befehl aus, um die Erweiterung „DB Context Enrichment“ zu aktualisieren oder
GEMINI_API_KEYzu ersetzen:gemini extensions config mcp-db-context-enrichment GEMINI_API_KEYErsetzen Sie GEMINI_API_KEY durch Ihren Gemini API-Schlüssel.
Datenbankverbindung einrichten
Für die Erweiterung ist die Datenbankverbindung erforderlich, um Schemas abzurufen und SQL-Anweisungen auszuführen. Damit die Erweiterung mit Ihrer Datenbank interagieren kann, müssen Sie Authentifizierungsanmeldedaten konfigurieren und Ihre Datenbankquellen und ‑tools definieren.
Standardanmeldedaten für Anwendungen konfigurieren
Sie müssen Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) konfigurieren, um Nutzeranmeldedaten für zwei Hauptkomponenten bereitzustellen:
- Toolbox-MCP-Server: verwendet Anmeldedaten, um eine Verbindung zu Ihrer Datenbank herzustellen, Schemas abzurufen und SQL zur Validierung auszuführen.
- Erweiterung für die Kontextanreicherung der Datenbank: verwendet Anmeldedaten zur Authentifizierung und zum Aufrufen der Gemini API.
Führen Sie im Terminal die folgenden Befehle aus, um sich zu authentifizieren:
gcloud auth application-default logintools.yaml-Datei konfigurieren
Für die Erweiterung ist eine Datenbankverbindung für die Kontexterstellung erforderlich. Diese wird von der MCP Toolbox unterstützt und in der Konfigurationsdatei „tools.yaml“ definiert.
In der Datei tools.yaml werden die Datenbankquelle und die Tools angegeben, die zum Abrufen von Schemas oder zum Ausführen von SQL erforderlich sind. Die Erweiterung enthält vorinstallierte Agent-Skills, die Ihnen beim Generieren der Konfiguration helfen.
Gemini CLI starten:
geminiPrüfen Sie, ob die Skills aktiv sind, indem Sie in der Gemini CLI Folgendes eingeben:
/skillsGeben Sie einen Prompt wie
help me setup the database connectionein. Der Skill führt Sie durch das Erstellen der Dateitools.yamlin Ihrem aktuellen Arbeitsverzeichnis.Führen Sie den folgenden Befehl in der Gemini CLI aus, um die
tools.yaml-Konfiguration auf den Toolbox-MCP-Server anzuwenden./mcp reload
Weitere Informationen zum manuellen Konfigurieren der tools.yaml-Datei finden Sie unter MCP Toolbox-Konfiguration.
Kontext generieren
Die zuvor installierten Erweiterungen ermöglichen es der Gemini CLI, Sie beim Erstellen von Kontext in Form einer JSON-Datei zu unterstützen.
Zielgerichtete Vorlagen generieren
Wenn Sie ein bestimmtes Abfragepaar als Abfragevorlage in den Kontextsatz aufnehmen möchten, können Sie den Befehl /generate_targeted_templates verwenden. Weitere Informationen zu Vorlagen finden Sie unter Kontextsets.
So fügen Sie dem Kontextset eine Abfragevorlage hinzu:
Starten Sie die Gemini CLI im selben Verzeichnis:
geminiFühren Sie die Einrichtung der Gemini CLI-Authentifizierung durch.
Prüfen Sie, ob die MCP-Toolbox und die Erweiterung zur Datenbankanreicherung einsatzbereit sind:
/mcp reloadFühren Sie den Befehl
/generate_targeted_templatesaus:/generate_targeted_templatesGeben Sie die Abfrage in natürlicher Sprache ein, die Sie der Abfragevorlage hinzufügen möchten.
Geben Sie die entsprechende SQL-Abfrage in die Abfragevorlage ein.
Sehen Sie sich die generierte Abfragevorlage an. Sie können die Abfragevorlage entweder als Kontextset-Datei speichern oder an eine vorhandene Kontextset-Datei anhängen.
Die Datei mit dem Kontextset, ähnlich wie my-cluster-psc-primary_postgres_templates_20251104111122.json, wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Kontextset-Datei und zur Abfragevorlage finden Sie unter Kontextsets.
Zielgerichtete Facetten generieren
Wenn Sie ein bestimmtes Abfragepaar als Attribut zur Kontextset-Datei hinzufügen möchten, können Sie den Befehl /generate_targeted_facets verwenden.
So fügen Sie der Kontextset-Datei ein Attribut hinzu:
Führen Sie den Befehl
/generate_targeted_facetsaus:/generate_targeted_facetsGeben Sie die Abfrage in natürlicher Sprache ein, die Sie der Abfragevorlage hinzufügen möchten.
Geben Sie die entsprechende SQL-Abfrage in die Abfragevorlage ein.
Sehen Sie sich die generierte Facette an. Sie können die Facette entweder in einer Kontextset-Datei speichern oder an eine vorhandene Kontextset-Datei anhängen.
Die Datei mit dem Kontextset, ähnlich wie my-cluster-psc-primary_postgres_templates_20251104111122.json, wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Kontextset-Datei und zu Facetten finden Sie unter Kontextsets.
Suchanfragen für Werte generieren
Wenn Sie Wertesuchen generieren möchten, in denen angegeben wird, wie das System nach bestimmten Werten innerhalb eines Konzepttyps suchen und diese abgleichen soll, können Sie den Befehl /generate_targeted_value_searches verwenden.
Führen Sie die Schritte unter Datenbank für die Wertsuche vorbereiten aus.
So erstellen Sie einen Wertindex:
Führen Sie den Befehl
/generate_targeted_value_searchesaus:/generate_targeted_value_searches
- Geben Sie
mysqlein, um MySQL als Datenbankmodul auszuwählen. Wählen Sie „Standard“ aus, um MySQL 8.0 auszuwählen.
Geben Sie die Konfiguration für die Wertsuche so ein:
Table name: TABLE_NAME Column name: COLUMN_NAME Concept type: CONCEPT_TYPE Match function: MATCH_FUNCTION Description: DESCRIPTIONErsetzen Sie Folgendes:
TABLE_NAME: Die Tabelle, in der die Spalte mit dem Konzepttyp vorhanden ist.COLUMN_NAME: Der Spaltenname, der dem Konzepttyp zugeordnet ist.CONCEPT_TYPE: Der Konzepttyp, den Sie definieren möchten, z. B.City name.MATCH_FUNCTION: Die Abgleichsfunktion, die für die Wertsuche verwendet werden soll. Sie können eine der folgenden Funktionen verwenden:EXACT_STRING_MATCH: Für den exakten Abgleich von zwei String-Werten. Am besten für eindeutige IDs, Codes und Primärschlüssel geeignet.TRIGRAM_STRING_MATCH: Für den unscharfen Abgleich, bei dem die normalisierte Trigramm-Distanz berechnet wird. Am besten für Nutzersuchen und Namenskorrekturen geeignet. Damit SieTRIGRAM_STRING_MATCHverwenden können, müssen Sie Ihre Datenbank vorbereiten, um die N-Gramm-Indexierung zu unterstützen.
SEMANTIC_SIMILARITY_MATCH: Für die semantische Suche nach Stringwerten. Optimal für sprachübergreifende Suchen und Synonymsuche. Eine Liste der unterstützten Modelle finden Sie unter Unterstützte Google-Modelle. Wenn SieSEMANTIC_SIMILARITY_MATCHverwenden möchten, müssen Sie Ihre Datenbank vorbereiten, um Vektoreinbettungen zu unterstützen.
DESCRIPTION: (Optional) Die Beschreibung der Wertsuchanfrage.
Fügen Sie bei Bedarf weitere Wertesuchen hinzu. Wenn Sie keine zusätzlichen Wertindexe hinzufügen, wird die vorlagenbasierte SQL-Generierung mit dem nächsten Schritt fortgesetzt.
Sehen Sie sich die generierten Wertesuchen an. Sie können den Kontextsatz entweder als Kontextsatzdatei speichern oder an eine vorhandene Kontextsatzdatei anhängen.
Die Datei mit dem Kontextset, ähnlich wie my-cluster-psc-primary_postgres_templates_20251104111122.json, wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zum Wertindex finden Sie unter Kontextsets – Übersicht.
Optional: Bulk-Vorlagen generieren
Wenn Sie die Kontextset-Datei automatisch auf Grundlage Ihres Datenbankschemas und Ihrer Daten generieren möchten, können Sie den Befehl /generate_bulk_templates verwenden.
So generieren Sie Bulk-Vorlagen automatisch:
Führen Sie den Befehl
/generate_bulk_templatesaus:/generate_bulk_templatesBei der vorlagenbasierten SQL-Generierung werden Sie anhand Ihres Datenbankschemas durch eine Reihe von Fragen geführt, in denen Sie die Datenbankinformationen bestätigen und Berechtigungen für den Zugriff auf das Datenbankschema erteilen.
Sehen Sie sich die generierte Abfragevorlage an. Sie können die Vorlage entweder genehmigen oder ein Frage-Antwort-Paar aktualisieren, das Sie überarbeiten möchten.
Geben Sie die Abfrage in natürlicher Sprache ein, die Sie der Abfragevorlage hinzufügen möchten.
Geben Sie die entsprechende SQL-Abfrage in die Abfragevorlage ein.
Sehen Sie sich die generierte Abfragevorlage an. Sie können die Abfragevorlage entweder als Kontextset-Datei speichern oder an eine vorhandene Kontextdatei anhängen.
Nachdem Sie die Abfragevorlage genehmigt haben, können Sie entweder eine neue Vorlagendatei erstellen oder die Abfragepaare an eine vorhandene Vorlagendatei anhängen. Die Abfragevorlage wird als JSON-Datei in Ihrem lokalen Verzeichnis gespeichert.
Die Datei mit dem Kontextset, ähnlich wie my-cluster-psc-primary_postgres_templates_20251104111122.json, wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Datei mit Kontextsets finden Sie unter Übersicht über Kontextsets.
Nächste Schritte
- Weitere Informationen zu Kontextsets
- Kontextsets in Cloud SQL Studio erstellen oder löschen
- Weitere Informationen zum Testen eines Kontextsets