30 岁“古董”电脑,因 ChatGPT 被迫“复工”:在 Windows 3.1 里用上 ChatGPT!
时间:2023-07-01 17:20:57来源:站长之家

声明:本文来自于微信公众号CSDN(ID:CSDNnews),授权站长之家转载发布。

ChatGPT 问世的这半年,我们目睹了许多由它掀起的变革和争议,见证了越来越多大模型的崛起,同时推测着未来的发展趋势……但万万没想到,这股名为 ChatGPT 的风,还能吹到30年前的操作系统中!

近来,一位开发者 @dialupdotnet 掏出了他30年前——即1993年入手的“古董电脑” Gateway4DX2-66,并表示:“我不想让我1993年的 Gateway4DX2-66被排除在 AI 革命之外,所以我基于 OpenAI API,为 Windows3.1建立了一个 AI 助手,名为 WinGPT。”


(资料图)

也就是说,WinGPT 能让30年前推出的 Windows3.1也用上 ChatGPT!

这是怎么做到的?

诞生于1992年的 Windows3.1,是微软在31年前发布的操作系统,如今早已被时代淘汰并遗忘,因而想要让 Windows3.1接入 ChatGPT,在30年前的电脑上实现和 AI 聊天的功能,听起来就像是“天方夜谭”——所以,@dialupdotnet 究竟是如何做到的?

根据 @dialupdotnet 介绍,WinGPT 是用 C 语言编写的,使用标准的 Windows API,此外:“我用 Open Watcom v2作为编译器(Open Watcom v2可以在从 Windows3.1开始的任何16位或32位版本的 Windows 上运行),非常方便,因为它甚至支持从 Windows11交叉编译到16位 Windows。”

值得一提的是,WinGPT 还使用2018年发布的加密标准 TLS1.3来原生连接到 OpenAI API 服务器,因此不需要用具有现代操作系统的代理机器来建立和维护通信。不过 @dialupdotnet 也坦诚道:“这种实现方法并不安全。”

“艰难”地构建 UI

作为一名如今生活在2023年的开发者,@dialupdotnet 早已习惯用 Delphi 来构建像 Windle 这样的 Windows 应用程序,因此猛然间只能用内置的 Windows API 时,他深感不便:“我很惊讶 Windows3.1的 UI 构建功能竟会如此原始。”

为此,@dialupdotnet 直接用 C 语言构建了大部分 UI,即每个 UI 组件都必须用代码手动构建,更要手动调整逻辑大小,以确保每个组件在窗口被调整时都能保持其适当的大小。

这还不是最难的。当 @dialupdotnet 试图弄清如何在 WinGPT 中添加状态栏时,他发现 Windows3.1上可供程序使用的标准控件集也非常之有限:“除了按钮、复选框、单选按钮、编辑框,另外一些你可能需要的其他控件,包括那些在操作系统本身中使用的控件,都是不可用的。”

例如,明明状态栏在 Windows3.1中随处出现,文件管理器和控制面板中都有,但微软并未将其作为可用控件提供给开发者。直到 Windows95,微软才将这些控件与进度条、工具条和树形视图等其他一些有用控件,广泛地提供给应用开发人员。

对于这个问题,@dialupdotnet 问了 ChatGPT 如何在 Windows3.1程序中添加状态栏,但它的回答是一个只存在于 Windows 后期版本中的头文件。就算 @dialupdotnet 继续追问,ChatGPT 也只是“编造”出了一个不存在的 UI 库的名字。

好在最后状态栏的问题,@dialupdotnet 还是自己想办法解决了:Philip J. Erdelsky 有一个1997年的状态栏实现,并且代码是开源的,@dialupdotnet 对其进行了修改,使其看起来更贴近 Windows3.1应用中的状态栏。

在构建 WinGPT 的 UI 过程中,还有一个有趣的点:在 Borland 图像编辑器中设计图标,它实际上是微软 Paint 的一个克隆,只不过恰好可以制作 ICO 文件。通过 Borland 图像编辑器,@dialupdotnet 共设计了两种规格的图标:32x32的,该规格图标才能在 Windows3.1的程序管理器和任务切换器中显示;16x16的,用于在后来的 Windows 版本上显示。

WinGPT 有一定限制

一些准备就绪后,WinGPT 就创建完成了。不过毕竟 @dialupdotnet 的“古董电脑” Gateway4DX2-66购于30年前,尽管 WinGPT 能在 Windows3.1上运行,电脑内存也相当有限。

