Écrire du code SQL avec l'assistance de Gemini

Ce document explique comment obtenir une assistance optimisée par l'IA pour générer des requêtes SQL à l'aide de requêtes en langage naturel dans Bigtable.

Découvrez comment et quand Gemini pour Google Cloud utilise vos données.

Ce document est destiné aux administrateurs de bases de données et aux ingénieurs de données qui connaissent bien Bigtable, SQL et l'analyse de données. Si vous ne connaissez pas Bigtable, consultez le guide de démarrage rapide : créer une instance Bigtable à l'aide de la console Google Cloud .

Limites

  • Vous ne pouvez pas utiliser Gemini dans Bigtable pour expliquer les requêtes SQL en langage naturel.
  • Il est possible que Gemini dans Bigtable génère des requêtes qui ne sont pas valides dans GoogleSQL pour Bigtable ou qui utilisent les instructions ou la syntaxe non compatibles suivantes :

    • Instructions du langage de manipulation de données (LMD) autres que SELECT (par exemple, INSERT, UPDATE ou DELETE).
    • Instructions du langage de définition de données (LDD), par exemple CREATE, ALTER ou DROP.
    • Instructions de contrôle des accès aux données.
    • Syntaxe des requêtes pour les sous-requêtes, JOIN, UNION et les CTE.

    Pour en savoir plus, consultez la présentation de GoogleSQL pour Bigtable.

Avant de commencer

  1. Activez l'API Gemini for Google Cloud dans un projet Google Cloud .

  2. Pour effectuer les tâches décrites dans ce document, assurez-vous de disposer des autorisations Identity and Access Management (IAM) nécessaires.

  3. Facultatif : Si vous souhaitez suivre les exemples de ce document, créez et remplissez test-table comme décrit dans Créer une table de test.

Rôles requis

Pour obtenir les autorisations nécessaires pour effectuer les tâches de ce document, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur Gemini pour Google Cloud (roles/cloudaicompanion.user) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Générer des requêtes SQL à l'aide de requêtes en langage naturel

Vous pouvez envoyer des commentaires (ou des requêtes) Gemini en langage naturel pour générer des requêtes basées sur votre schéma. Par exemple, vous pouvez inviter Gemini à générer du code SQL en réponse aux requêtes suivantes :

  • "Compte le nombre d'appareils qui disposent d'un forfait de données de 1 Go."
  • "Liste tous les téléphones qui étaient connectés au Wi-Fi le 1er mai 2019."
  • Quelles tablettes sont compatibles avec le forfait Internet de 10 Go ?

Pour générer du code SQL dans Bigtable avec Gemini, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Bigtable.

    Accéder à Bigtable

  2. Sélectionnez une instance dans la liste.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio.

  4. Ouvrez un nouvel onglet en cliquant sur , puis sélectionnez Éditeur.

  5. Cliquez sur Generate SQL (Générer SQL).

  6. Dans la boîte de dialogue Aide-moi à coder, saisissez votre requête, puis cliquez sur Générer.

    Par exemple, si vous saisissez la requête Count the number of devices that have a 1GB data plan., Gemini génère un code SQL semblable à celui-ci :

    SELECT
        count(*)
    FROM
        `test_table`
    WHERE
        cell_plan['data_plan_01gb'] = 'true'
    
  7. Examinez le code SQL généré et effectuez l'une des actions suivantes :

    • Pour exécuter le code SQL suggéré, cliquez sur Insérer, puis sur Exécuter.
    • Pour modifier le prompt, cliquez sur Modifier, puis sur Mettre à jour.
    • Pour modifier le code SQL suggéré, cliquez sur Insérer. Dans le générateur de requêtes, modifiez manuellement la requête, puis cliquez sur Exécuter.
  8. Facultatif : Pour continuer l'exemple test_table, si vous saisissez la requête Show all data for phones from May 2019., Gemini génère un code SQL semblable à celui-ci :

    SELECT
        *
    FROM
        `test_table`
    WHERE
        _key LIKE 'phone#%#201905%'
    

Étapes suivantes