Rédiger des requêtes avec l'aide de Gemini

Vous pouvez utiliser Gemini pour Google Cloud, qui propose une assistance basée sur l'IA, pour vous aider à effectuer les opérations suivantes dans BigQuery :

  • Générer une requête SQL
  • Effectuer une requête SQL.
  • Expliquer une requête SQL
  • Générer du code Python
  • Finaliser le code Python

Gemini n'utilise pas vos requêtes ni ses réponses comme données pour entraîner ses modèles. Pour en savoir plus, consultez la section Utilisation de vos données par Gemini pour Google Cloud.

Gemini dans BigQuery n'accepte que des requêtes en anglais.

Ce document est destiné aux analystes de données, aux data scientists et aux développeurs de données qui travaillent avec des requêtes SQL et des notebooks Colab Enterprise dans BigQuery. Nous partons du principe que vous savez interroger des données dans l'espace de travail SQL BigQuery ou utiliser des notebooks pour analyser des données BigQuery à l'aide de Python.

Avant de commencer

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Assurez-vous que Gemini est configuré pour votre projet Google Cloud. Les boutons Gemini ne sont pas visibles tant que la configuration n'est pas terminée.
  3. Pour utiliser Gemini avec du code Python, activez BigQuery Studio pour la gestion des éléments.

Rôles requis

Pour obtenir les autorisations nécessaires pour écrire des requêtes avec l'assistance Gemini, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur de Cloud AI Companion (roles/cloudaicompanion.user) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour écrire des requêtes avec l'assistance Gemini. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour écrire des requêtes avec l'assistance Gemini :

  • cloudaicompanion.companions.generateCode
  • cloudaicompanion.entitlements.get

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

Générer une requête SQL

Pour générer une requête SQL basée sur le schéma de vos données, vous pouvez fournir à Gemini une instruction ou une question en langage naturel (également appelée requête). Même si vous débutez sans code, que vous avez une connaissance limitée du schéma de données ou que vous n'avez qu'une connaissance de base de la syntaxe GoogleSQL, Gemini peut générer une ou plusieurs instructions SQL qui peuvent vous aider à explorer vos données.

Utiliser l'outil "M'aider à coder"

L'outil M'aider à coder vous permet d'utiliser le langage naturel pour générer une requête SQL que vous pouvez ensuite exécuter dans BigQuery Studio.

Pour utiliser l'outil M'aider à coder, procédez comme suit :

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

    Accéder à BigQuery

  2. Dans l'éditeur de requête BigQuery Studio, cliquez sur Créer une requête SQL.

  3. Dans la barre d'outils, cliquez sur pen_sparkGemini et sélectionnez Outil de génération de code si ce n'est pas déjà fait.

    Bouton Gemini dans la barre d'outils BigQuery.

  4. À côté de l'éditeur de requête, cliquez sur pen_spark M'aider à coder.

    Bouton "M'aider à coder" dans l'éditeur de requête BigQuery.

  5. Dans l'outil M'aider à coder, saisissez une requête. Exemple :

     Using `bigquery-public-data.austin_bikeshare.bikeshare_trips`, show me the
     ten longest trip lengths by subscriber type.
    
  6. Cliquez sur Générer.

    Gemini génère une requête SQL semblable à celle-ci :

    SELECT subscriber_type,
      MAX(duration_minutes) AS longest_trip_duration
    FROM `bigquery-public-data.austin_bikeshare.bikeshare_trips`
    GROUP BY subscriber_type
    ORDER BY longest_trip_duration DESC
    LIMIT 10;
    
  7. Examinez la requête SQL générée et effectuez l'une des actions suivantes:

    • Pour accepter la requête SQL générée, cliquez sur Insérer pour insérer l'instruction dans l'éditeur de requête. Cliquez ensuite sur Exécuter pour exécuter la requête SQL suggérée.
    • Pour demander à Gemini de générer une nouvelle requête, cliquez sur Modifier. Une fois que vous avez modifié votre requête, cliquez sur Mettre à jour. Vous pouvez ensuite décider d'accepter la nouvelle instruction générée ou d'ignorer la suggestion.
    • Pour ignorer la suggestion, fermez la boîte de dialogue M'aider à coder.
  8. Pour demander à Gemini de générer une nouvelle requête à l'aide d'une source de table spécifique, cliquez sur Modifier les sources des tables, sélectionnez la nouvelle source de table, puis cliquez sur Appliquer. Vous pouvez accepter la nouvelle déclaration ou bien ignorer la suggestion.

