Разработчик, ранее создавший версию Wordle для Windows 3.1, теперь представил публике клиент ChatGPT для Windows 3.1 под названием WinGPT. Энтузиаст портировал современные библиотеки SSL/TLS в старую ОС, чтобы чат-бот мог работать.
WinGPT поддерживает любую 16- или 32-битную версию Windows 3.1 и новее, но не работает в 64-битных версиях ОС. Загрузить клиент и предаться ностальгии можно с этой страницы Dialup.net, которая также служит блогом и подробно рассказывает о том, как WinGPT был построен. Подчеркивается, что для работы ИИ чат-бота нужно будет предоставить собственный API-ключ OpenAI.
Запуск ChatGPT в старых системах возможен в силу того, что в основном все происходит на серверах OpenAI, а не локально. Поэтому для работы ИИ не требуется современная 16-ядерная машина. Основным ограничением для старого оборудования становится память, а не вычислительная мощность.
Для экономии памяти WinGPT просит ChatGPT быть как можно более кратким в своих ответах, и тот не отправляет текст предыдущих запросов и вызовов API при создании новых. То есть ChatGPT не может использовать контекст предыдущих чатов для формирования ответов.
Еще одна большая проблема с запуском любого подключаемого к интернету ПО на старых 16- и 32-битных версиях Windows заключается в том, что большая часть современного интернета зашифрована, а старые ОС не поддерживают современные протоколы SSL/TLS. Для обхода этих ограничений многие подключенные к интернету ретро-проекты, включая браузеры и чат-клиенты, полагаются на своеобразные прокси, используя современную систему для общения с интернетом и расшифровки данных, и передавая эти расшифрованные данные на старый ПК в локальной сети.
Чтобы заставить WinGPT работать без прокси, разработчик создал 16-битный порт библиотеки WolfSSL для поддержки соединений TLS 1.2 и 1.3 на древней ОС. Автор пишет, что этот порт «небезопасен, ненадежен и не имеет гарантии», и его следует использовать только в развлекательных целях. По его словам, порт не проверяет сертификаты безопасности и использует для работы «фальшивый генератор случайных чисел».
Забавно, что во время работы над некоторыми элементами пользовательского интерфейса WinGPT (в частности, строкой состояния), разработчик обратился за помощью к самому ИИ. Верный себе ChatGPT дал два уверенных, но неправильных ответа, сначала попросив разработчика использовать элемент управления строкой состояния из более поздней версии Windows, а затем придумал некую «очень заманчивую, но явно несуществующую» UI библиотеку Windows 3.1, которая могла бы выполнить задачу.
Напомню, что это не первый случай, когда ChatGPT запускают на старом софте и железе. К примеру, еще в марте любитель ретрокомпьютеров из Сингапура Йео Кхенг Менг (Yeo Kheng Meng) представил клиент ChatGPT для MS-DOS, который работал на старом IBM PC 1984 года выпуска.
Другие энтузиасты ретро-вычислений тоже нашли способы заставить современных ИИ чат-ботов работать на давно забытых компьютерах и операционных системах. Наиболее заметным из подобных проектов является JavaGPT, предлагающий основанную на Java версию ChatGPT, которая будет работать в старых операционных системах, включая Windows XP и Windows 98.