Bonjour à tous,
Aujourd'hui, nous allons discuter de l'IA qui a mis en ébullition le monde de la tech et bien au-delà : ChatGPT. La question à laquelle nous allons répondre aujourd'hui est : est-ce que ChatGPT est capable de coder une carte à ma place ?
Première étape : est-ce que ChatGPT connaît l'API Javascript d'ArcGIS
?
C'est apparemment un bon début ; notez cependant que c'est l'utilisation de
services de localisations d'ArcGIS Platform
ou de données non publiques qui nécessitent une clé d'API (ou un compte
ArcGIS), et pas l'API JavaScript en tant que telle. Si cela vous intéresse,
vous pourrez trouver une définition plus complète de l'API sur
cet article.
Maintenant, j'ai remarqué lors de mes tous premiers tests que ChatGPT avait tendance à utiliser la version 4.18 ou 4.19 de l'API quand je lui demandais de coder. C’est normal, car le corpus de ChatGPT n’est pas connecté à internet en temps réel et a été constitué en 2021; il n’est donc pas au courant des dernières mises à jour et nouveautés.
Deuxième étape : afficher une carte
On peut noter trois choses sur ce bout de code : 1/ il fonctionne : 2/le fait que je l'interroge sur les versions de l'API lui a automatiquement fait adopter la version la plus récente, ce qui n'était pas le cas dans mes tests précédents ; 3/ ChatGPT s'est permis la fantaisie d'importer le module domReady! de dojo, ce qui n'a pas trop de sens ici mais qui vient certainement des exemples qu'il a pu trouver ici et là sur dans le code de différents sites web.
Et donc voici la première réponse à ma question "Est-ce que ChatGPT est capable de coder une carte à ma place ?" : oui, et il se paye d'ailleurs même le luxe de m'expliquer rapidement le code.
Le code est fonctionnel, mais ceci dit cela reste une carte très basique; on va maintenant essayer de le pousser un peu plus loin.
Troisième étape : ajouter des données
Cette fois-ci, je vais lui demander d'ajouter des données à ma carte, et de faire en sorte que celle-ci s'affiche en plein écran. Cette étape ne lui pose aucun problème.
A ce moment-là, je me dis que je vais peut-être me faire remplacer par une IA.
Quatrième étape : arriver aux limites de ChatGPT et conserver mon
travail
Heureusement pour moi, je vais bientôt être rassurée. Pour comprendre la
suite, sachez que la donnée que j'affiche dans ma carte sont des points
représentant les différents magasins d'une enseigne imaginaire nommée
Jardi à travers la France. La couche comporte dans sa table attributaire
une champ appelé Type d'enseigne pouvant contenir les valeurs suivantes :
J'ai demandé à ChatGPT de faire une symbologie par valeurs uniques selon le type d'enseigne. Voici ce qu'il m'a répondu :
Il est capable de retrouver la bonne classe de l'API permettant de faire ce que je veux, et de me proposer un extrait de code. Cependant, il me propose comme type d'enseigne des enseignes lumineuses et des enseignes non lumineuses, ce qui ne correspond pas du tout à ce que contient ma donnée. La réalité est que ChatGPT n'accède pas à l'intérieur de ma donnée, et n'est donc pas capable par lui-même de coder exactement ce que je lui demande. Finalement, on dirait que je vais pouvoir conserver mon job.
Je décide tout de même de lui donner un petit coup de main, et si je le guide un peu plus, il me donne le bon code :
Notez cependant qu'il a arrêté de me donner le code complet, et qu'il n'aura par exemple jamais importé la classe UniqueValueRenderer. C'est à moi de savoir qu'il faut l'ajouter, et où et comment le faire.Cinquième étape : se faire conseiller par ChatGPT ?
J'ai enfin voulu tester un exercice différent : demander des conseils
à ChatGPT sur des fonctionnalité. J'ai commencé par lui demander
quelle classe de l'API pouvait me servir pour ajouter une légende, ce
à quoi il a immédiatement trouvé la réponse, et m'a même donné le code
et l'explication.
En même temps, la question était assez simple. J'ai voulu lui poser une
question un peu plus vague, en lui demandant s'il était possible de
rajouter une vidéo à ma carte. C'est une capacité qui existe bel et bien
avec l'API, à travers les
MediaLayers.
Cependant, ChatGPT n'a pas été capable de relier ma question à la classe MediaLayers, et a même insisté sur le fait que l'API ne fournit pas de fonctionnalités spécifiques pour intégrer directement des vidéos à une carte. Plusieurs facteurs peuvent rentrer en cause : le fait que la fonctionnalité est relativement récente et que ChatGPT n'était pas au courant des dernières versions de l'API comme nous l'avons vu au tout début, ou l'incapacité de relier une question trop vague à la bonne classe de l'API.
Le mot de la fin
ChatGPT possède bel et bien des connaissances sur l'API JavaScript
d'ArcGIS. Il peut sans problème utiliser la base de l'API : créer une
carte, l'afficher, ajouter des données. Cependant, dès qu'il faudra
ajouter des fonctionnalités demandant une connaissance des données, il
faudra que vous lui donniez un sérieux appui pour que le code
fonctionne. Vous pouvez également vous servir de ChatGPT comme d'un
conseiller, mais comme n'importe quel conseiller, il est important de
garder en tête qu'il peut, et qu'il lui arrive d'ailleurs régulièrement
de se tromper.
Cela reste pour l'instant plus une technologie assez bluffante à tester qu'un réel générateur d'application cartographique complète. Vous pouvez l'utiliser pour apprendre à utiliser l'API, mais je vous conseille davantage d'utiliser les différents tutoriels et la documentation de référence de l'API.
Si cela vous intéresse, vous pouvez retrouver l'intégralité du code
généré par ChatGPT
sur mon Github. On se retrouve dans un prochain article, où cette fois-ci nous
coderons par nous-même !
Bonjour,
RépondreSupprimerpour le test vous avez utilisé Chat Gpt 3.5 ou Chat Gpt 4?
Bonjour, j'ai utilisé GPT-3.5
SupprimerTrès instructif ! Avez-vous remarqué des différences notables en termes de facilité ou de complexité lors de l'ajout de fonctionnalités avancées avec l'assistance de ChatGPT par rapport à votre expérience sans IA ?
RépondreSupprimer