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. Außerdem verwenden Sie die Erweiterung zur Anreicherung des DB-Kontexts.
Weitere Informationen zu Kontextmengen finden Sie in der Übersicht zu Kontextmengen.So erstellen Sie eine Kontextdatei für einen Agent:
- Umgebung vorbereiten
- Gezielte Vorlagen generieren
- Gezielte 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
- Prüfen Sie, ob 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 in Ihrer Instanz eine Datenbank, 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 auf Instanzebene einen IAM-Nutzer oder ein Dienstkonto 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 gewähren.
GRANT SELECT PRIVILEGES ON * TO "IAM_USERNAME";.
Weitere Informationen finden Sie unter Datenbankberechtigungen für einen einzelnen IAM-Nutzer oder ein einzelnes Dienstkonto gewähren.
Berechtigung executesql 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
Datenbank für Wertesuchen vorbereiten
Wenn Sie semantische und Trigramm-Wertesuchen verwenden möchten, müssen Sie Ihre Cloud SQL for MySQL-Instanz so konfigurieren, dass sie Vektoreinbettungen und die N‑Gramm-Indexierung unterstützt.
Damit die Cloud SQL for MySQL-Instanz semantische Wertesuchen durchfü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-integrationErstellen Sie eine Vektorspalte zum Speichern von Einbettungen für Städte.
ALTER TABLE `airports` ADD COLUMN `city_embedding` VECTOR(768);Generieren und speichern Sie Vektoreinbettungen für Städtenamen.
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 Trigramm-Wertesuchen zu aktivieren.
Aktivieren Sie das Flag
ngram_token_size.gcloud sql instances patch INSTANCE_NAME --database-flags=ngram_token_size=3Erstellen Sie einen FULLTEXT-Index für den Flughafennamen, um Trigramme zu vergleichen.
CREATE FULLTEXT INDEX `idx_ngram_airports_name` ON `airports`(`name`) WITH PARSER ngram;
Umgebung vorbereiten
Sie können Kontextmengendateien in jeder lokalen Entwicklungsumgebung oder IDE erstellen. Führen Sie die folgenden Schritte aus, um die Umgebung vorzubereiten:
- Gemini CLI installieren
- Erweiterung zur Anreicherung des DB-Kontexts installieren
- Datenbankverbindung einrichten
Gemini CLI installieren
Informationen zum Installieren der Gemini CLI finden Sie unter Erste Schritte mit der Gemini CLI.
MCP-Erweiterung zur Anreicherung des DB-Kontexts installieren
Die Erweiterung zur Anreicherung des DB-Kontexts bietet einen geführten, interaktiven Workflow zum Generieren von strukturiertem NL2SQL-Kontext aus Ihren Datenbankschemas.
Weitere Informationen zum Installieren der Erweiterung zur Anreicherung des DB-Kontexts finden Sie unter Erweiterung zur Anreicherung des DB-Kontexts.
So installieren Sie die Erweiterung zur Anreicherung des DB-Kontexts:
Installieren Sie die Gemini CLI-Erweiterung zur Anreicherung des DB-Kontexts:
gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichmentOptional: Aktualisieren Sie die Erweiterung zur Anreicherung des DB-Kontexts.
Führen Sie den folgenden Befehl aus, um die installierte Version der Erweiterung zu prüfen:
gemini extensions listDie Version muss
0.4.2oder höher sein. Führen Sie den folgenden Befehl aus, um die Erweiterung zur Anreicherung des DB-Kontexts zu aktualisieren:gemini extensions update mcp-db-context-enrichmentFühren Sie den folgenden Befehl aus, um die Erweiterung zur Anreicherung des DB-Kontexts zu aktualisieren oder den
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 eine Datenbankverbindung für die Kontextgenerierung 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 Anmeldedaten 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 zur Anreicherung des DB-Kontexts: verwendet Anmeldedaten zur Authentifizierung und zum Aufrufen der Gemini API.
Führen Sie die folgenden Befehle in Ihrem Terminal aus, um sich zu authentifizieren:
gcloud auth application-default loginDatei tools.yaml konfigurieren
Für die Erweiterung ist eine Datenbankverbindung für die Kontextgenerierung erforderlich, die von der MCP-Toolbox unterstützt und in der Konfigurationsdatei „tools.yaml“ definiert wird.
In der Datei tools.yaml werden Ihre 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, mit denen Sie die Konfiguration generieren können.
Starten Sie die Gemini CLI:
geminiPrüfen Sie, ob die Skills aktiv sind, indem Sie Folgendes in die Gemini CLI eingeben:
/skillsGeben Sie eine Eingabeaufforderung wie
help me setup the database connectionein. Der Skill führt Sie durch die Erstellung der Dateitools.yamlin Ihrem aktuellen Arbeitsverzeichnis.Führen Sie den folgenden Befehl in der Gemini CLI aus, um die Konfiguration
tools.yamlauf den Toolbox-MCP-Server anzuwenden:/mcp reload
Weitere Informationen zum manuellen Konfigurieren der Datei tools.yaml finden Sie unter MCP-Toolbox-Konfiguration.
Kontext generieren
Mit den zuvor installierten Erweiterungen kann die Gemini CLI Sie beim Erstellen von Kontext in Form einer JSON-Datei unterstützen.
Gezielte Vorlagen generieren
Wenn Sie ein bestimmtes Abfragepaar als Abfragevorlage zur Kontextmenge hinzufügen möchten, können Sie den Befehl /generate_targeted_templates verwenden. Weitere Informationen zu Vorlagen finden Sie in der Übersicht zu Kontextmengen.
So fügen Sie der Kontextmenge eine Abfragevorlage hinzu:
Starten Sie die Gemini CLI im selben Verzeichnis:
geminiFühren Sie die Einrichtung der Gemini CLI-Authentifizierung aus.
Prüfen Sie, ob die MCP-Toolbox und die Erweiterung zur Anreicherung der Datenbank 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 für die Abfragevorlage ein.
Prüfen Sie die generierte Abfragevorlage. Sie können die Abfragevorlage entweder als Kontextmengendatei speichern oder an eine vorhandene Kontextmengendatei anhängen.
Die Kontextmengendatei ähnlich my-cluster-psc-primary_postgres_templates_20251104111122.json wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Kontextmengendatei und zur Abfragevorlage finden Sie in der Übersicht zu Kontextmengen.
Gezielte Facetten generieren
Wenn Sie ein bestimmtes Abfragepaar als Facette zur Kontextmengendatei hinzufügen möchten, können Sie den Befehl /generate_targeted_facets verwenden.
So fügen Sie der Kontextmengendatei eine Facette 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 für die Abfragevorlage ein.
Prüfen Sie die generierte Facette. Sie können die Facette entweder in einer Kontextmengendatei speichern oder an eine vorhandene Kontextmengendatei anhängen.
Die Kontextmengendatei ähnlich my-cluster-psc-primary_postgres_templates_20251104111122.json wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Kontextmengendatei und zu Facetten finden Sie in der Übersicht zu Kontextmengen.
Abfragen für die Wertesuche generieren
Wenn Sie Wertesuchen generieren möchten, die angeben, 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 Wertesuchen vorbereiten aus.
So generieren Sie einen Werteindex:
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 „default“ aus, um MySQL 8.0 auszuwählen.
Geben Sie die Konfiguration für die Wertesuche 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 mit dem Konzepttyp verknüpft ist.CONCEPT_TYPE: Der Konzepttyp, den Sie definieren möchten, z. B.City name.MATCH_FUNCTION: Die Abgleichsfunktion, die für die Wertesuche verwendet werden soll. Sie können eine der folgenden Funktionen verwenden:EXACT_STRING_MATCH: Für die genaue Übereinstimmung von zwei Stringwerten. Am besten für eindeutige IDs, Codes und Primärschlüssel.TRIGRAM_STRING_MATCH: Für Fuzzy-Matching, bei dem der normalisierte Trigramm-Abstand berechnet wird. Am besten für Nutzersuchen und Namenskorrekturen. Wenn SieTRIGRAM_STRING_MATCHverwenden möchten, müssen Sie Ihre Datenbank für die N‑Gramm-Indexierung vorbereiten.
SEMANTIC_SIMILARITY_MATCH: Für die semantische Suche nach Stringwerten. Am besten für sprachübergreifende Suchen und Suchen nach Synonymen. Eine Liste der unterstützten Modelle finden Sie unter Unterstützte Google Modelle. Wenn SieSEMANTIC_SIMILARITY_MATCHverwenden möchten, müssen Sie Ihre Datenbank für Vektoreinbettungen vorbereiten.
DESCRIPTION: (Optional) Die Beschreibung der Wertesuchanfrage.
Fügen Sie bei Bedarf weitere Wertesuchen hinzu. Wenn Sie keine zusätzlichen Werteindizes hinzufügen, wird mit der vorlagenbasierten SQL-Generierung der nächste Schritt ausgeführt.
Prüfen Sie die generierten Wertesuchen. Sie können die Kontextmenge entweder als Kontextmengendatei speichern oder an eine vorhandene Kontextmengendatei anhängen.
Die Kontextmengendatei ähnlich my-cluster-psc-primary_postgres_templates_20251104111122.json wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zum Werteindex finden Sie in der Übersicht zu Kontextmengen.
Optional: Bulk-Vorlagen generieren
Wenn Sie die Kontextmengendatei automatisch basierend auf Ihrem Datenbankschema und Ihren 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_templatesBasierend auf Ihrem Datenbankschema führt Sie die vorlagenbasierte SQL-Generierung durch eine Reihe von Fragen zur Überprüfung der Datenbankinformationen und zum Gewähren von Berechtigungen für den Zugriff auf das Datenbankschema.
Prüfen Sie die generierte Abfragevorlage. Sie können die Vorlage entweder genehmigen oder ein Abfragepaar 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 für die Abfragevorlage ein.
Prüfen Sie die generierte Abfragevorlage. Sie können die Abfragevorlage entweder als Kontextmengendatei speichern oder an eine vorhandene Kontextmengendatei 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 Kontextmengendatei ähnlich my-cluster-psc-primary_postgres_templates_20251104111122.json wird in dem Verzeichnis gespeichert, in dem Sie die Befehle ausgeführt haben.
Weitere Informationen zur Kontextmengendatei finden Sie in der Übersicht zu Kontextmengen.
Nächste Schritte
- Weitere Informationen zu Kontextmengen.
- Informationen zum Erstellen oder Löschen einer Kontextmenge in Cloud SQL Studio
- Informationen zum Testen einer Kontextmenge