Présentation de Duet AI pour les développeurs

1. Introduction

Dans cet atelier, vous allez utiliser Duet AI, un collaborateur de Google Cloud optimisé par l'IA. Vous découvrirez comment utiliser le chat Duet AI et l'aide au codage intégrée pour générer du code, le comprendre et plus encore.

Ce que vous allez effectuer...

  • Vous utiliserez Cloud Shell IDE afin de télécharger un modèle de code existant pour une application Web.
  • Vous utiliserez le chat Duet AI dans Cloud Shell IDE pour poser des questions d'ordre général sur Google Cloud.
  • Vous utiliserez l'aide au codage intégrée de Duet AI dans Cloud Shell IDE pour générer du code, le résumer et le compléter.

Ce que vous allez apprendre...

  • Utiliser Duet AI pour plusieurs tâches de développement (par exemple, générer du code, le résumer et le compléter)
  • Utiliser Duet AI pour en savoir plus sur Google Cloud

Ce dont vous avez besoin...

  • Navigateur Web Chrome
  • Un compte Gmail
  • Un projet Cloud pour lequel la facturation est activée
  • Duet AI activé pour votre projet Cloud

Cet atelier s'adresse aux développeurs de tous niveaux, y compris aux débutants. Bien que l'exemple d'application soit en langage Python, vous n'avez pas besoin de maîtriser la programmation Python pour comprendre le processus. L'objectif est de vous familiariser avec les fonctionnalités de Duet AI pour les développeurs.

2. Préparation

Cette section décrit tout ce que vous devez faire pour commencer cet atelier.

Activer Duet AI dans le projet Google Cloud

Nous allons maintenant activer l'API Duet AI dans notre projet Google Cloud. Suivez les étapes ci-dessous :

  1. Accédez à https://console.cloud.google.com et veillez à sélectionner le projet Google Cloud que vous comptez utiliser dans cet atelier. Cliquez sur l'icône Duet AI située en haut à droite.

e28d7b796fb2ab47.png

  1. La fenêtre de chat de Duet AI s'ouvre sur le côté droit de la console. Cliquez sur le bouton Activer comme indiqué ci-dessous. Si ce bouton n'est pas affiché et que vous voyez à la place une interface de chat, vous avez probablement déjà activé Duet AI pour le projet. Vous pouvez alors passer directement à l'étape suivante.

f207244ecb9d6b0d.png

  1. Une fois Duet AI activé, vous pouvez effectuer un test en lui posant une ou deux questions. Vous en trouverez ci-dessous quelques exemples. Vous pouvez demander What is Cloud Run?.

faa821f22611784a.png

Duet AI répondra à votre question. Pour fermer la fenêtre de chat de Duet AI, vous pouvez cliquer sur l'icône f68286b2b2ea5c0a.png située en haut à droite.

Activer Duet AI dans Cloud Shell IDE

Pour le reste de l'atelier de programmation, nous allons utiliser Cloud Shell IDE. Pour cela, nous devons activer et configurer Duet AI dans Cloud Shell IDE comme suit :

  1. Lancez Cloud Shell en cliquant sur l'icône ci-dessous. Comptez une ou deux minutes pour que l'instance Cloud Shell démarre.

72dc3df7b007fcde.png

  1. Cliquez sur le bouton Éditeur ou Ouvrir l'éditeur (selon le cas) et attendez que Cloud Shell IDE s'affiche. Si le bouton Essayer le nouvel éditeur est affiché, cliquez dessus.

1e0437ef773faca8.png

  1. Cliquez sur le bouton Cloud Code – Se connecter dans la barre d'état inférieure (voir ci-dessous). Autorisez le plug-in comme indiqué. Si Cloud Code – Aucun projet est affiché dans la barre d'état, cliquez dessus. Dans la liste des projets, sélectionnez le projet Google Cloud que vous comptez utiliser.

3c448ebc5cef03e4.png

  1. (Facultatif). Si Duet AI n'est pas affiché pas dans la barre d'état en bas à droite, vous devez activer Duet AI dans Cloud Code. Avant cela, assurez-vous que Duet AI est activé dans l'IDE en accédant à l'extension Cloud Code → Paramètres, puis en saisissant le texte Duet AI : Activer, comme illustré ci-dessous. Assurez-vous que la case est cochée. Actualisez ensuite l'IDE. Duet AI est alors activé dans Cloud Code et la barre d'état Duet AI apparaît dans l'IDE.

d5743fc11ee117bc.png

  1. Cliquez sur le bouton Duet AI en bas à droite, comme illustré, puis sélectionnez le projet Google Cloud approprié pour lequel vous avez activé l'API Cloud AI Companion.