Désactiver l'outil "M'aider à coder"

Pour savoir comment désactiver l'outil M'aider à coder, consultez la section Désactiver les fonctionnalités Gemini.

Requête permettant de générer des requêtes SQL

Pour générer du code SQL, saisissez le caractère # dans l'éditeur de requête BigQuery, suivi d'une instruction en langage naturel ou d'une question concernant les informations que vous souhaitez utiliser. Gemini examine vos requêtes récentes afin d'identifier un schéma de table susceptible d'être pertinent pour votre requête. Si vous savez quelle table que vous souhaitez utiliser, vous pouvez spécifier son nom en le plaçant entre des accents graves (`) dans votre requête.

Dans l'exemple suivant, vous générez une requête pour la table publique BigQuery bigquery-public-data.austin_bikeshare.bikeshare_trips.

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

    Accéder à BigQuery Studio

    Les étapes restantes apparaîtront automatiquement dans la console Google Cloud.

  2. Dans l'éditeur de requête SQL, cliquez sur  Créer une requête.

  3. Dans la barre d'outils, cliquez sur pen_spark Gemini et sélectionnez Génération automatique si ce n'est pas déjà fait.

    Bouton Gemini dans la barre d'outils BigQuery.

  4. Dans l'éditeur de requête, saisissez la requête suivante en langage naturel :

    # Using `bigquery-public-data.austin_bikeshare.bikeshare_trips`, calculate the
    # average trip length by subscriber type.
    
  5. Appuyez sur Entrée (Retour sous macOS).

    Gemini suggère une requête SQL semblable à celle-ci:

    SELECT
      subscriber_type,
      AVG(duration_minutes) AS average_trip_length
    FROM
      `bigquery-public-data.austin_bikeshare.bikeshare_trips`
    GROUP BY
      subscriber_type
    
  6. Pour accepter la suggestion, appuyez sur la touche Tabulation.

Afficher d'autres suggestions

Gemini peut suggérer plusieurs instructions SQL qui répondent à votre requête. Exemple :

  1. Dans l'éditeur de requête, saisissez la requête suivante en langage naturel, puis appuyez sur Entrée (Retour sous macOS) :

    # Write a query that creates a table in the dataset `1234` with a string column called "name"
    

    Gemini suggère une requête SQL.

  2. Pour voir s'il existe d'autres suggestions, maintenez le pointeur sur la requête SQL suggérée.

  3. Cliquez sur d'autres suggestions, puis effectuez l'une des opérations suivantes :

    • Pour accepter une suggestion, appuyez sur la touche Tabulation.
    • Pour accepter des mots spécifiques, appuyez sur Ctrl+Flèche vers la droite (Cmd+Flèche vers la droite sous macOS).
    • Pour ignorer les suggestions, appuyez sur Échap.

Conseils pour la génération SQL

Les conseils suivants peuvent améliorer les suggestions fournies par Gemini dans BigQuery :

  • Pour spécifier un schéma de données, indiquez le nom complet de la table, entouré d'accents graves (`), par exemple `PROJECT.DATASET.TABLE`.
  • Si les noms des colonnes ou leurs relations sémantiques sont peu clairs ou complexes, vous pouvez fournir du contexte dans la requête pour guider Gemini vers la réponse souhaitée. C'est ce qu'on appelle le prompt engineering. Par exemple, pour encourager une requête générée à référencer un nom de colonne, décrivez ce nom de colonne et sa pertinence par rapport à la réponse que vous souhaitez. Pour encourager une réponse faisant référence à des termes complexes tels que valeur vie ou marge brute, décrivez le concept et sa pertinence par rapport à vos données pour améliorer les résultats de la génération SQL.
  • Les requêtes peuvent s'étendre sur plusieurs lignes dans l'éditeur de requête, mais chaque ligne doit commencer par le caractère #.

Données Gemini et BigQuery

Gemini dans BigQuery peut accéder aux métadonnées des tables auxquelles vous êtes autorisé à accéder. Il peut s'agir de noms de tables, de noms de colonnes, de types de données et de descriptions de colonnes. Gemini dans BigQuery ne peut pas accéder aux données de vos tables, vues ou modèles. Pour en savoir plus sur la manière dont Gemini utilise vos données, consultez la page Comment Gemini pour Google Cloud utilise vos données.

