WTF ? ! Le ChatGPT d’OpenAI représente peut-être la pointe de la technologie de l’intelligence artificielle, mais l’expérience de l’utilisateur final n’est guère plus que du texte et du réseautage. Un moddeur a décidé qu’avec un peu d’huile de coude, un PC de 39 ans aurait tout ce dont il avait besoin pour exécuter le client de texte AI génératif.
L’amateur Yeo Kheng Meng récemment dévoilé son client ChatGPT pour MS-DOS, exécuté sur son PC IBM de presque 40 ans. L’application compose le texte aussi bien que le service OpenAI sur les systèmes modernes, uniquement dans un texte simple et de style rétro.
Yeo a choisi le plus ancien PC MS-DOS de sa collection – un PC portable IBM 5155 de 1984. Il utilise le processeur Intel 8088 4,77 Mhz du PC IBM de 1981, un adaptateur Ethernet ISA compatible NE2000, exécute MS-DOS 6.22 et dispose de 640 Ko de RAM. Yeo pense que n’importe quelle machine DOS devrait être capable de gérer tout ce qui fonctionne sur ces spécifications.
La création de nouveaux logiciels basés sur Internet sur un système d’exploitation et un PC pré-Internet présentait de nombreux défis. Yeo devait trouver comment opérationnaliser la mise en réseau sur MS-DOS et tester le logiciel IBM PC sur un ordinateur moderne. Tester le client sur la machine Windows 11 64 bits de Yeo s’est avéré complexe car, par défaut, il ne peut pas exécuter les binaires DOS 16 bits compilés. Déplacer le code de test vers l’IBM PC aurait considérablement ralenti le développement.
De plus, une compatibilité winevdm ne se connecterait pas au réseau. Python pour MS-DOS n’est pas utilisable non plus car il ne prend pas en charge les processeurs 16 bits. Au lieu de cela, Yeo a testé le projet dans un système Virtualbox exécutant la même version DOS installée sur le 5155 avec un réseau ponté vers le PC hôte.
Yeo a dit le Bibliothèque MTCP– une pile TCP évolutive et compatible avec le multicœur au niveau de l’utilisateur – était l’outil le plus crucial du projet. Cela lui a permis de coder la fonctionnalité de mise en réseau relativement rapidement, bien qu’il ait dû écrire autour du manque de multithreading de DOS.
La seule partie du client ChatGPT qui ne s’exécute pas nativement sur le système IBM est le proxy HTTP vers HTTPS. Même si Yeo pouvait porter la bibliothèque TLS nécessaire sur l’Intel 8088, ses performances seraient probablement trop lentes. Ainsi, cette partie du processus doit se superposer à un PC moderne.
Même s’il ne s’agit pas d’une solution pure à 100 %, l’utilisation de l’IA textuelle générative sur un système aussi ancien dégage une ambiance quelque peu rétrofuturiste. Saisir du texte et recevoir une réponse intelligente est quelque chose que les gens ont imaginé faire avec les ordinateurs au moins depuis l’apogée du 5155.
Le projet ressemble également à d’autres exemples de fonctionnalités modernes fonctionnant sur du matériel rétro. En 2015, les ingénieurs de Netflix construit un client pour la NES. En 2019 Yeo fait une version Windows 3.1 de Slack, et en 2021, quelqu’un a obtenu un Apple IIe pour jouer vidéo en plein mouvement.