太神奇了,1984 年的电脑也能用上 ChatGPT

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

046fa26c4c73bae5fdb78a33ec715519.jpeg

新加坡的逆向计算爱好者 Yeo Kheng Meng 发布了一个 “doschgpt” ChatGPT 客户端,这个客户端适用于上世纪八十年代的 MS-DOS 系统。

目前这个 DOS 系统的 ChatGPT 客户端已成功在 1984 年的 IBM 5155 便携式 PC 上运行,这台机子配备 4.77Mhz 主频的 Intel 8088 CPU 和 MS-DOS 6.22 系统,带 640KB 内存、以及 CGA ISA 图形。

4cc21fac17f79ce218e93ee403112002.jpeg

Yeo 老哥是个不折不扣的 “复古守旧派”,早在 2019 年他就为 Windows 3.1 开发了一个 Slack 客户端,这次更是把 1981 年的 MS-DOS 纯文本操作系统和最新的 ChatGPT 两个跨了 40 多年的东西组合到一块。

最有意思的是整个程序的开发过程, Yeo 老哥先是找到一个能开发 16 位 DOS 程序的 “Open Watcom” C/C++ 编译器 ,它本身是一个 32 位程序,这意味着它可以在 64 位 Windows 11 等现代平台上运行。

但是 64 位的 Windows 又没法执行 16 位的 DOS 程序,而每次都在 640K 内存的老电脑上跑测试也并不是很现实。于是 Yeo 开一个运行 DOS 6.22 的 Virtualbox 虚拟机,然后将虚拟机和主机桥接网络,方便传输文件进行开发和测试,等测试完成后再把二进制文件传到实际的 IBM PC 上运行。

424e8033637455f43cc781efd815ffac.png

但这时另外一个问题来了:如何在这么老的 IBM PC 上处理网络?  在这一步 ,Yeo 找到了一个 1983 年的 Packet Driver API ,然后使用开源的 MTCP 库集成到应用程序中,以与 Packet Driver 进行通信,从而为客户端启用网络功能。

394768a1adcd01bee0f6a5e2401cea65.png

而要使用 ChatGPT API,必须要有一个 Post 请求,然而 DOS 没有可以使用的辅助函数,必须用 C 语言手动构建整个 POST 请求:

#define API_CHAT_COMPLETION "POST /v1/chat/completions HTTP/1.1\r\nContent-Type: application/json\r\nAuthorization: Bearer %s\r\nHost: api.openai.com\r\nContent-Length: %d\r\nConnection: close\r\n\r\n%s"
#define API_BODY "{ \"model\": \"%s\", \"messages\": [{\"role\": \"user\", \"content\": \"%s\"}], \"temperature\": %.1f }"

这时 ChatGPT API 会返回一份 JSON 输出,需要解析其中 “Content” 键的值。很明显,这一步也没有现成的 JSON 库可用,只能手动写键值对的解析代码。

c176ffd692f4433e7157ad3e19860a04.png

这时新的问题来了:ChatGPT API 通过 HTTPS 加密,但 DOS 系统没有本机 HTTPS, Yeo 只能编写一个 go 语言的 HTTP 到 HTTPS 代理 (有点像中间服务器),然后在现代 PC 上运行这个代理。充当一个透明中间人。它检查 HTTP 请求的主机字段,并将原始套接字字节作为 HTTPS 转发到 OpenAI 的服务器。

afa2dbc5b0d51bdbac7a086cf810976b.png

这一步有点像作弊,但属实是无奈之举,毕竟要在 Intel 8088 上运行现代 TLS 加密算法,属实是太难为这个传家宝系列的 CPU 了。

剩下的就是如何将对话内容读 / 写输入到控制台,这一步不再赘述,感兴趣的朋友可以在 Yeo 的博客中查看完整的开发过程。最终实现的效果:

cfe217061175bc9ba0b8232fa0675314.jpeg

Yeo 已经把整个 doschgpt 客户端在 Github 上开源,里面有详细的教程,感兴趣的朋友可以自己动手试试(前提是家里有 MS-DOS 系统的传家宝机器😂...)

