Prompt engineering
Explorer les capacités de l’interpréteur de code ChatGPT d’OpenAI : une plongée en profondeur 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 accrue dans la compréhension, l’interprétation et même la génération de code dans de nombreuses langues 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.
Formation de GPT pour la programmation : l’approche Codex
Les deux outils, 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é sur du 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 composé de 164 problèmes de programmation originaux, qui incluent la compréhension de la langue, les algorithmes et les tests de base de mathématiques, Codex avec 12B de paramètres a résolu 28,8% d’entre eux en une seule tentative.
En affinant encore le modèle grâce à une formation correcte de fonctions autonomes, son efficacité a été améliorée, ce qui a permis à Codex-S de résoudre 37,7% des défis en 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ésolu avec succès 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 basées sur les correspondances 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 les correspondances, 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 mesure é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 d’utiliser cela 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.
Étant donné les 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 hôte ou au réseau.
Utilisation de l’interpréteur de code ChatGPT
L’interpréteur de code 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 des tâches computationnelles, en fusionnant sans effort les lignes entre les conversations humaines-AI et les processus computationnels.
À son cœur, l’interpréteur de code est semblable à avoir un ordinateur intégré dans le chatbot. Cette fonctionnalité dynamique offre aux utilisateurs un espace de disque temporaire pour télécharger une multitude de formats de fichiers, allant des types courants comme TXT, PDF et JPEG aux plus spécialisés comme CPP, PY et SQLite. Cette largeur de prise en charge 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 de sandbox garantit la sécurité tout en offrant 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 que l’utilisateur doit faire est de télécharger le document, et ChatGPT s’occupe du reste.
Un point d’intrigue a été la limite de taille de fichier pour les téléchargements. Alors que des spécifications définitives sont 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.
La brillance 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 destiné à 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 n’ont pas de connaissances en codage 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 logicielles. 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 curieux de découvrir plus sur les complexités de ChatGPT et de l’ingénierie de prompt, Unite AI propose une analyse approfondie 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 plateforme d’interpréter les requêtes des utilisateurs, de les exécuter sous forme de 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, c’est son mécanisme transparent. Alors que les utilisateurs demandent une tâche, la plateforme révèle chaque étape du processus de traitement, offrant ainsi de la 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 connectivité Internet.
Explorer les avantages de l’interpréteur de code ChatGPT
Visualisation de données et analyse
ChatGPT va au-delà de la portée des graphiques traditionnels, offrant à la fois des représentations graphiques conventionnelles et innovantes. Cela garantit que les utilisateurs peuvent visualiser leurs données dans des formats qui fournissent les informations les plus significatives.
Cependant, ce n’est pas seulement une question de visualisation de données brutes. Le modèle ChatGPT est habile dans le traitement et l’affinement des données. Bien qu’il soit puissant, les utilisateurs doivent faire preuve de prudence.
Les analystes financiers trouveront la capacité de l’interpréteur de code à analyser et à visualiser les taux d’actions particulièrement utile. 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 complète des actions TSLA.
Points clés :
- Les actions de Tesla (TSLA ) ont connu une volatilité, mais ont également montré une résilience avec des périodes de croissance.
- Les volumes de transactions é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 en cours (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é avec succès à 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 de laisser ChatGPT gérer le reste.
Bibliothèque externe Python à l’intérieur de votre interpréteur de code ChatGPT
L’interpréteur de code ChatGPT est une plateforme de programmation dynamique équipée d’un large ensemble de bibliothèques Python. Ces bibliothèques 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 de nltk, nous avons téléchargé un fichier .whl vers l’interpréteur. Nous avons ensuite demandé à ChatGPT de localiser le répertoire de packages approprié en analysant l’emplacement d’un package existant. L’étape suivante consistait à décompresser le fichier wheel dans un emplacement temporaire et à déplacer les fichiers vers le répertoire de packages identifié. Cependant, cela a rencontré un obstacle.
À la recherche d’une solution de contournement, nous avons demandé : « Veuillez vous assurer que NLTK est installé dans l’environnement Python et est accessible après l’installation. »
ChatGPT a répondu en fournissant 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 package NLTK décompressé dans cet emplacement. Cette tactique a fonctionné à merveille, conduisant à 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 démontré sa polyvalence et son engagement à répondre aux besoins des programmeurs, garantissant ainsi une expérience de codage raffinée pour les débutants 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, allant de l’aide aux développeurs dans le débogage à la création sans effort de quiz 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 au-dessus 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 subir 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 des 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é à gérer de multiples formats de fichiers, des fichiers TXT simples aux scripts PY complexes, souligne son utilité à travers 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 quiz sur les arrondissements de Paris, soulignent l’utilité considérable 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 de 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 enthousiastes, il promet un monde plein de potentiel de codage.






