Désactiver la génération de code SQL

Pour savoir comment désactiver la génération de code SQL dans BigQuery, consultez la section Désactiver les fonctionnalités Gemini.

Exécuter une requête SQL

La complétion SQL tente de fournir des recommandations contextuelles appropriées basées sur le contenu de l'éditeur de requête. Au fur et à mesure que vous tapez, Gemini peut vous suggérer des étapes logiques pertinentes pour le contexte de votre requête actuelle ou vous aider à effectuer une itération sur une requête.

Pour essayer la complétion SQL avec Gemini, procédez comme suit :

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

    Accéder à BigQuery Studio

    Les étapes restantes apparaîtront automatiquement dans la console Google Cloud.

  2. Dans la barre d'outils, cliquez sur pen_spark Gemini et sélectionnez Saisie semi-automatique si cette option n'est pas déjà sélectionnée.

    Bouton Gemini dans la barre d'outils BigQuery.

  3. Dans l'éditeur de requête, copiez ce qui suit :

    SELECT
      subscriber_type
      , EXTRACT(HOUR FROM start_time) AS hour_of_day
      , AVG(duration_minutes) AS avg_trip_length
    FROM
      `bigquery-public-data.austin_bikeshare.bikeshare_trips`
    

    Un message d'erreur indique que subscriber_type n'est ni regroupé, ni agrégé. Il n'est pas rare que vous ayez besoin d'aide pour obtenir une requête correcte.

  4. Appuyez sur Entrée (Retour sous macOS) ou sur Espace.

    Gemini suggère des filtres pour la requête pouvant se terminer par un texte semblable à celui-ci :

    GROUP BY
      subscriber_type, hour_of_day;
    
  5. Pour accepter la suggestion, appuyez sur la touche Tabulation ou maintenez le pointeur sur le texte suggéré et cliquez sur les autres suggestions. Pour ignorer une suggestion, appuyez sur Échap ou poursuivez votre saisie.

Expliquer une requête SQL

Vous pouvez demander à Gemini dans BigQuery d'expliquer une requête SQL en langage naturel. Cette explication peut vous aider à comprendre une requête dont la syntaxe, le schéma sous-jacent et le contexte commercial peuvent être difficiles à évaluer en raison de sa longueur ou de sa complexité.

Autorisations requises supplémentaires

En plus des autorisations requises pour écrire des requêtes avec Gemini, vous devez disposer de l'autorisation cloudaicompanion.companions.generateChat pour comprendre SQL. Cette autorisation est incluse dans le rôle IAM Utilisateur Cloud AI Companion (roles/cloudaicompanion.user).

Expliquer les requêtes SQL

Pour expliquer une requête SQL, procédez comme suit :

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

    Accéder à BigQuery Studio

    Les étapes restantes apparaîtront automatiquement dans la console Google Cloud.

  2. Dans la barre d'outils, cliquez sur pen_spark Gemini et sélectionnez Explication si ce n'est pas déjà fait.

    Bouton Gemini dans la barre d'outils BigQuery.

  3. Dans l'éditeur de requête, ouvrez ou collez la requête pour laquelle vous souhaitez obtenir des explications.

  4. Mettez en surbrillance la requête que vous souhaitez voir expliquée par Gemini, puis cliquez sur astrophotography_mode Expliquer cette requête.

    Icône "Expliquer cette requête" et texte mis en surbrillance dans la colonne de gauche de l'éditeur de requête BigQuery.

L'explication de la requête SQL apparaît dans le volet Gemini.

Générer du code Python

Vous pouvez interroger Gemini avec une instruction ou une question en langage naturel, afin de générer du code Python. Gemini répond avec une ou plusieurs suggestions de code Python.

Autorisations requises supplémentaires

En plus des autorisations requises pour écrire des requêtes avec Gemini, vous devez disposer de l'autorisation cloudaicompanion.instances.generateCode, qui permet de générer du code Python. Cette autorisation est incluse dans le rôle IAM Utilisateur de Cloud AI Companion (roles/cloudaicompanion.user).

Utiliser Gemini pour générer du code Python

