Prompt engineering
Explorer l’interpréteur de code OpenAI ChatGPT : une plongée profonde dans ses capacités

Les progrès d’OpenAI dans le traitement automatique des langues (NLP) sont marqués par l’émergence de grands modèles de langage (LLM), qui sous-tendent des produits utilisés par des millions de personnes, notamment l’assistant de codage GitHub Copilot et le moteur de recherche Bing. Ces modèles, grâce à leur capacité unique à mémoriser et à combiner des informations, ont établi des références inégalées dans des tâches telles que la génération de code et de texte.
Comprendre l’interpréteur de code ChatGPT
Pour comprendre l’importance de l’interpréteur de code ChatGPT, il est essentiel de comprendre d’abord ce qu’il est et comment il a été construit.
En substance, l’interpréteur de code ChatGPT exploite les capacités de ChatGPT mais introduit une compétence améliorée pour comprendre, interpréter et même générer du code dans une multitude de langages de programmation. Cette fonctionnalité transforme ChatGPT d’un générateur de texte en un outil inestimable pour les développeurs, aidant à la compréhension du code, au débogage et même à la génération de code.
Entraîner GPT pour la programmation : l’approche Codex
À la fois GitHub Copilot et l’interpréteur de code ChatGPT utilisent le modèle Codex développé par OpenAI.
Codex, un modèle de langage GPT spécialisé, est conçu pour avoir des capacités de rédaction de code Python compétentes. Formé à partir de code issu de sources publiques de GitHub, Codex montre son potentiel en alimentant des fonctionnalités dans GitHub Copilot. Lorsqu’il est évalué pour sa capacité à synthétiser des programmes à partir de docstrings, une mesure de correction fonctionnelle, Codex surpasse à la fois GPT-3 et GPT-J.
Une observation frappante est que l’échantillonnage répété améliore la compétence de Codex. Lorsque jusqu’à 100 échantillons par problème sont utilisés, le taux de réussite du modèle augmente à 70,2%. Une telle efficacité suggère la possibilité d’utiliser un classement heuristique pour sélectionner des échantillons de code précis, sans nécessiter une évaluation complète pour chacun.
Pour évaluer ses capacités, le modèle a été chargé de créer des fonctions Python autonomes basées uniquement sur des docstrings. La précision du code généré a ensuite été évaluée à l’aide de tests unitaires. Dans un ensemble de données comprenant 164 problèmes de programmation originaux, qui incluent la compréhension de la langue, les algorithmes et les tests de mathématiques de base, Codex avec 12B de paramètres a résolu 28,8% d’entre eux en une seule tentative.
En affinant davantage le modèle par fine-tuning de fonctions autonomes correctement mises en œuvre, son efficacité a été améliorée, ce qui a abouti à ce que Codex-S résolve 37,7% des défis à la première tentative. Cependant, dans le monde réel de la programmation, une approche d’essais et d’erreurs est courante. En imitant ce scénario réel, le modèle Codex-S, lorsqu’il a eu 100 chances, a réussi à résoudre 77,5% des défis.
Les modèles génératifs comme ChatGPT qui produisent du code sont généralement évalués en comparant les échantillons générés à une solution de référence. Cette comparaison peut être exacte ou utiliser une mesure de similarité comme le score BLEU. Cependant, ces métriques de correspondance ne parviennent souvent pas à saisir les nuances de la programmation. Une critique clé du BLEU est son inefficacité à capturer les caractéristiques sémantiques du code.
Au lieu de s’appuyer uniquement sur la correspondance, une mesure plus pertinente a été proposée : la correction fonctionnelle. Cela signifie que le code produit par le modèle doit passer un ensemble donné de tests unitaires. L’idée est alignée sur les pratiques de codage standard, car les développeurs utilisent souvent des tests unitaires pour évaluer l’efficacité et la précision de leur code.
Cette métrique évalue non seulement la précision, mais également l’utilité fonctionnelle du code généré.
La métrique pass@k est introduite comme une mesure de correction fonctionnelle. Elle signifie essentiellement que si l’un des “k” échantillons de code générés passe les tests unitaires, le problème est considéré comme résolu. Cependant, au lieu de l’utiliser sous sa forme directe, un estimateur non biaisé est utilisé pour calculer pass@k afin d’éviter une variance élevée.
Pour évaluer les capacités de code de ChatGPT, la recherche a utilisé l’ensemble de données HumanEval. Cet ensemble de données se compose de problèmes Python écrits à la main, chacun accompagné de tests unitaires.
Compte tenu des risques associés à l’exécution de code inconnu ou non fiable, un environnement de sandbox a été conçu pour tester le code généré en toute sécurité. Cet environnement a utilisé gVisor pour émuler les ressources et créer une barrière entre le système hôte et le code en cours d’exécution. Ainsi, même si le modèle produit du code malveillant, il reste contenu et ne peut pas nuire au système hôte ou au réseau.
Utilisation de l’interpréteur de code ChatGPT
OpenAI’s ChatGPT a subi de nombreuses évolutions, avec l’interpréteur de code se démarquant comme une fonctionnalité révolutionnaire dans le modèle GPT-4. Contrairement aux interfaces de chat traditionnelles, l’interpréteur de code permet aux utilisateurs de plonger plus profondément dans les tâches computationnelles, effaçant sans effort les frontières entre les conversations humaines-AI et les processus computationnels.
Au cœur de l’interpréteur de code se trouve un ordinateur intégré dans le chatbot. Cette fonctionnalité dynamique offre aux utilisateurs un espace disque temporaire pour télécharger une multitude de formats de fichiers allant des types courants comme TXT, PDF et JPEG aux types plus spécialisés tels que CPP, PY et SQLite. Cette largeur de support amplifie sa polyvalence à travers diverses tâches, qu’il s’agisse de traitement de documents ou de manipulation d’images.
Fonctionnant dans un cadre robuste et sécurisé, l’interpréteur de code est équipé de plus de 300 bibliothèques préinstallées. Cet environnement sandboxé assure la sécurité tout en fournissant une puissance computationnelle substantielle. Intéressant, lorsqu’il est chargé, il crée un script Python en temps réel pour exécuter la demande de l’utilisateur. Par exemple, convertir un PDF basé sur une image en un format recherchable à l’aide de la reconnaissance optique de caractères (OCR) ; tout ce qu’il faut faire à l’utilisateur est de télécharger le document, et ChatGPT gère le reste.
Un point d’intrigue a été la limite de taille de fichier pour les téléchargements. Bien que des spécifications définitives soient encore à annoncer, les expériences des utilisateurs suggèrent que le système peut traiter efficacement des fichiers considérablement plus grands que 100 Mo. Quelle que soit la taille, il est crucial de noter que ces fichiers sont transitoires, étant supprimés après la fin de la session de chat.
Le génie de l’interpréteur de code ne réside pas seulement dans son savoir-faire technique, mais également dans son accessibilité. OpenAI propose cette fonctionnalité aux abonnés de ChatGPT Plus, qui vient avec le modèle GPT-4. Ainsi, cet outil de transformation n’est pas seulement réservé à l’élite technologique mais devient progressivement accessible à un public plus large.
La distinction entre le modèle ChatGPT standard et l’interpréteur de code réside dans leurs paradigmes d’interaction. Alors que le premier génère principalement des réponses textuelles, le second comprend et exécute du code, offrant des résultats directs. Cela ne le rend pas seulement un atout précieux pour les professionnels de la technologie mais également un outil qui permet à ceux qui ne connaissent pas la programmation d’effectuer des tâches computationnelles complexes.
Les capacités de l’interpréteur de code ChatGPT peuvent révolutionner plusieurs aspects du développement de logiciels et de la science des données :
- Génération automatique de code : Pour les applications logicielles et les scripts d’analyse de données, étant donné une description de haut niveau, le système peut produire des structures de code de base ou des extraits de code complexes, accélérant ainsi les processus de développement et d’analyse de données.
- Examens de code et validation de données : Les outils alimentés par l’IA comme ChatGPT peuvent aider à améliorer la qualité et la sécurité des bases de code logiciel. De plus, dans le domaine de la science des données, de tels outils peuvent être instrumentaux dans l’examen et la validation des scripts de traitement et de transformation de données, garantissant ainsi l’exactitude et l’efficacité.
- Aide à l’analyse de données : Pour les scientifiques des données, l’interpréteur de code ChatGPT peut aider à générer du code pour l’exploration préliminaire de données, la visualisation et même les tests statistiques de base, facilitant ainsi le flux de travail d’analyse de données.
Si vous êtes intéressé par en savoir plus sur les complexités de ChatGPT et l’ingénierie de prompt, Unite AI propose une analyse complète dans ‘ChatGPT : ingénierie de prompt avancée‘.
Configuration de l’interpréteur de code ChatGPT
L’intégration de l’interpréteur de code permet à la plate-forme d’interpréter les requêtes des utilisateurs, de les exécuter comme du code Python et d’afficher les résultats dans un format de chat interactif. Pour accéder à cette fonctionnalité, les utilisateurs peuvent se rendre dans les paramètres de ChatGPT, explorer la section des fonctionnalités bêta et activer l’interpréteur de code.
Ce qui le distingue est son mécanisme transparent. Lorsque les utilisateurs sollicitent une tâche, la plate-forme révèle chaque étape du processus de traitement, offrant ainsi une clarté sur la façon dont les commandes sont interprétées et exécutées. Importamment, pour des raisons de confidentialité et de sécurité, l’interpréteur de code fonctionne sans aucune connectivité Internet.
Exploration des avantages de l’interpréteur de code ChatGPT
Visualisation de données & analyse
ChatGPT va au-delà de la portée des graphiques traditionnels, offrant à la fois des représentations graphiques conventionnelles et innovantes. Cela permet aux utilisateurs de visualiser leurs données dans des formats qui fournissent les informations les plus significatives.
Cependant, ce n’est pas seulement une question de visualiser les données brutes. Le modèle ChatGPT est habile à traiter et à raffiner les données. Bien que puissant, les utilisateurs doivent exercer la prudence.
Les analystes financiers trouveront particulièrement utile la capacité de l’interpréteur de code à analyser et à visualiser les taux de stock. Grâce à une intégration transparente, les utilisateurs peuvent télécharger des ensembles de données et les visualiser dans divers formats. La fonctionnalité de cette fonction est évidente lorsque les individus peuvent effectuer des analyses de données complexes.
La vidéo ci-dessous montre comment l’interpréteur de code ChatGPT a créé une analyse de stock TSLA complète.
Points clés :
- Les actions de Tesla ont connu une volatilité mais ont également montré une résilience avec des périodes de croissance.
- Les volumes de trading élevés lors de certaines journées indiquent un intérêt significatif du marché ou des réactions à des événements clés.
- Le rendement négatif de l’année à ce jour (YTD) suggère que les investisseurs devraient analyser à la fois les facteurs internes de l’entreprise et les conditions du marché lorsqu’ils envisagent des investissements futurs.
Mise en œuvre de la vision par ordinateur et de la reconnaissance optique de caractères (OCR)
La détection de visage, une fonction essentielle de la vision par ordinateur, a été abordée avec une technique classique : le classificateur de cascade Haar d’OpenCV.
L’image ci-dessous met en évidence l’utilisation du classificateur de cascade Haar classique.
Le processus d’extraction de texte à partir d’images, connu sous le nom de reconnaissance optique de caractères (OCR), a été réalisé sans effort à l’aide de Tesseract, le texte étant ensuite structuré par GPT-4, améliorant ainsi la compréhensibilité.
Dans la vidéo suivante, voyez comment Tesseract (OCR) extrait du texte à partir d’une image de certificat.
L’interpréteur de code excelle dans le domaine de la manipulation de vidéos, d’audio et d’images. Avec des commandes simples, les utilisateurs peuvent réaliser des éditions détaillées, telles que la conversion de GIF en MP4 avec des améliorations spécifiques. Il suffit de télécharger votre fichier, de saisir les modifications souhaitées, et le tour est joué.
Bibliothèque externe Python dans votre interpréteur de code ChatGPT
L’interpréteur de code ChatGPT est une plate-forme de programmation dynamique équipée d’un ensemble étendu de bibliothèques Python. Ces dernières couvrent tout, de la visualisation de données avec Seaborn à l’apprentissage automatique avancé via Torch. Mais ce n’est pas qu’un ensemble d’outils statiques.
Inspiré par cette page ChatGPT de Korakot Chaovavanich.
En commençant par la dernière version nltk, nous avons téléchargé un fichier .whl vers l’interpréteur. Nous avons ensuite instruit ChatGPT pour qu’il localise le répertoire de site-packages approprié en analysant l’emplacement d’un paquet existant. L’étape suivante a consisté à décompresser le fichier wheel dans un emplacement temporaire et à déplacer les fichiers vers le répertoire de site-packages identifié. Cependant, cela a rencontré un obstacle.
À la recherche d’une solution de contournement, nous avons sollicité : “Assurez-vous que NLTK soit installé dans l’environnement Python et soit accessible après installation.”
ChatGPT a répondu en proposant une solution. Il a suggéré d’ajouter le répertoire temporaire à sys.path, permettant ainsi à Python d’identifier et de récupérer des modules à partir du paquet nltk décompressé dans cet emplacement. Cette tactique a fonctionné à merveille, aboutissant à l’installation réussie de NLTK.
Grâce à l’utilisation de fichiers .whl, l’installation a montré un mélange d’ingéniosité et d’adaptabilité. L’interpréteur de code ChatGPT, malgré les défis initiaux, a manifesté sa polyvalence et son engagement à répondre aux besoins des programmeurs, assurant ainsi une expérience de codage raffinée à la fois pour les novices et les vétérans.
Dans une démonstration fascinante des capacités de l’interpréteur, un tweet récent de @DominikPeters a mis en évidence une démonstration unique. Peters a demandé à GPT-4 de générer un quiz sur les arrondissements de Paris, et le modèle a livré un site Web fonctionnel. Le quiz fonctionnel est disponible pour une expérience pratique à dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Conclusion
La percée d’OpenAI avec l’interpréteur de code ChatGPT est rien de moins que transformationnel pour les programmeurs et les non-programmeurs. Sa polyvalence dans la gestion d’une large gamme de tâches – de l’aide aux développeurs dans le débogage à la création sans effort de quizzes parisiens – est un témoignage du potentiel illimité de l’IA pour améliorer nos expériences numériques. Voici l’essence distillée de notre plongée en profondeur :
Comprenez votre outil : Tout comme vous feriez connaissance avec un collègue, familiarisez-vous avec l’interpréteur de code. Il est conçu sur la base de Codex, qui est affiné à partir de GPT-4. Sa compétence s’étend sur plusieurs langages de programmation, le rendant ainsi un compagnon idéal pour toutes vos aventures de codage.
Adoptez la révolution de l’IA : Les pratiques de codage traditionnelles sont sur le point de connaître un changement sismique. Avec des outils alimentés par l’IA comme l’interpréteur de code ChatGPT, des tâches telles que l’identification de bogues, la génération de code et même les examens de code peuvent être accélérés.
Au-delà du code : L’incursion de l’interpréteur de code n’est pas limitée au texte ou au code. Sa capacité à traiter plusieurs formats de fichiers, des fichiers TXT simples aux scripts PY complexes, souligne son utilité dans divers domaines.
N’arrêtez jamais d’expérimenter : Notre exploration avec l’installation de la bibliothèque NLTK reflète l’importance de la persévérance et de l’adaptabilité, des valeurs que l’interpréteur de code incarne. S’il y a un obstacle, il y a souvent un moyen de le contourner.
Rejoignez la conversation sur l’IA : Les applications du monde réel, comme le montre le quiz sur les arrondissements de Paris, soulignent l’utilité immense de l’outil. Adoptez-le, explorez-le, et laissez-le amplifier vos projets.
La vidéo ci-dessus a été réalisée à l’aide de Gen-2 et Midjourney.
Pour résumer, l’interpréteur de code ChatGPT est plus qu’un outil ; il change la façon dont nous interagissons avec la technologie. Pour les innovateurs et les passionnés, il promet un monde plein de potentiel de codage.






















