Ce document explique comment utiliser Gemini CLI et la boîte à outils MCP pour créer des fichiers de contexte d'agent. Ces fichiers contiennent des modèles, des facettes et des recherches de valeurs qui fournissent un contexte pour générer des requêtes SQL à partir du langage naturel. Vous allez également utiliser l'extension d'enrichissement du contexte de base de données.
Pour en savoir plus sur les ensembles de contexte, consultez Présentation des ensembles de contexte.Pour créer un fichier de contexte d'agent, procédez comme suit :
- Préparer votre environnement
- Générer des modèles ciblés
- Générer des facettes ciblées
- Générer des recherches de valeurs ciblées
- Facultatif. Générer des modèles groupés
Avant de commencer
Avant de créer un agent, remplissez les conditions préalables suivantes.
Activer les services requis
Activez les services suivants pour votre projet :Préparer une instance Cloud SQL
Assurez-vous d'avoir accès à une instance Cloud SQL existante ou créez-en une. Pour en savoir plus, consultez Créer des instances pour Cloud SQL.Ce tutoriel nécessite que vous disposiez d'une base de données dans votre instance Cloud SQL. Pour en savoir plus, consultez Créer une base de données sur l'instance Cloud SQL.
Rôles et autorisations nécessaires
- Ajoutez un compte d'utilisateur ou de service IAM à l'instance. Pour en savoir plus, consultez Gérer les utilisateurs avec l'authentification IAM pour les bases de données Cloud SQL.
- Accordez les rôles
cloudsql.studioUser,cloudsql.instanceUseretgeminidataanalytics.queryDataUserà l'utilisateur IAM au niveau du projet. Pour en savoir plus, consultez Ajouter une association de stratégie IAM pour un projet. - Vous devez également accorder des droits de lecture seule sur la base de données à un utilisateur ou à un compte de service IAM en vous connectant en tant qu'utilisateur disposant de droits de super-utilisateur, comme l'utilisateur
postgres.GRANT SELECT ON ALL TABLES IN SCHEMA public TO USER_NAME;
Remplacez USER_NAME par l'adresse e-mail de l'utilisateur. Vous devez placer l'adresse e-mail entre guillemets, car elle contient des caractères spéciaux (@ et .).
Pour en savoir plus, consultez Accorder des droits sur une base de données à un utilisateur ou à un compte de service IAM individuel.
Accorder l'autorisation executesql à l'instance Cloud SQL
Pour accorder l'autorisation executesql à l'instance Cloud SQL et activer l'API Cloud SQL Data, exécutez la commande suivante :
gcloud config set project PROJECT_ID gcloud components update gcloud beta sql instances patch INSTANCE_ID --data-api-access=ALLOW_DATA_API
PROJECT_ID: ID de votre projet Google Cloud .INSTANCE_ID: ID de votre instance Cloud SQL.
Préparer votre environnement
Vous pouvez créer des fichiers de contexte d'agent à partir de n'importe quel environnement de développement local ou IDE. Pour préparer l'environnement, procédez comme suit :
- Installer Gemini CLI
- Installer l'extension d'enrichissement du contexte de la base de données
- Configurer la connexion à la base de données
Installer Gemini CLI
Pour installer la CLI Gemini, consultez Premiers pas avec la CLI Gemini.
Installer l'extension MCP d'enrichissement du contexte de la base de données
L'extension d'enrichissement du contexte de la base de données fournit un workflow interactif et guidé pour générer un contexte NL2SQL structuré à partir de vos schémas de base de données.
Pour en savoir plus sur l'installation de l'extension d'enrichissement du contexte de base de données, consultez Extension d'enrichissement du contexte de base de données.
Pour installer l'extension d'enrichissement du contexte de base de données, procédez comme suit :
Installez l'extension Gemini CLI de MCP Toolbox :
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox(Facultatif) Mettez à jour l'extension d'enrichissement du contexte de la base de données.
Pour vérifier la version installée de l'extension, exécutez la commande suivante :
gemini extensions listAssurez-vous que la version est
0.4.2ou ultérieure. Pour mettre à jour l'extension d'enrichissement du contexte de la base de données, exécutez la commande suivante :gemini extensions update mcp-db-context-enrichmentPour mettre à jour l'extension d'enrichissement du contexte de la base de données ou remplacer
GEMINI_API_KEY, exécutez la commande suivante :gemini extensions config mcp-db-context-enrichment GEMINI_API_KEYRemplacez GEMINI_API_KEY par votre clé API Gemini.
Configurer la connexion à la base de données
L'extension nécessite la connexion à la base de données pour la génération de contexte, l'extraction de schémas et l'exécution d'instructions SQL. Pour permettre à l'extension d'interagir avec votre base de données, vous devez configurer les identifiants d'authentification et définir vos sources et outils de base de données.
Configurer les identifiants par défaut de l'application
Vous devez configurer les identifiants par défaut de l'application (ADC) pour fournir les identifiants utilisateur à deux composants principaux :
- Serveur MCP Toolbox : utilise les identifiants pour se connecter à votre base de données, récupérer les schémas et exécuter le code SQL pour la validation.
- Extension d'enrichissement du contexte de base de données : utilise des identifiants pour s'authentifier et appeler l'API Gemini.
Exécutez les commandes suivantes dans votre terminal pour vous authentifier :
gcloud auth application-default loginConfigurer le fichier tools.yaml
L'extension nécessite une connexion à une base de données pour générer du contexte. Cette connexion est prise en charge par MCP Toolbox et définie dans le fichier de configuration tools.yaml.
Le fichier tools.yaml spécifie votre source de données et les outils nécessaires pour récupérer les schémas ou exécuter le code SQL. L'extension est fournie avec des compétences d'agent préinstallées pour vous aider à générer la configuration.
Lancez Gemini CLI :
geminiVérifiez que les compétences sont actives en saisissant la commande suivante dans Gemini CLI :
/skillsSaisissez une requête, telle que
help me setup the database connection. La compétence vous guide dans la création du fichiertools.yamldans votre répertoire de travail actuel.Exécutez la commande suivante dans Gemini CLI pour appliquer la configuration
tools.yamlau serveur MCP Toolbox./mcp reload
Pour en savoir plus sur la configuration manuelle du fichier tools.yaml, consultez Configuration de MCP Toolbox.
Générer le contexte
Les extensions installées précédemment permettent à Gemini CLI de vous aider à créer du contexte sous la forme d'un fichier JSON.
Générer des modèles ciblés
Si vous souhaitez ajouter une paire de requêtes spécifique en tant que modèle de requête à l'ensemble de contexte, vous pouvez utiliser la commande /generate_targeted_templates. Pour en savoir plus sur les modèles, consultez Présentation des ensembles de contexte.
Pour ajouter un modèle de requête à l'ensemble de contexte, procédez comme suit :
Dans le même répertoire, démarrez Gemini CLI :
geminiSuivez la procédure de configuration de l'authentification Gemini CLI.
Vérifiez que la boîte à outils MCP et l'extension d'enrichissement de la base de données sont prêtes à l'emploi :
/mcp reloadExécutez la commande
/generate_targeted_templates:/generate_targeted_templatesSaisissez la requête en langage naturel que vous souhaitez ajouter au modèle de requête.
Saisissez la requête SQL correspondante dans le modèle de requête.
Examinez le modèle de requête généré. Vous pouvez enregistrer le modèle de requête en tant que fichier d'ensemble de contexte ou l'ajouter à un fichier d'ensemble de contexte existant.
Le fichier de définition du contexte, semblable à my-cluster-psc-primary_postgres_templates_20251104111122.json, est enregistré dans le répertoire où vous avez exécuté les commandes.
Pour en savoir plus sur le fichier d'ensemble de contexte et le modèle de requête, consultez Présentation des ensembles de contexte.
Générer des facettes ciblées
Si vous souhaitez ajouter une paire de requêtes spécifique en tant que facette au fichier de l'ensemble de contexte, vous pouvez utiliser la commande /generate_targeted_facets.
Pour ajouter un aspect au fichier de l'ensemble de contexte, procédez comme suit :
Exécutez la commande
/generate_targeted_facets:/generate_targeted_facetsSaisissez la requête en langage naturel que vous souhaitez ajouter au modèle de requête.
Saisissez la requête SQL correspondante dans le modèle de requête.
Examinez le facette générée. Vous pouvez enregistrer le facette dans un fichier d'ensemble de contextes ou l'ajouter à un fichier d'ensemble de contextes existant.
Le fichier de définition du contexte, semblable à my-cluster-psc-primary_postgres_templates_20251104111122.json, est enregistré dans le répertoire où vous avez exécuté les commandes.
Pour en savoir plus sur le fichier de définition du contexte et les facettes, consultez Présentation des ensembles de contexte.
Générer des requêtes de recherche de valeurs
Si vous souhaitez générer des recherches de valeurs qui spécifient comment le système doit rechercher et faire correspondre des valeurs spécifiques dans un type de concept, vous pouvez utiliser la commande /generate_targeted_value_searches.
Pour générer un index de valeurs, procédez comme suit :
Exécutez la commande
/generate_targeted_value_searches:/generate_targeted_value_searches
Saisissez
postgresqlpour sélectionner AlloyDB comme moteur de base de données.Saisissez la version de PostgreSQL que vous souhaitez utiliser. Sélectionnez
defaultpour sélectionner PostgreSQL 16.
Saisissez la configuration de recherche de valeurs comme suit :
Table name: TABLE_NAME Column name: COLUMN_NAME Concept type: CONCEPT_TYPE Match function: MATCH_FUNCTION Description: DESCRIPTIONRemplacez les éléments suivants :
TABLE_NAME: table dans laquelle se trouve la colonne associée au type de concept.COLUMN_NAME: nom de la colonne associée au type de concept.CONCEPT_TYPE: type de concept que vous souhaitez définir (par exemple,City name).MATCH_FUNCTION: fonction de correspondance à utiliser pour la recherche de valeurs. Vous pouvez utiliser l'une des fonctions suivantes :EXACT_STRING_MATCH: pour une correspondance exacte entre deux valeurs de chaîne. Idéal pour les ID uniques, les codes et les clés primaires.TRIGRAM_STRING_MATCH: pour la correspondance approximative qui calcule la distance trigramme normalisée. Idéal pour les recherches d'utilisateurs et la correction de noms.
SEMANTIC_SIMILARITY_MATCH: pour la recherche sémantique sur les valeurs de chaîne. Idéal pour les recherches multilingues et de synonymes. Pour obtenir la liste des modèles Google compatibles, consultez Modèles Google compatibles. Pour utiliserSEMANTIC_SIMILARITY_MATCH, vous devez activer les extensionsvectoretgoogle_ml_integration.
DESCRIPTION: (facultatif) description de la requête de recherche de valeurs.
Ajoutez d'autres recherches de valeurs si nécessaire. Si vous ne souhaitez pas ajouter d'autres index de valeurs, la génération de code SQL basée sur le modèle passe à l'étape suivante.
Examinez les recherches de valeurs générées. Vous pouvez enregistrer l'ensemble de contexte dans un fichier ou l'ajouter à un fichier existant.
Le fichier de définition du contexte, semblable à my-cluster-psc-primary_postgres_templates_20251104111122.json, est enregistré dans le répertoire où vous avez exécuté les commandes.
Pour en savoir plus sur l'index des valeurs, consultez Présentation des ensembles de contexte.
Facultatif : Générer des modèles groupés
Si vous souhaitez générer automatiquement le fichier de contexte en fonction du schéma et des données de votre base de données, vous pouvez utiliser la commande /generate_bulk_templates.
Pour générer automatiquement des modèles groupés, procédez comme suit :
Exécutez la commande
/generate_bulk_templates:/generate_bulk_templatesEn fonction du schéma de votre base de données, la génération de code SQL basée sur des modèles vous guide à travers une série de questions liées à la vérification des informations de la base de données et à l'octroi d'autorisations d'accès au schéma de la base de données.
Examinez le modèle de requête généré. Vous pouvez approuver le modèle ou modifier une paire de requêtes que vous souhaitez réviser.
Saisissez la requête en langage naturel que vous souhaitez ajouter au modèle de requête.
Saisissez la requête SQL correspondante dans le modèle de requête.
Examinez le modèle de requête généré. Vous pouvez enregistrer le modèle de requête en tant que fichier d'ensemble de contexte ou l'ajouter à un fichier de contexte existant.
Une fois le modèle de requête approuvé, vous pouvez créer un fichier de modèle ou ajouter les paires de requêtes à un fichier de modèle existant. Le modèle de requête est enregistré sous forme de fichier JSON dans votre répertoire local.
Le fichier de définition du contexte, semblable à my-cluster-psc-primary_postgres_templates_20251104111122.json, est enregistré dans le répertoire où vous avez exécuté les commandes.
Pour en savoir plus sur le fichier de définition du contexte, consultez Présentation des ensembles de contexte.
Étapes suivantes
- En savoir plus sur les ensembles de contexte
- Découvrez comment créer ou supprimer un ensemble de contexte dans Cloud SQL Studio.
- Découvrez comment tester un ensemble de contexte.