Rédiger des requêtes avec l'aide de Gemini
Ce document vous explique comment utiliser l'assistance optimisée par l'IA au sein de Gemini dans BigQuery pour qu'elle vous aide à interroger vos données à l'aide de requêtes SQL et de code Python. Gemini dans BigQuery peut générer des requêtes et du code, compléter les requêtes et le code à mesure que vous tapez du texte, et expliquer les requêtes.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud , cliquez sur Visite guidée :
Sans votre autorisation expresse, Gemini pour Google Cloud n'utilise pas vos requêtes ni ses réponses comme des données destinées à l'entraînement de ses modèles. Pour en savoir plus sur la manière dont Google utilise vos données, 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'environnement BigQuery Studio ou utiliser des notebooks Python pour analyser des données BigQuery.
Avant de commencer
- Assurez-vous que Gemini dans BigQuery est configuré pour votre Google Cloud projet. Cette étape est généralement effectuée par un administrateur. Les fonctionnalités Gemini dans BigQuery peuvent être désactivées ou indisponibles jusqu'à ce que vous ayez terminé les étapes restantes de cette section.
Pour utiliser Gemini Cloud Assist et écrire du code dans le volet Gemini Cloud Assist, vous devez également suivre les étapes de la section Configurer Gemini Cloud Assist.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'outils BigQuery, cliquez sur pen_spark Gemini.
Dans la liste des fonctionnalités, assurez-vous que les fonctionnalités suivantes sont sélectionnées:
Liste Gemini dans une requête SQL :
- Saisie semi-automatique (bêta) Au fur et à mesure que vous tapez dans l'éditeur de requête, 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.
- Génération automatique Vous pouvez demander à Gemini dans BigQuery de générer une requête SQL à l'aide d'un commentaire en langage naturel, tapé dans l'éditeur de requête BigQuery.
- Outil de génération SQL Vous pouvez saisir du texte en langage naturel dans un outil pour générer une requête SQL, avec des options permettant d'affiner les résultats de la requête, de choisir les sources de tables et de comparer les résultats.
- Explication Vous pouvez demander à Gemini dans BigQuery d'expliquer une requête SQL en langage naturel.
Liste Gemini dans un notebook Python :
- Complétion de code (preview) Gemini fournit des recommandations contextuelles appropriées basées sur le contenu du notebook.
- Génération de code Vous pouvez interroger Gemini avec une instruction ou une question en langage naturel, afin de générer du code Python.
Pour effectuer les tâches décrites dans ce document, assurez-vous de disposer des autorisations Identity and Access Management (IAM) requises.
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 Gemini pour Google Cloud (roles/cloudaicompanion.user
) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
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.entitlements.get
-
cloudaicompanion.instances.completeTask
-
Expliquer les requêtes SQL :
cloudaicompanion.companions.generateChat
-
Code SQL ou Python complet :
cloudaicompanion.instances.completeCode
-
Générez du code SQL ou Python :
cloudaicompanion.instances.generateCode
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour plus d'informations sur les rôles et les autorisations IAM dans BigQuery, consultez la page Présentation d'IAM.
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 dans BigQuery une instruction ou une question en langage naturel, également appelée requête. Même si vous débutez sans la moindre portion de code, que vous n'avez que des connaissances limitées sur le schéma de données ou bien seulement des connaissances de base sur la syntaxe GoogleSQL, Gemini dans BigQuery peut générer du code SQL qui peut vous aider à explorer vos données.
Utiliser l'outil de génération SQL
L'outil de génération de SQL vous permet d'utiliser le langage naturel pour générer une requête SQL sur les tables que vous avez consultées ou interrogées récemment. Vous pouvez également utiliser l'outil pour modifier une requête existante et spécifier manuellement les tables pour lesquelles vous souhaitez générer du code SQL.
Procédez comme suit pour utiliser l'outil de génération SQL :
Dans la console Google Cloud , accédez à la page BigQuery Studio.
À côté de l'éditeur de requête, cliquez sur pen_spark Outil de génération SQL.
Dans la boîte de dialogue Générer du code SQL avec Gemini, saisissez une requête en langage naturel concernant une table que vous avez récemment consultée ou interrogée. Par exemple, si vous avez récemment consulté la table
bigquery-public-data.austin_bikeshare.bikeshare_trips
, vous pouvez saisir ce qui suit:Show me the duration and subscriber type for the ten longest trips.
Cliquez sur Générer.
La requête SQL générée ressemble à celle-ci:
SELECT subscriber_type, duration_sec FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` ORDER BY duration_sec DESC LIMIT 10;
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. Vous pouvez ensuite cliquer sur Exécuter pour exécuter la requête SQL suggérée.
- Pour modifier votre requête, cliquez sur Modifier, puis modifiez ou remplacez votre requête initiale. Une fois que vous avez modifié votre requête, cliquez sur Mettre à jour pour générer une nouvelle requête.
- Pour mettre à jour les sources de tables utilisées comme contexte pour générer la requête SQL suggérée, cliquez sur Modifier les sources des tables, sélectionnez les cases à cocher appropriées, puis cliquez sur Appliquer.
- Pour afficher un résumé en langage naturel de la requête générée, cliquez sur Récapitulatif de la requête.
- Pour affiner la requête SQL suggérée, saisissez des ajustements dans le champ Affiner, puis cliquez sur
limit to 1000
pour limiter le nombre de résultats de la requête. Pour comparer les modifications apportées à votre requête, cochez la case Afficher le différentiel.
Affiner. Par exemple, saisissez - Pour ignorer une requête suggérée, fermez l'outil de génération SQL.
Désactiver l'outil de génération SQL
Pour savoir comment désactiver l'outil de génération SQL, consultez la section Désactiver les fonctionnalités de l'assistant de requête Gemini.
Générer du code SQL à partir d'un commentaire
Vous pouvez générer du code SQL dans l'éditeur de requête en décrivant la requête souhaitée dans un commentaire.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans l'éditeur de requête, cliquez sur
. Requête SQL Dans l'éditeur de requêtes, écrivez un commentaire SQL sur une table que vous avez récemment consultée ou interrogée. Par exemple, si vous avez récemment consulté la table
bigquery-public-data.austin_bikeshare.bikeshare_trips
, vous pouvez écrire le commentaire suivant :# Show me the duration and subscriber type for the ten longest trips.
Appuyez sur Entrée (Retour sous macOS).
La requête SQL suggérée ressemble à celle-ci :
# Show me the duration and subscriber type for the ten longest trips SELECT duration_sec, subscriber_type AVG(duration_minutes) AS average_trip_length FROM `bigquery-public-data.austin_bikeshare.bikeshare_trips` ORDER BY duration_sec LIMIT 10;
Pour accepter la suggestion, appuyez sur la touche Tabulation.
Générer des requêtes SQL avec Gemini Cloud Assist
Vous pouvez générer une requête SQL dans BigQuery à l'aide du panneau Cloud Assist dans la console Google Cloud .
Pour pouvoir utiliser le chat Gemini Cloud Assist afin de générer des requêtes SQL, vous devez activer Gemini Cloud Assist. Pour en savoir plus, consultez Configurer Gemini Cloud Assist.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans l'éditeur de requête, cliquez sur
pour ouvrir une nouvelle requête SQL. Requête SQL Dans la barre d'outils Google Cloud , cliquez sur Ouvrir ou fermer le chat Gemini AI spark pour ouvrir le chat Gemini Cloud Assist.
Dans le champ Saisir une requête, saisissez une requête pour générer une requête SQL. Exemple :
Generate a SQL query to show me the duration and subscriber type for the ten longest trips.
Cliquez sur Envoyer la requête. La réponse inclut une requête SQL semblable à celle-ci :
SELECT subscriber_type, duration_sec FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` ORDER BY duration_sec DESC LIMIT 10; ```
Examinez la requête SQL générée.
Pour exécuter la requête SQL générée, cliquez sur Copier dans le presse-papiers
, collez le code généré dans l'éditeur de requête, puis cliquez sur Exécuter .
Conseils pour la génération SQL
Les conseils suivants peuvent améliorer les suggestions fournies par Gemini dans BigQuery :
- Pour spécifier manuellement les tables à utiliser, vous pouvez inclure le nom complet de la table entre des 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. Par exemple, pour que la requête générée référence 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.
- Lorsque vous générez du code SQL à partir d'un commentaire, vous pouvez mettre en forme votre requête sur plusieurs lignes en ajoutant le caractère
#
en préfixe de chaque ligne. - Les descriptions de colonne sont prises en compte lorsque vous générez des requêtes SQL. Pour améliorer la précision, ajoutez des descriptions de colonnes à votre schéma. Pour en savoir plus sur les descriptions de colonne, consultez la section Descriptions de colonne dans "Spécifier un schéma".
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 adaptées au 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 dans BigQuery, procédez comme suit :
Dans la console Google Cloud , accédez à la page BigQuery Studio.
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.À la fin de la ligne de
subscriber_type
, appuyez sur Espace.Les suggestions d'améliorations à apporter à la requête peuvent être semblables au texte suivant :
GROUP BY subscriber_type, hour_of_day;
Vous pouvez également appuyer sur Entrée (Retour sous MacOS) pour générer des suggestions.
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é.
Pour obtenir l'explication d'une requête SQL, procédez comme suit :
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans l'éditeur de requête, ouvrez ou collez la requête pour laquelle vous souhaitez obtenir des explications.
Mettez en surbrillance la requête que vous souhaitez que Gemini dans BigQuery explique.
Cliquez sur astrophotography_mode Gemini, puis sur Expliquer cette requête.
L'explication de la requête SQL apparaît dans le panneau Cloud.
Générer du code Python
Vous pouvez demander à Gemini dans BigQuery de générer du code Python à l'aide d'une instruction ou d'une question en langage naturel. Gemini dans BigQuery répond avec une ou plusieurs suggestions de code Python, en extrayant les noms de table pertinents directement à partir de votre projet BigQuery, ce qui génère un code Python personnalisé et exécutable.
Utiliser l'outil de génération de 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
.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'onglets de l'éditeur de requête, cliquez sur la flèche du menu déroulant
à côté de Requête SQL, puis sur Notebook.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
.Pour insérer une nouvelle cellule de code, dans la barre d'outils, cliquez sur
Code. La nouvelle cellule de code contient le message Start coding or generate with AI (Commencer à coder ou générer avec l'IA).Dans la nouvelle cellule de code, cliquez sur Générer.
Dans l'éditeur Generate (Générer), saisissez la requête en langage naturel suivante:
Using bigquery magics, query the `bigquery-public-data.ml_datasets.penguins` table
Appuyez sur Entrée (Retour sous macOS).
Le code Python suggéré ressemble à celui-ci:
%%bigquery SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 10
Pour exécuter le code, appuyez sur
Run cell (Exécuter la cellule).
Générer du code Python avec Gemini Cloud Assist
Vous pouvez utiliser Gemini Cloud Assist dans la console Google Cloud pour générer du code Python dans BigQuery. Pour pouvoir utiliser Gemini Cloud Assist afin de générer du code, vous devez activer Gemini Cloud Assist. Pour en savoir plus, consultez Configurer Gemini Cloud Assist.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'onglets de l'éditeur de requête, cliquez sur la flèche du menu déroulant
à côté de Requête SQL, puis sur Notebook.Dans la barre d'outils Google Cloud , cliquez sur Ouvrir ou fermer le chat Gemini AI spark pour ouvrir le chat Gemini Cloud Assist.
Dans le champ Saisir une requête, saisissez une requête pour générer du code Python. Exemple :
Generate python code to query the `bigquery-public-data.ml_datasets.penguins` table using bigquery magics
Cliquez sur
Envoyer une requête. Gemini renvoie un code Python semblable à celui-ci:%%bigquery SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 10
Examinez le code Python généré.
Pour exécuter le code Python, cliquez sur Copier dans le presse-papiers
, puis collez le code généré dans l'éditeur de requête, puis cliquez sur Exécuter .
Générer du code BigQuery DataFrames
Vous pouvez générer du code BigQuery DataFrames avec Gemini dans BigQuery. Pour demander à Gemini d'utiliser des DataFrames BigQuery dans le code généré, exprimez votre intention dans votre requête. Par exemple, vous pouvez commencer votre requête par "à l'aide de bigframes" ou "à l'aide de BigQuery DataFrames".
BigQuery DataFrames fournit deux bibliothèques :
- bigframes.pandas, qui fournit une API compatible avec Pandas pour les données analytiques.
- bigframes.ml, qui fournit une API semblable à scikit-learn pour le machine learning (ML).
La génération de code Gemini est optimisée pour la bibliothèque bigframes.pandas.
Pour en savoir plus sur BigQuery DataFrames et les autorisations requises pour les utiliser, consultez la page Autorisations BigQuery DataFrames.
BigQuery DataFrames est un package Open Source.
Vous pouvez exécuter pip install --upgrade bigframes
pour installer la dernière version.
Dans l'exemple suivant, vous générez du code pour l'ensemble de données public BigQuery bigquery-public-data.ml_datasets.penguins
.
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'onglets de l'éditeur de requête, cliquez sur la flèche du menu déroulant
à côté de Requête SQL, puis sur Notebook.Un nouveau notebook s'ouvre.
Pour insérer une nouvelle cellule de code, dans la barre d'outils, cliquez sur
Code.La nouvelle cellule de code contient le message Start coding or generate with AI (Commencer à coder ou générer avec l'IA). Dans la nouvelle cellule de code, cliquez sur Générer.
Dans l'éditeur Generate (Générer), saisissez la requête en langage naturel suivante:
Read the penguins table from the bigguery public data using bigframes
Appuyez sur Entrée (Retour sous macOS).
Le code Python suggéré ressemble à celui-ci:
import bigframes.pandas as bpd # Read the penguins table from the bigguery public data using bigframes result = bpd.read_gbd("bigquery-public-data.ml_datasets.penguins")
Pour exécuter le code, appuyez sur
Run cell (Exécuter la cellule).Pour prévisualiser les résultats, dans la barre d'outils, cliquez sur
Code pour insérer une nouvelle cellule de code.Dans la nouvelle cellule, appelez la méthode
peek()
(par exemple,result.peek()
), puis appuyez sur Run cell (Exécuter la cellule). Un certain nombre de lignes de données s'affichent.
Finaliser le 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 dans BigQuery 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.
Pour essayer la complétion de code Python avec Gemini dans BigQuery, procédez comme suit:
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'onglets de l'éditeur de requête, cliquez sur la flèche du menu déroulant
à côté de Requête SQL, puis sur Notebook.Un 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
.Dans l'éditeur, commencez à saisir du code Python. Par exemple,
%%bigquery
. Gemini dans BigQuery suggère du code intégré pendant que vous tapez du texte.Pour accepter la suggestion, appuyez sur la touche Tabulation.
Générer du code PySpark
Vous pouvez demander à Gemini Code Assist de générer du code PySpark dans votre notebook. Gemini Code Assist extrait et utilise les tables BigQuery et Dataproc Metastore pertinentes, ainsi que leurs schémas, pour générer une réponse de code. Grâce à ses connaissances sur le schéma, Gemini Code Assist évite les hallucinations et suggère des clés de jointure et des types de colonnes.
Pour générer du code Gemini Code Assist dans votre notebook, procédez comme suit:
Insérez une nouvelle cellule de code en cliquant sur + Code dans la barre d'outils. La nouvelle cellule de code affiche
Start coding or generate with AI
. Cliquez sur Générer.Dans l'éditeur de génération, saisissez une requête en langage naturel, puis cliquez sur
enter
. Assurez-vous d'inclure le mot cléspark
oupyspark
dans votre requête.Exemple de requête:
create a spark dataframe from order_items and filter to orders created in 2024
Exemple de résultat :
spark.read.format("bigquery").option("table", "sqlgen-testing.pysparkeval_ecommerce.order_items").load().filter("year(created_at) = 2024").createOrReplaceTempView("order_items") df = spark.sql("SELECT * FROM order_items")
Conseils pour la génération de code avec Gemini Code Assist
Pour permettre à Gemini Code Assist d'extraire les tables et les schémas pertinents, activez la synchronisation Data Catalog pour les instances Dataproc Metastore.
Assurez-vous que votre compte utilisateur a accès aux tables de requêtes de Data Catalog. Pour ce faire, attribuez le rôle
DataCatalog.Viewer
.
Désactiver les fonctionnalités de l'assistant de requête Gemini
Pour désactiver des fonctionnalités spécifiques de Gemini dans BigQuery, procédez comme suit :
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'outils BigQuery, cliquez sur
pen_spark . GeminiDans la liste, désélectionnez les fonctionnalités de l'assistant de requête que vous souhaitez désactiver.
Pour savoir comment désactiver Gemini dans BigQuery, consultez Désactiver Gemini dans BigQuery.
Fournir des commentaires
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'outils BigQuery, cliquez sur
pen_spark . GeminiCliquez sur Envoyer des commentaires.
Contribuer à améliorer les suggestions
Vous pouvez contribuer à améliorer les suggestions de Gemini en partageant avec Google les données de requête que vous envoyez aux fonctionnalités disponibles en preview.
Pour partager vos données de requête, procédez comme suit :
Dans la console Google Cloud , accédez à la page BigQuery Studio.
Dans la barre d'outils BigQuery, cliquez sur
pen_spark . GeminiSélectionnez Partagez des données pour améliorer Gemini dans BigQuery.
Dans la boîte de dialogue des paramètres d'utilisation des données, mettez à jour vos préférences.
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 Programme Testeur de confiance de Gemini pour Google Cloud .
Données Gemini et BigQuery
Afin de fournir des résultats précis, Gemini dans BigQuery doit accéder à vos données client et métadonnées dans BigQuery pour les fonctionnalités améliorées. Pour en savoir plus, consultez Utilisation de vos données par Gemini dans BigQuery.
Tarifs
Pour en savoir plus sur les tarifs de cette fonctionnalité, consultez la section Présentation des tarifs de Gemini dans BigQuery.
Quotas et limites
Pour en savoir plus sur les quotas et les limites de cette fonctionnalité, consultez la page Quotas pour Gemini dans BigQuery.
Étapes suivantes
- Consultez la présentation de Gemini pour Google Cloud .
- Découvrez comment Gemini pour Google Cloud utilise vos données.
- Apprenez à explorer vos données et générer des insights.