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 utiliserez également l'extension d'enrichissement du contexte de la base de données.
Pour en savoir plus sur les ensembles de contexte, consultez la 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 en bloc
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 Spanner
- Assurez-vous qu'une instance Spanner est disponible. Pour en savoir plus, consultez la page Créer une instance.
- Assurez-vous de créer une base de données dans votre instance dans laquelle vous créerez les tables. Pour en savoir plus, consultez la page Créer une base de données sur l' instance Spanner.
Ce tutoriel nécessite que vous disposiez d'une base de données dans votre instance Spanner. Pour en savoir plus, consultez la page Créer une base de données.
Rôles et autorisations requis
- Ajoutez un compte d'utilisateur ou de service IAM au cluster. Pour en savoir plus, consultez la page Appliquer des rôles IAM.
- Attribuez les rôles
spanner.databaseReaderetgeminidataanalytics.queryDataUserà l'utilisateur IAM au niveau du projet. Pour en savoir plus, consultez la page Ajouter une liaison de stratégie IAM pour un projet. - Accordez des rôles et des autorisations à l'utilisateur IAM au niveau du projet pour les bases de données requises.
Préparer votre environnement
Vous pouvez créer des fichiers d'ensemble de contexte à 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 Gemini CLI, consultez la page Premiers pas avec Gemini CLI.
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 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 la base de données, consultez la page Extension d'enrichissement du contexte de la base de données.
Pour installer l'extension d'enrichissement du contexte de la base de données, procédez comme suit :
Installez l'extension Gemini CLI de la boîte à outils MCP :
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 la
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 afin d'extraire les schémas et d'exécuter des 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, Application Default Credentials) pour fournir des identifiants utilisateur à deux composants principaux :
- Serveur MCP de la boîte à outils : utilise des identifiants pour se connecter à votre base de données, extraire des schémas et exécuter des requêtes SQL à des fins de validation.
- Extension d'enrichissement du contexte de la 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 à la base de données pour la génération de contexte, qui est prise en charge par la boîte à outils MCP et définie dans le fichier de configuration tools.yaml.
Le fichier tools.yaml spécifie votre source de base de données et les outils requis pour extraire des schémas ou exécuter des requêtes SQL. L'extension est fournie avec des compétences d'agent préinstallées pour vous aider à générer la configuration.
Démarrez Gemini CLI :
geminiVérifiez que les compétences sont actives en saisissant dans Gemini CLI :
/skillsSaisissez un prompt tel que
help me setup the database connection(Aidez-moi à configurer la connexion à la base de données). 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 de la boîte à outils./mcp reload
Pour en savoir plus sur la configuration manuelle du fichier tools.yaml, consultez la page Configuration de la boîte à outils MCP.
Générer un contexte
Les extensions installées précédemment permettent à Gemini CLI de vous aider à créer un 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 la 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 :
geminiEffectuez la 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 à être utilisées :
/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 d'ensemble de 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 la 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 d'ensemble de contexte, vous pouvez utiliser la commande /generate_targeted_facets.
Pour ajouter une facette au fichier d'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 la facette générée. Vous pouvez enregistrer la facette dans un fichier d'ensemble de contexte ou l'ajouter à un fichier d'ensemble de contexte existant.
Le fichier d'ensemble de 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 les facettes, consultez la 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
spannerpour sélectionner Spanner comme moteur de base de données.
Saisissez la configuration de la 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 existe 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 exempleCity name(Nom de la ville).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 de deux valeurs de chaîne. Idéal pour les ID, les codes et les clés primaires uniques.TRIGRAM_STRING_MATCH: pour une correspondance approximative qui calcule la distance trigramme normalisée. Idéal pour les recherches utilisateur et la correction de noms.
DESCRIPTION: (facultatif) description de la requête de recherche de valeurs.
Ajoutez d'autres recherches de valeurs si nécessaire. Si vous n'ajoutez pas d'index de valeurs supplémentaires, la génération SQL basée sur un modèle passe à l'étape suivante.
Examinez les recherches de valeurs générées. Vous pouvez enregistrer l'ensemble de contexte en tant que fichier d'ensemble de contexte ou l'ajouter à un fichier d'ensemble de contexte existant.
Le fichier d'ensemble de 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 de valeurs, consultez la présentation des ensembles de contexte.
Facultatif : Générer des modèles en bloc
Si vous souhaitez générer automatiquement le fichier d'ensemble de contexte en fonction de votre schéma et de vos données de base de données, vous pouvez utiliser la commande /generate_bulk_templates.
Pour générer automatiquement des modèles en bloc, procédez comme suit :
Exécutez la commande
/generate_bulk_templates:/generate_bulk_templatesEn fonction de votre schéma de base de données, la génération SQL basée sur un modèle vous pose 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 mettre à jour une paire de requêtes que vous souhaitez modifier.
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é en tant que fichier JSON dans votre répertoire local.
Le fichier d'ensemble de 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, consultez la présentation des ensembles de contexte.
Étape suivante
- En savoir plus sur les ensembles de contexte.
- Découvrez comment créer ou supprimer un ensemble de contexte dans Spanner Studio.
- Découvrez comment tester un ensemble de contexte.