另外,这回图拉丁老哥们有话说了,还在嫌弃机子的配置不行?处理器低于 3.0 Ghz 不能用?人家怎么就能在 4.77Mhz 的 CPU 上跑 ChatGPT ?还不是自己动手能力太差!还是那句话,东西老点差点怎么了,又不是不能用!

相关链接:https://github.com/yeokm1/doschgpt

本文转载自:「OSC开源社区」,原文:https://tinyurl.com/ybte449e,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

c9be8f0ecb8eb5fa0d3dba521a4fd0b1.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

c6d166caca6cbdc89efc8c2559ca587f.png

你可能还喜欢

点击下方图片即可阅读

78a03c13cc379b89246e6a6cabcdad84.png

11 款超赞的 MySQL 图形化管理工具,推荐收藏!

531c43d25944fb284e9695605b610644.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

311ff9acffe2ea710f01a931bd634dcf.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7484.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用ChatGPT做一款二次元卡牌游戏!完成度超90%,即将开放源码!

1.0 游戏策划设计 孙二喵,继上次借助ChatGPT做了一个3D小游戏后,很多朋友问,AI可以做大型项目么?还是仅限于简单的小游戏。 *AI生成的3D小游戏 所以二喵准备接着用 AI 设计一款中型体量的卡牌游戏,发布到微信小游戏和海…

【关于ChatGPT的30个问题】2、ChatGPT是如何工作的?/ By 禅与计算机程序设计艺术

2、ChatGPT是如何工作的? ChatGPT是如何工作的?写一篇文章,分2级目录,要10个目录,不少于5000字。markdown格式。 目录 ChatGPT是如何工作的? ChatGPT的工作原理

基于ChatGPT上线《你说我猜》小游戏

摘要 AIGC、GPT、休闲小游戏三者可以怎么结合? AIGC、GPT与小游戏的结合为游戏体验带来了新的可能性。AIGC(Artificial Intelligence Game Content)作为一种人工智能技术,可以自动生成任务、剧情和角色对话等游戏元素&#xff0c…

ChatGPT 又整活了,从零开始设计并实现一个类似数独的游戏 Sumplete

ChatGPT 又整活了。这次是从零开始设计并实现一个类似数独的游戏。 数独应该很多人都玩过,规则也很简单。 那能不能设计一款与数独类似的新游戏呢?国外有位叫 Daniel Tait 的工程师就想到了让 ChatGPT 来试试。经过几个小时与 ChatGPT 的对话&#xff0c…

50+ 可以帮助提高前端开发效率的 ChatGPT Prompts

大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 如果你已经厌倦了繁琐重复的编码日常,想要提升自己的效率,那你可是来对地方了!借助 ChatGPT 的强大能力,你可…

ChatGPT 前端 = 有点er意思

HOT! HOT! HOT! 🔥 🔥 🔥 首先我们先来看下最近的热度来的有多么的突然,那简直是太炸裂了,语言不好描述,我收集了一些常见平台的指数截图,大家可以感受一下: 点击跳转到百度指数 …

ChatGpt的学习报告

目录 前言 ChatGpt的简介 ChatGpt的功能 总结 前言 由openai开发的chatgpt席卷网络,它的可创作能力与对话应用达到了人工智能的前端,提升了程序员的可替代性,焦虑与恐慌占据了网络领域,但更有智者明白善用工具,才能…

尝新学术版ChatGPT!中科院chatGPT学术优化

尝新学术版ChatGPT!中科院chatGPT学术优化 尝新学术版ChatGPT!中科院chatGPT学术优化 尝新学术版ChatGPT!中科院chatGPT学术优化 主要参考这篇文章,写的很详细~ 执行过程中遇到了如下两个小问题 1,安装依赖 配置 req…

优化chatGPT提示词的Prompts

你扮演一个专业的chatGPT提示词工程师,我将为您提供我的提示词,它用三个反引号分隔,请根据openai发布的提示词标准和优化技巧,改进和优化我的提示词,让chatGPT能够更好的理解。 我的第一个提示词是:“”“……