d98bff6476bb15a.png

  1. Une fois que vous avez sélectionné votre projet Google Cloud, vérifiez que le message d'état Cloud Code s'affiche dans la barre d'état et que Duet AI est également activé à droite, dans la barre d'état, comme illustré ci-dessous :

31002a565ea80e72.png

Duet AI est prêt à l'emploi !

3. Créer l'exemple d'application

Nous allons créer un exemple d'application (une application Python Flask) que nous utiliserons pour explorer les fonctionnalités de Duet AI.

Procédez comme suit :

  1. Cliquez sur le nom du projet Google Cloud dans la barre d'état ci-dessous.

a09e8f79daad1643.png

  1. Une liste d'options s'affiche alors. Cliquez sur Nouvelle application dans la liste ci-dessous.

ed0e37d92af49b65.png

  1. Sélectionnez l'application Cloud Run.
  2. Sélectionnez le modèle d'application Python (Flask): Cloud Run.
  3. Enregistrez la nouvelle application à l'emplacement de votre choix.
  4. Une notification confirme que votre application a été créée. Une nouvelle fenêtre s'ouvre et l'application est chargée, comme illustré ci-dessous. Un fichier README.md est ouvert. Vous pouvez fermer cette vue pour le moment.

b29976a316b5bc21.png

4. Discuter avec Duet AI

Nous allons commencer par apprendre à discuter avec Duet AI. Duet AI est disponible en tant qu'assistant par chat dans Cloud Shell IDE dans le cadre de l'extension Cloud Code de VS Code. Vous pouvez l'afficher en cliquant sur le bouton Duet AI situé dans la barre de navigation de gauche. Repérez l'icône Duet AI 94e547b05e30e432.png dans la barre de navigation de gauche, puis cliquez dessus.

Le volet Duet AI s'affiche dans Cloud Shell IDE. Vous pouvez discuter avec Duet AI pour obtenir de l'aide sur Google Cloud.

b99f4f97fd1a1b62.png

Utilisons le volet Duet AI pour saisir une requête et voir la réponse de Duet AI. Saisissez la requête suivante :

What is Cloud Run? 

Duet AI devrait vous fournir une réponse détaillée concernant Cloud Run. Les requêtes sont des questions ou instructions qui décrivent l'aide dont vous avez besoin. Elles peuvent inclure du contexte issu d'un code existant que Google Cloud analyse pour fournir des réponses plus pertinentes ou complètes. Pour savoir comment rédiger des requêtes permettant de générer de bonnes réponses, consultez Rédiger de meilleures requêtes pour Duet AI.

Essayez les exemples de requêtes suivants ou les vôtres pour poser des questions concernant Google Cloud :

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

5. Explication du code

Pour vous aider à être plus productif tout en réduisant au maximum les changements de contexte, Duet AI propose des actions intelligentes optimisées par l'IA, directement dans votre éditeur de code. Lorsque vous sélectionnez votre code dans cet éditeur, vous pouvez afficher une liste d'actions en rapport avec votre contexte et sélectionner l'action souhaitée.

Duet AI peut vous aider à comprendre certaines parties du code d'application. Revenez à l'application créée à l'une des étapes précédentes. Vous pouvez utiliser Duet AI pour obtenir des explications sur les fichiers et le code disponibles dans votre IDE.

  1. Si les fichiers ne sont pas visibles, cliquez sur Explorateur (Menu de l'explorateur Code OSS) dans la barre d'activité de l'IDE.
  2. Dans le volet "Explorateur", sélectionnez Dockerfile.
  3. Vous pouvez sélectionner n'importe quelle partie du contenu du fichier. Cliquez sur l'ampoule (Ampoule Code OSS Duet AI), puis sur Explain this (Expliquer). Par exemple, sélectionnez la ligne qui commence par ENTRYPOINT, cliquez sur l'ampoule (Ampoule Code OSS Duet AI), puis sur Explain this. Duet AI génère une explication en langage naturel concernant la section spécifique du Dockerfile pour laquelle vous avez besoin de plus d'informations. Duet AI apporte une réponse détaillée sur l'instruction ENTRYPOINT. Vous apprendrez qu'avec cette instruction, Docker exécutera le fichier app.py au lancement du conteneur.
  4. Pour afficher le contenu du fichier app.py, dans la barre d'activité, cliquez sur Explorateur (Menu de l'explorateur Code OSS), puis sélectionnez app.py.
  5. Dans la définition de la fonction hello(), n'hésitez pas à sélectionner les lignes pour lesquelles vous souhaitez obtenir plus d'informations. Cliquez ensuite sur l'ampoule (Ampoule Code OSS Duet AI), puis sur Explain this. Dans notre exemple, nous avons sélectionné les deux lignes de code suivantes, puis déclenché l'action Explain this.

