Aficionado construye el cliente ChatGPT para MS-DOS

Aficionado construye el cliente ChatGPT para MS-DOS
Una foto de una computadora IBM PC 5155 que ejecuta un cliente ChatGPT escrita por Yeo Kheng Meng.
Agrandar / Una foto de una computadora portátil IBM PC 5155 que ejecuta un cliente ChatGPT escrita por Yeo Kheng Meng.

El domingo, el entusiasta de la retrocomputación radicado en Singapur Yeo Kheng Meng liberado un cliente ChatGPT para MS-DOS que puede ejecutarse en una PC IBM de 4,77 MHz de 1981, lo que brinda una forma única de conversar con el popular modelo de lenguaje OpenAI.

Los proyectos antiguos 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. escribe

en su blog. En este 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 que se lanzó este mes, cualquier persona con habilidades de programación puede interactuar con ChatGPT con su propia aplicación personalizada.

Gracias a su nueva aplicación, que puede ejecutarse 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 antigua.

Desafíos de desarrollo

Una foto de una computadora IBM PC 5155 que ejecuta un cliente ChatGPT escrita por Yeo Kheng Meng.
Agrandar / Una foto de una computadora IBM PC 5155 que ejecuta un cliente ChatGPT escrita por Yeo Kheng Meng.

MS-DOS planteó una plataforma particularmente desafiante para un cliente de ChatGPT, que carecía de capacidades de red nativas. Además, Yeo apuntó a una computadora con un poder de procesamiento muy limitado: una 1984 PC 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 necesitaba abrirse camino a través de varias capas. Primero, Yeo utilizó un “API de controlador de paquetesestándar inventado en 1983. Integró el 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 JSON-respuesta formateada) manualmente en C.

Sin embargo, Yeo se topó con un gran inconveniente: las API de ChatGPT requieren conexiones HTTPS encriptadas. Dado que no hay bibliotecas HTTPS nativas para MS-DOS, Yeo creó un Proxy de HTTP a HTTPS que puede ejecutarse en una computadora moderna y traducir las 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 entradas en la consola presentó otro desafío debido a la naturaleza de subproceso único de las aplicaciones DOS. Ideó 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 experimentar 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 última generación.

Leave a Reply

Your email address will not be published. Required fields are marked *