“我试图减少 WinGPT 所需的内存,特别是在发送和接收 OpenAI API 的查询和响应时。”但 @dialupdotnet 指出现代 API 的 JSON 响应在大小上并没有特别优化,OpenAI API 也不例外:“我已经要求模型尽量简短,以使响应尽可能的少,我还选择在 API调用中不发送前一轮的文本。但这也就意味着,聊天机器人无法使用先前的对话背景。”

简单来说:由于内存支持有限,WinGPT 只能接收简短的回复,聊天内容也无法联系上下文。

尽管如此,对此感兴趣的网友也可以像 @dialupdotnet 一样,翻出家中蒙尘已久的 Windows3.1电脑,前往 https://www.dialup.net/ 网站下载 WinGPT,尝试一场跨越30年的 AI 对话。

需要注意的是,虽然 WinGPT 可以在 Windows3.1之后的任何16位或32位版本的 Windows 上运行,但它需要通过 Winsock 实现,也不支持64位版本的 Windows。此外,用户还需要输入自己的 OpenAI API 密钥才能运行 WinGPT。

参考链接:

https://www.dialup.net/wingpt/

https://www.theregister.com/2023/06/27/retro_chatgpt_for_windows/

(举报)

标签:

生活指南
  • 南京银行06月29日被沪股通减持184.59万股 每日关注

    06月29日,南京银行被沪股通减持万股,最新持股量为亿股,占公司A股总

  • 静态市盈率高好还是低好?动态市盈率是负的说明什么 全球新视野

    静态市盈率高好还是低好?静态市盈率表示公司需要累积多少年的盈利才

  • 参考!省内可以报哪里?图解30所高校去年在粤投档最低排位

    6月28日起,广东考生开始进入高考志愿填报时间。院校往年在粤招生的投

  • 美语呱呱的使用说明_美语呱呱

    1、安装后没有正常打开使用。2、可以完全卸载后再次安装,如还不行则是

  • 盘中异动 | 国泰中证动漫游戏ETF涨2.37% 全球新要闻

    国泰中证动漫游戏ETF(516010)6月29日盘中涨2 37%,最新单位净值为1 4

  • 世界快看点丨北向资金今日净卖出40.72亿元 昆仑万维净买入额居首

    6月28日,北向资金今日净卖出亿元。贵州茅台、宁德时代、金山办公分别

  • 企退工人30年工龄能拿多少钱?需要判断是否存在视同缴纳年限

    假设该企退人员没有视同缴纳年限,所在地上年度在岗职工月均工资为6600

  • 蜀葵花的形态特征是什么?蜀葵花的主要价值是什么?

    蜀葵花的形态特征是什么?二年生直立草本,高达2米,茎枝密被刺毛。

  • 湖北省江陵县“荣誉书记”聚力乡村振兴|微速讯

    湖北省江陵县“荣誉书记”聚力乡村振兴---近年来,湖北省江陵县大力开

  • 金山毒霸热点怎么关闭?如何取消金山毒霸会员? 天天观察

    金山毒霸热点怎么关闭?1、点击金山毒霸右上角的菜单按钮,然后选择

  • 《训诫三则·聂隐娘》亮相天桥艺术中心太极芭蕾牵手演绎侠女传奇

    6月23日晚,由郑杰担任导演和编舞的舞蹈剧场《训诫三则·聂隐娘》在北

  • 德国反对欧盟用俄被冻结资产帮乌重建

    据英国《金融时报》等媒体6月26日报道,针对欧盟提出的利用俄罗斯被冻

  • 汽车改气好吗?汽车油改气的利与弊是什么?

    汽车改气好吗?改气,对于很多车主来说,能够减少自己的开支,毕竟现

  • 灵璧县三举措打通秸秆综合利用循环产业链

    近年来,灵璧县全面推进农作物秸秆综合利用,“变废为宝”打造生态农业

  • 全球快播:导线是什么?导线和导体有什么区别?

    导线是什么?用作电线、电缆的材料导线,指的是用作电线、电缆的材料

  • 东北证券:收到中国证监会《行政处罚决定书》

    东北证券6月25日晚间公告,近日公司收到中国证监会《行政处罚决定书》

  • 民生
    • 农业农村部:6月29日“农产品批发价格200指数”比昨天下降0.21个点 当前时讯

    • 瑞纳智能公司介绍?瑞纳智能公司待遇怎么那么高?-微资讯

    • 环球百事通!招行哪些信用卡值得办?招行白金信用卡好办吗?

    • 刘诗诗妈妈是做什么工作?刘诗诗的妈妈出生年月日是什么?