
Un bricoleur programme un client ChatGPT pour MS-DOS

Un passionné de rétro à Singapour a réussi à faire fonctionner ChatGPT sur un ordinateur vieux de 40 ans. Il a programmé un client pour MS-DOS qui utilise quelques astuces pour permettre des conversations futuristes avec l'IA.
Yeo Kheng Meng n'est pas un inconnu. En 2019, il s'était déjà attaqué au service de messagerie instantanée Slack. Il a programmé un client Slack pour Windows 3.1, lancé en 1992. Il consacre son dernier projet à un autre programme de chat, mais cette fois-ci, il s'agit d'un programme d'intelligence artificielle. Et il remonte encore plus loin dans le temps, puisque son client ChatGPT pour MS-DOS fonctionne même sur un PC IBM du début des années 1980.
L'ordinateur présenté dans la vidéo est un IBM 5155 Portable PC de 1984 sous MS-DOS 6.22, équipé d'un processeur Intel 8088 de 4,77 mégahertz, qui a vu le jour en 1981 avec MS-DOS 1.0. Pour le bricoleur, c'est l'appareil parfait, car : "Si mon application fonctionne sur cette machine IBM, elle devrait également fonctionner sur à peu près n'importe quelle autre machine DOS"
Comme vous pouvez le voir dans la vidéo, ChatGPT fonctionne sous MS-DOS en tant qu'application plein écran, qui ne peut traiter que du texte. Sa mise en œuvre se heurte à plusieurs obstacles. Yeo peut programmer un client grâce aux API ChatGPT publiées début mars par OpenAI. Pour la programmation, il se sert d'une part de l'API Chat Completion et d'autre part de ressources open source. Pour compiler le code écrit dans Windows 64 bits pour DOS 16 bits, il utilise Open Watcom C/C++. Pour tester le logiciel, il utilise le logiciel de virtualisation Virtualbox - une machine virtuelle fonctionnant sous MS-DOS 6.22.

Source : Yeo Kheng Meng
Le plus grand défi pour Yeo est le fait qu'il n'existe pas d'API réseau pour MS-DOS. Du moins, pas nativement. Il résout le problème en s'appuyant sur une norme réseau de 1983 appelée PC/TCP Packet Driver et sur une bibliothèque réseau open source mTCP.
L'absence de multithreading sur l'ancien processeur et le fait que ChatGPT nécessite une connexion HTTPS cryptée constituent d'autres écueils dans la mise en œuvre. Yeo résout ce problème en utilisant un proxy HTTP vers HTTPS. Si vous souhaitez en savoir plus sur ce projet, le bricoleur ici a documenté son travail. Il a publié le code du client ChatGPT pour MS-DOS sur GitHub.
Photo de couverture : Yeo Kheng Meng

Le baiser quotidien de la muse stimule ma créativité. Si elle m’oublie, j’essaie de retrouver ma créativité en rêvant pour faire en sorte que mes rêves dévorent ma vie afin que la vie ne dévore mes rêves.