El domingo, Yeo Kheng Meng, un entusiasta de la retrocomputación de Singapur, liberado un cliente ChatGPT para MS-DOS que se ejecuta en una PC IBM de 4,77 MHz de 1981, lo que brinda una forma única de chatear con el popular modelo de lenguaje OpenAI.
Los viejos proyectos de desarrollo de computadoras son algo natural para Yeo, quien creó un Cliente flojo para Windows 3.1 en 2019. «Pensé en probar algo diferente esta vez y desarrollar para una plataforma aún más antigua como un desafío», dijo. el escribe en tu blog En ese caso, centró su atención en MS-DOS, un sistema operativo de solo texto lanzado por primera vez en 1981, y ChatGPT, un modelo de lenguaje grande (LLM) impulsado por IA lanzado por OpenAI en noviembre.
Como modelo de IA conversacional, ChatGPT se basa en el conocimiento extraído de Internet para responder preguntas y generar texto. Gracias a una API lanzada este mes, cualquier persona con experiencia en programación puede interactuar con ChatGPT con su propia aplicación personalizada.
Gracias a su nueva aplicación, que se ejecuta en MS-DOS, Yeo puede usar una computadora antigua compatible con IBM PC para chatear con ChatGPT a través de Internet. Es una conversación de ida y vuelta similar a la interfaz web tradicional de ChatGPT, aunque como una aplicación de pantalla completa de solo texto que se ejecuta en la máquina anterior.
desafíos de desarrollo
MS-DOS planteó una plataforma particularmente desafiante para un cliente de ChatGPT, que carecía de capacidades de red nativas. Además, Yeo buscaba una computadora con un poder de procesamiento muy limitado: una 1984 Computadora portátil IBM 5155que incluye una CPU Intel 8088 de 4,77 MHz, memoria convencional de 640 KB, gráficos CGA ISA y MS-DOS 6.22.
Para crear el cliente, Yeo usó Abra Watcom C/C++, un compilador moderno que se ejecuta en Windows 11 que puede apuntar a plataformas DOS de 16 bits. Para fines de prueba, utilizó un caja virtual máquina virtual que ejecuta DOS 6.22 para agilizar el proceso de desarrollo, luego transfirió el binario compilado a la PC IBM DOS de destino para probarlo.
Para manejar las redes en la PC de IBM, Yeo tuvo que pasar por varias capas. Primero, Yeo usó un «Paquete de API de controlador» estándar inventado en 1983. Integraba código abierto MTCP biblioteca de Michael B. Brutman en la aplicación para comunicarse con el controlador de paquetes, lo que permite capacidades de red para el cliente.
Para la API de ChatGPT, Yeo usó OpenAI API de finalización de chatconstruyendo la solicitud POST (y analizando el JSONrespuesta formateada) manualmente en C.
Sin embargo, Yeo se topó con un gran obstáculo: las API de ChatGPT requieren conexiones HTTPS encriptadas. Como no existen bibliotecas HTTPS nativas para MS-DOS, Yeo creó una Proxy HTTP a HTTPS que puede ejecutarse en una computadora moderna y traducir solicitudes y respuestas entre el cliente MS-DOS y la API segura de ChatGPT, actuando como un intermediario transparente en el proceso de comunicación.
Yeo dice que leer y escribir la entrada de la consola presentó otro desafío debido a la naturaleza de un solo subproceso de las aplicaciones DOS. Desarrolló un método para verificar y recibir pulsaciones de teclas sin pausar el programa utilizando la página MTCP y muestras en línea como referencia.
Al final, el cliente funciona mejor de lo que esperaba Yeo y espera más desafíos retro en el futuro: «Después de probar esto, definitivamente escribiré más software retro en el futuro», escribe en una entrada de blog que describe su proceso de desarrollo con más detalle.
Yeo lanzó su código (llamado «doschgpt») en GitHub si otros quieren ejecutarlo, o tal vez mejorar o ampliar el código en el futuro. Con un poco de creatividad, la última tecnología en modelos de lenguaje de IA no tiene por qué limitarse a máquinas de gama alta.
«Introvertido. Solucionador de problemas. Aficionado total a la cultura pop. Estudiante independiente. Creador».