14d9c56af016b65d.png

  1. Dans sa réponse, Duet AI décrit ces deux variables d'environnement Cloud Run (K_SERVICE, K_REVISION) et la façon dont elles sont utilisées dans le code de l'application. Remarque : les connaissances de Duet AI concernant Google Cloud et des services tels que Cloud Run lui ont permis d'expliquer le code Python et de fournir également le contexte de la signification de ces variables dans Cloud Run.

Essayez les autres méthodes suivantes pour obtenir une explication du code :

  1. Conservez app.py comme fichier actuellement ouvert dans l'IDE. Accédez au volet de chat de Duet AI dans la barre de navigation de gauche de VS Code, puis saisissez la requête Explain this file (Expliquer ce fichier). L'ensemble du fichier sera ainsi pris en compte et vous sera expliqué.
  2. Vous pouvez également sélectionner n'importe quelle partie du fichier, puis utiliser le volet de chat Duet AI à gauche et saisir la requête Explain this (Expliquer). Seule la partie sélectionnée du fichier sera expliquée. Cela revient à cliquer sur l'ampoule (Ampoule Code OSS Duet AI), puis sur Explain this.
  3. Vous pouvez également sélectionner une partie du texte et cliquer sur les actions intelligentes de Duet AI en haut à droite de l'IDE (comme illustré ci-dessous) pour obtenir la liste des actions pouvant être effectuées sur le texte sélectionné. Parmi ces options figure l'action Explain this.

35b59223f0726492.png

6. Générer du code avec des requêtes

Cette section vous explique comment utiliser Duet AI pour générer du code à partir des commentaires.