Dans l'exemple suivant, vous générez du code pour l'ensemble de données public BigQuery bigquery-public-data.ml_datasets.penguins.

  1. Accédez à la page BigQuery Studio.

    Accéder à BigQuery

  2. Dans la barre d'outils, cliquez sur pen_spark Gemini et, dans la section Gemini dans les notebooks Python, sélectionnez Génération de code si ce n'est pas déjà fait.

    Bouton Gemini dans la barre d'outils BigQuery.

  3. Dans la barre d'onglets du volet de l'éditeur, cliquez sur la flèche vers le bas à côté du signe +, puis sur Créer un notebook Python :

    notebook-tab

    Le nouveau notebook s'ouvre. Il contient des cellules dans lesquelles figurent des exemples de requêtes sur l'ensemble de données public bigquery-public-data.ml_datasets.penguins.

  4. Dans la barre d'outils, cliquez sur + Code pour insérer une nouvelle cellule de code. Une nouvelle cellule de code s'affiche et indique : Start coding or generate with AI (Commencer à coder ou générer avec l'IA).

  5. Dans la nouvelle cellule de code, cliquez sur Générer.

  6. Dans l'éditeur de code, saisissez la requête suivante en langage naturel :

    Using bigquery magics query the `bigquery-public-data.ml_datasets.penguins` table
    
  7. Appuyez sur Entrée (Retour sous macOS).

    Gemini suggère un code Python semblable à celui-ci :

    %%bigquery
    SELECT *
    FROM `bigquery-public-data.ml_datasets.penguins`
    LIMIT 10
    

Complétion de code Python

La complétion de code Python tente de fournir des recommandations contextuelles appropriées basées sur le contenu de l'éditeur de requête. Au fur et à mesure que vous tapez, Gemini peut vous suggérer des étapes logiques pertinentes pour le contexte de votre code actuel ou vous aider à effectuer une itération sur votre code.

Autorisations requises supplémentaires

En plus des autorisations requises pour écrire des requêtes avec Gemini, vous devez disposer de l'autorisation cloudaicompanion.instances.completeCode, qui permet de générer du code Python. Cette autorisation est incluse dans le rôle IAM Utilisateur de Cloud AI Companion (roles/cloudaicompanion.user).

Utiliser Gemini pour compléter du code Python

Pour essayer la complétion de code Python avec Gemini, procédez comme suit :

  1. Accédez à la page BigQuery Studio.

    Accéder à BigQuery

  2. Dans la barre d'outils, cliquez sur pen_sparkGemini, puis sélectionnez Complétion de code dans la section Gemini dans le notebook Python si cette option n'est pas déjà sélectionnée.

    Bouton Gemini dans la barre d'outils BigQuery.

  3. Dans la barre d'onglets du volet de l'éditeur, cliquez sur la flèche vers le bas à côté du signe +, puis sur Créer un notebook Python :

    notebook-tab

    Le nouveau notebook s'ouvre. Il contient des cellules dans lesquelles figurent des exemples de requêtes sur l'ensemble de données public bigquery-public-data.ml_datasets.penguins.

  4. Dans l'éditeur de code, commencez à saisir du code Python. Gemini suggère du code intégré pendant que vous tapez du texte. Pour accepter la suggestion, appuyez sur la touche Tabulation.

Désactiver les fonctionnalités Gemini

Pour désactiver les fonctionnalités Gemini dans BigQuery, procédez comme suit :

  1. Dans la barre d'outils de l'éditeur de requête SQL, cliquez sur pen_spark Gemini.

  2. Effacez les fonctionnalités Gemini que vous souhaitez désactiver.

Envoyer des commentaires

Vous pouvez envoyer des commentaires sur les suggestions Gemini.

  • Pour envoyer des commentaires, cliquez sur pen_spark Gemini dans la barre d'outils, puis sélectionnez Envoyer des commentaires.

Contribuer à améliorer les suggestions

Vous pouvez contribuer à améliorer les suggestions de Gemini en partageant vos données de requête avec Google. Pour partager vos données de requête, procédez comme suit :

  1. Dans la console Google Cloud sur la page BigQuery Studio, dans la barre d'outils, cliquez surpen_spark Gemini.

  2. Sélectionnez Partager des données pour améliorer Gemini.

  3. Mettez à jour les paramètres d'utilisation des données dans la boîte de dialogue des paramètres d'utilisation des données.

Les paramètres de partage des données s'appliquent à l'ensemble du projet et ne peuvent être définis que par un administrateur du projet disposant des autorisations IAM serviceusage.services.enable et serviceusage.services.list. Pour en savoir plus sur l'utilisation des données dans le programme Testeur de confiance, consultez la page Gemini dans le programme Testeur de confiance de Google Cloud.

Étapes suivantes