选自arstechnica
作者:BENJ EDWARDS
机器之心编译
机器之心编辑部
当 ChatGPT 遇到 MS-DOS 系统,你可以会有一种穿越的感觉。
近日,新加坡的复古计算机爱好者 Yeo Kheng Meng 发布了一个 MS-DOS 的 ChatGPT 客户端,可以在 4.77MHz IBM PC 上运行,为 ChatGPT 提供了一种独特的交流方式。
对於 ChatGPT 客户端来说,MS-DOS 是一个非常有挑战性的平台,因为它缺乏本地联网能力。此外,Yeo 的目标是一台处理能力非常有限的电脑:1984 年的 IBM 5155。它的内部包含一个 Intel 8088 4.77 MHz 的 CPU、640KB 传统内存、CGA ISA 显卡和 MS-DOS 6.22 系统。
IBM 5155 是一款携带型电脑,它采用了类似於行李箱的外壳设计,有一个可摺叠的手柄,可以方便地携带。
为了创建客户端,Yeo 使用了 Open Watcom C/C ,这是一个在 Windows 11 上运行的现代编译器,可以针对 16 位 DOS 平台。为了测试,他使用了运行 DOS 6.22 的 VirtualBox 虚拟机来简化开发过程,然後他将编译後的二进位文件传输到目标 IBM DOS PC 上进行测试。
为了处理 IBM PC 上的网路问题, Yeo 做了多方面的努力。首先,他利用了 1983 年发明的「Packet Driver API」标准。他将 Michael B. Brutman 的开源 MTCP 库集成到应用程序中,与 Packet Driver 进行通信,为客户端提供网路功能。
对於 ChatGPT API,Yeo 使用了 OpenAI 的 Chat Completion API,用 C 语言手动构建了 POST 请求(并解析了 JSON 格式的响应)。
然而,Yeo 遇到了一个巨大的障碍:ChatGPT 的 API 需要加密的 HTTPS 连接。由於 MS-DOS 没有原生的 HTTPS 库,Yeo 创建了一个 HTTP-to-HTTPS 代理,可以在现代计算机上运行,并翻译 MS-DOS 客户端和 ChatGPT 的安全 API 之间的请求和响应,在通信过程中充当一个透明的中间人。
Yeo 说,由於 DOS 应用的单线程性质,向控制台读写输入是另一个挑战。他设计了一种在不暂停程序的情况下检查和接收按键的方法,使用 MTCP 页面和在线样本作为参考。
最後,客户端的效果比 Yeo 预期的要好。他在一篇更详细的博客中描述了他的开发过程。
博客地址:
https://yeokhengmeng.com/2023/03/building-a-dos-chatgpt-client-in-2023/
相关代码参加 GitHub 项目:
项目地址:
https://github.com/yeokm1/doschgpt
喜欢这篇文章吗?立刻分享出去让更多人知道吧!
本站内容充实丰富,博大精深,小编精选每日热门资讯,随时更新,点击「抢先收到最新资讯」浏览吧!
请您继续阅读更多来自 机器之心Pro 的精彩文章:
※在re:Invent 2022大会上,我们看到了云计算的未来