Essayons ces fonctionnalités. Suivez les étapes ci-dessous :

  1. Créez un fichier intitulé utils.py.
  2. Dans votre nouveau fichier de code, sur une nouvelle ligne, saisissez # Function to print a list of blobs in a Google Cloud Storage bucket, puis appuyez sur Enter (pour Windows et Linux) ou sur Return (pour macOS). Duet peut essayer de générer du code à mesure que vous tapez du texte, mais ne l'acceptez pas. Nous déclencherons spécifiquement la génération du code lors de la prochaine étape.
  3. Pour déclencher la génération de code, appuyez sur Control+Enter (pour Windows et Linux) ou sur Control+Return (pour macOS). À côté du texte de votre requête dans le fichier Python, Duet AI génère le code sous la forme de texte fantôme. Il vous fera une ou plusieurs suggestions de code, et fournira une barre d'outils avec laquelle vous pourrez passer d'une suggestion à une autre (s'il y en a plusieurs). Vous pouvez même accepter n'importe laquelle des suggestions de code en utilisant la barre d'outils. Si la barre d'outils disparaît ou n'est pas affichée, pointez sur le code généré pour qu'elle s'affiche de nouveau.
  4. Facultatif : Pour accepter le code généré, appuyez sur Tab. S'il y a plusieurs suggestions, vous pouvez appuyer plusieurs fois sur Tab pour passer d'un extrait de code suggéré à un autre.

Le code que vous avez accepté est alors inséré dans le fichier utils.py. Voici un exemple de capture d'écran : Le code qui vous est fourni peut être différent de celui affiché ci-dessous.

ef132e1f83eaf508.png

Notez la ligne ondulée autour du code. Il s'agit d'une citation avec code en action. Si vous pointez sur l'une des lignes, l'attribution du code et d'autres informations correspondantes sur les licences s'affichent. Voici un exemple :

84b8d1024b867a48.png

Vous pouvez ensuite ignorer l'avertissement concernant la citation en cliquant sur Quick Fix (Correction rapide). La suggestion de correction rapide s'affiche. En voici un exemple :

10f4672830954c90.png

Vous pouvez sélectionner Ignore Citation Warning (Ignorer l'avertissement de citation) si vous êtes prêt à accepter la licence du code.

(Facultatif) Voici d'autres suggestions à essayer pour générer du code :

  1. Vous pouvez également utiliser la fonctionnalité de chat de Duet AI pour poser la même question et obtenir la réponse dans la fenêtre de chat. L'interface de chat affiche ensuite des options permettant de copier le code ou de l'insérer dans le fichier actuel.
  2. Essayez vos propres requêtes pour obtenir l'exemple de code souhaité. Voici quelques suggestions (en supposant que vous soyez dans l'un des fichiers Python) ou choisissez parmi les requêtes ci-dessous :
  • Écrire le code Python pour publier un message sur Google Cloud Pub/Sub
  • Écrire le code Python pour initialiser un client BigQuery
  • Écrire le code Python pour connecter mon application à Cloud SQL

7. Obtenir des suggestions de code intégrées pendant que vous codez

Lorsque vous écrivez du code, Duet AI propose des suggestions de code intégrées que vous pouvez accepter ou ignorer. Pour tester cette fonctionnalité, nous allons modifier le fichier utils.py que nous avons créé à la section précédente :

  1. Ouvrez le fichier utils.py en tant que fichier actuel dans Cloud Shell IDE.
  2. L'une des solutions consiste à fournir les instructions import correctes, si elles ne figurent pas dans le code généré.
  3. Commencez à taper le mot import. Duet AI devrait vous suggérer du code sous la forme de texte fantôme. Pour accepter la suggestion de code de Duet AI, appuyez sur Tab. Sinon, pour l'ignorer, appuyez sur Esc ou continuez à écrire votre code. Dans l'exemple d'écran ci-dessous, il vous est suggéré d'importer la classe storage, car elle est actuellement utilisée dans le code. Appuyez sur Tab pour accepter la suggestion de code. Il s'agit également d'une instruction import os suggérée, mais nous pouvons la supprimer, car elle n'est pas nécessaire.

cb3dfff74172959d.png

  1. Accédez à la fin du fichier utils.py et ajoutez la ligne pour appeler la fonction, si elle n'est pas fournie. Dans le cas présent, il s'agit de la fonction list_blobs. Vous pouvez simplement commencer à taper le nom de la fonction. Le code complet vous aidera à terminer l’instruction.
  2. Vous devrez fournir le bucket_name et vous pouvez utiliser le nom de bucket public suivant : duetai-tour-bucket. L'exemple d'appel de la fonction est indiqué ci-dessous. Vous pourriez constater de légères différences au niveau des noms de fonctions, etc.

ac3818b516ef228f.png

(Facultatif) Exécuter l'exemple de code

Comme nous avons écrit le code permettant de lister les blobs dans un bucket Google Cloud Storage, nous devons installer la bibliothèque Python google-cloud-storage.

Accédez au fichier requirements.txt et ajoutez une ligne avec la dépendance google-cloud-storage, comme indiqué ci-dessous. Voici un exemple de fichier requirements.txt.

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

Enregistrez le fichier requirements.txt.

Pour voir le code en action, nous devons lancer une nouvelle session de terminal à partir de Cloud Shell IDE en cliquant sur l'icône de menu située en haut à gauche. Cliquez sur l'icône de menu, puis sur Terminal → New Terminal (Terminal → Nouveau terminal), comme indiqué ci-dessous :

6bd5bec67de34b2a.png

Dans la session de terminal, installez les dépendances Python à l'aide de la commande suivante :

pip install -r requirements.txt

Enfin, vous pouvez exécuter le fichier utils.py en utilisant la commande suivante :

python utils.py

Cette commande devrait afficher les blobs présents dans le bucket Google Cloud Storage public. Dans l'idéal, le résultat devrait présenter deux blobs (file1.txt et file2.txt).

Dépannage

Si vous obtenez une erreur "access" lors de l'affichage des objets dans le bucket public ci-dessus, vous pouvez choisir de créer votre propre bucket Google Cloud Storage et de l'utiliser à la place de duetai-tour-bucket. Pour cela, reportez-vous à la prochaine section.

(Facultatif) Créer votre propre bucket Cloud Storage

Sollicitons l'aide de Duet AI pour nous indiquer les commandes permettant de créer un bucket, de le rendre accessible au public et d'y importer des exemples d'objets.

Commençons par la requête suivante : Quelle est la commande gcloud permettant de créer un bucket public dans Google Cloud Storage ?

Vous devriez obtenir une commande gcloud permettant de créer un bucket. La commande exacte est indiquée ci-dessous :

gcloud storage buckets create gs://<BUCKET_NAME>

Sélectionnez un nom unique pour <BUCKET_NAME> et exécutez la commande dans le terminal.

Maintenant que nous avons créé un bucket, nous souhaitons qu'il soit accessible au public. Demandons à Duet AI la commande correspondante en posant la question suivante : Comment rendre un bucket Google Cloud Storage accessible au public ?

Vous devriez alors obtenir une commande gcloud permettant de rendre le bucket accessible au public. La réponse devrait ressembler à ce qui suit .

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

Remplacez <BUCKET_NAME> par le nom du bucket que vous avez utilisé précédemment et exécutez la commande.

Enfin, nous aimerions importer quelques exemples de fichiers dans le bucket. Exécutez les commandes suivantes dans le terminal (n'oubliez pas de remplacer la variable <BUCKET_NAME> par le nom de votre bucket).

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

Vous pouvez maintenant exécuter le fichier utils.py en utilisant <BUCKET_NAME> au lieu de duetai-tour-bucket.

8. Félicitations !

Bravo ! Vous avez travaillé sur un exemple de projet avec Duet AI pour voir comment celui-ci pouvait vous aider à générer du code, à le résumer et à le compléter, en plus de répondre à vos questions concernant Google Cloud.

Documents de référence...