ChatGPT系列之——中科院AcademicGPT学术优化

文章目录 零,指南相关网址友情链接 一,安装Git软件二,使用Git Bash克隆GitHub项目:三,配置config.py文件四,安装依赖方法一:系统安装方法二:虚拟环境安装(推荐&#xff0…

ChatGPT强化学习大杀器——近端策略优化(PPO)

ChatGPT强化学习大杀器——近端策略优化(PPO) 近端策略优化(Proximal Policy Optimization)来自 Proximal Policy Optimization Algorithms(Schulman et. al., 2017)这篇论文,是当前最先进的强…

中科院ChatGPT学术优化--超详细部署

文章目录 中科院ChatGPT学术优化--超详细部署下载项目git命令下载github下载 download zip 安装项目环境创建环境进入环境安装依赖 打开解压的项目配置API_KEY配置代理网络的地址 运行项目 中科院ChatGPT学术优化–超详细部署 项目地址:https://github.com/binary-husky/chatg…

4.网络爬虫—Post请求(实战演示)

网络爬虫—Post请求实战演示 POST请求GET请求POST请求和GET请求的区别获取二进制数据爬[百度官网](https://www.baidu.com/)logo实战 发送post请求百度翻译实战 使用session发送请求模拟登录17k小说网 常见问题 前言: 📝​📝​此专栏文章是专…

chatgpt赋能python:Python安装教程:一步步实现Python开发环境搭建

Python安装教程:一步步实现Python开发环境搭建 Python是一种高效、易读、易维护的编程语言。在人工智能、数据科学、Web开发等领域都有广泛的应用。如果你是一名初学者或Python开发者,本文将为你提供Python安装教程。 第一步:下载Python安装…

chatgpt赋能python:Python虚拟环境搭建指南

Python虚拟环境搭建指南 Python是一种广受欢迎的编程语言,它可以用于各种应用程序开发。Python语言优雅简洁,易于理解和学习。但是,当您在多台计算机上编写Python代码时,会遇到与环境设置和包依赖项相关的问题。 虚拟环境可帮助…

chatgpt赋能python:Python在线聊天:实现即时通讯的快速解决方案

Python在线聊天:实现即时通讯的快速解决方案 在当今数字时代,在线聊天已经成为人与人之间交流的主流方式。Python在线聊天应用程序提供了一种快速且可定制的解决方案,使个人用户和企业可以进行互联网通信。本文将向您介绍Python在线聊天的基…

chatgpt赋能python:Python读取聊天记录-如何轻松得到你需要的信息

Python读取聊天记录 - 如何轻松得到你需要的信息 如果你曾经需要从聊天记录中获取信息,你肯定知道这是一个非常繁琐和耗时的过程。但是,如果你会使用Python,它将会是一个轻松的过程。在本文中,我们将介绍如何使用Python读取聊天记…

chatgpt赋能Python-如何用python聊天

介绍 Python是一种广泛使用的编程语言,用于构建各种应用程序和工具。它也是一个非常有效的工具,可用于开发聊天应用程序。Python具有丰富的库和框架,这些库和框架可以帮助您轻松地构建聊天应用程序。 在本文中,我们将介绍如何使…

chatgpt赋能python:Python聊天机器人库——让你的聊天机器人变得更智能

Python聊天机器人库——让你的聊天机器人变得更智能 随着人工智能技术的快速发展,聊天机器人已经成为了现代人们生活中不可或缺的一个工具。而Python作为一门具备丰富生态的高级计算机语言,也提供了很多强大的聊天机器人库供开发者使用。在本文中&#…

chatgpt赋能python:Python微信聊天:打造高效便捷的聊天工具

Python微信聊天:打造高效便捷的聊天工具 在当今社会,微信已经成为了生活中必不可少的沟通工具之一。为了更好地享受微信带来的沟通便利,许多人开始利用Python语言开发微信聊天工具,来方便自己的工作和生活。本文将介绍Python微信…