ChatGPT sur un “ordinateur portable” IBM de 1984, lequel possède un processeur Intel 8088 cadencé à 4,77 MHz et 640 Ko de RAM. Et non, cette réalisation n’est pas l’œuvre de ChatGPT ; interrogé à ce sujet, l’agent conversationnel mettait en garde sur la complexité du projet.
Yeo Kheng Meng, qui se présente comme un « créateur, codeur, pilote privé, passionné de rétro-informatique », s’est lancé le défi de mettre au point un client ChatGPT (Chat Generative Pre-Trained Transformer) pour MS-DOS afin de l’exécuter sur un ordinateur « portable » IBM 5155 datant de 1984. Cette machine embarque un processeur Intel 8088 cadencé à 4,77 MHz et, dans le cas présent, 640 Ko de RAM.
L’auteur de cette réalisation souligne que de nombreux développeurs mettent au point des clients pour les plateformes modernes afin de dialoguer avec ce chatbot d’IA, mais pense, certainement à juste titre, être le seul a l’avoir fait pour une telle plateforme. Surtout, il précise qu’il n’a pas eu recours à ChatGPT pour coder cette application. Avant de se lancer, Yeo Kheng Meng avait toutefois questionné l’agent conversationnel sur la pertinence de son projet. ChatGPT avait décrit les grandes lignes de la procédure, tout en concluant que « la création d’un client DOS ChatGPT peut s’avérer complexe, car DOS est un système d’exploitation obsolète qui ne dispose pas des outils et des ressources nécessaires au développement d’applications modernes ».
Oubliez l’Apple Watch, voici la ChatGPT Watch
La procédure
Le développeur explique chaque étape sur son blog. Pour résumer, il a utilisé le compilateur Open Watcom C/C++ pour le DOS 16 bits. Ce compilateur est un programme 32 bits capable de fonctionner sous Windows 11 64 bits. Pour tester l’application DOS pendant le développement, l’auteur a utilisé une machine virtuelle Virtualbox fonctionnant sous DOS 6.22.
Un autre défi résidait dans la connexion à ChatGPT. Pour connecter l’API, Yeo Kheng Meng a pu s’appuyer sur la libraire MTCP écrite par Michael B. Brutman mais précise que pour communiquer avec cette API, il a dû construire l’intégralité de la requête POST « à la main en C ».
Se sont ajoutés bien d’autres obstacles, notamment le cryptage HTTPS. L’auteur précise en effet qu’il n’existe aucune bibliothèque TLS moderne compatible avec Windows 3.1, encore moins pour la plateforme DOS. Il estime que « le portage d’une telle bibliothèque nécessiterait probablement trop d’efforts » et que si des algorithmes de cryptage TLS modernes sont portés pour fonctionner sur l’Intel 8088, il est probable « qu’ils soient trop lourds pour être exécutés en un temps raisonnable sur un si vieux processeur ». Yeo Kheng Meng confesse donc avoir « triché » en utilisant son propre proxy http-to-https dans Golang, lequel fonctionne sur un PC moderne et agit comme « un intermédiaire transparent ».
N’hésitez pas à consulter la source pour davantage de détails techniques si cela vous intéresse.
Source : Yeo Kheng Meng via Tom’s Hardware US